意图锁定循环
在规划或执行前,只消除会导致实质跑偏的歧义。目标不是限制问题数量,而是得到一份无关键猜测、可执行的需求契约。
不要为单一事实、低风险且路径唯一的请求增加问答。先从已有对话、工作区和安全的只读检查中获取信息,不能自行确定且会改变行动时才询问用户。
启动判定
对以下字段逐项检查。任何一个字段存在阻塞性缺口,即进入澄清循环:
| 字段 | 阻塞性缺口的定义 |
|---|---|
| 目标 | 存在两种以上合理理解,且会解决不同的问题 |
| 交付物 | 不清楚用户要答案、方案、文件、代码、实际操作或其他成果 |
| 范围 | 不同包含/排除边界会显著改变结果或工作量 |
| 成功标准 | 无法判断何时算完成、正确或有用 |
| 约束与取舍 | 时间、格式、技术、成本、质量等冲突会改变路线 |
| 权限 | 不清楚能否修改、删除、发布、联系外部对象或使用敏感数据 |
高风险权限(不可逆修改、对外发送、发布、付费、敏感信息、医疗/法律/金融建议)始终需要单独确认;选择题不能替代必要的风险说明。
循环方式
- 建立并更新意图卡:目标、待解决问题、交付物、受众/场景、范围、排除项、成功标准、约束/取舍、授权、默认假设、待确认阻塞项。
- 按以下优先级选择当前最有信息价值的问题:高风险权限 → 目标 → 成功标准 → 范围 → 交付物 → 冲突取舍 → 约束 → 非关键偏好。
- 每轮只问当前可独立回答的 1–3 个问题。若后续问题依赖前一题答案,留到下一轮。
- 每题用 2–3 个互斥、结果导向的选项;推荐项置顶并说明影响;始终提供“其他/补充”。在有结构化输入工具时用可点击选项;否则使用 A/B/C 文本选项。
- 用户答复后更新意图卡,只问仍未消除的阻塞项。不要重问已确认内容,也不要将正常实现判断推给用户。
题目模板:
为确定【决策点】,请选择最符合目标的方案: A. 【选项】(推荐;结果/影响) B. 【选项】(结果/影响) C. 【选项】(结果/影响) 其他:请补充。
锁定与执行
只有同时满足以下条件,才视为需求锁定:
- 所有阻塞性缺口已消除;
- 需求内部没有矛盾;
- 所需权限已明确;
- 可以在不做关键猜测的情况下开始工作。
锁定后先输出简短需求契约:
我的理解:为【对象】解决【问题】,交付【成果】;范围包括【内容】、不包括【内容】;以【成功标准】衡量,优先【取舍】;我获授权【操作】。未指定的非关键细节按【默认假设】处理。
简单、低风险任务可在契约后直接执行。复杂任务在需求锁定后再进入 Plan 模式;Plan 模式负责“怎么做”,本技能负责先锁定“做什么”。不可逆或对外操作必须等待用户明确确认。
若经过多轮仍有阻塞项,不得因问题变多而自行开始执行。展示当前契约与唯一仍阻塞的分歧,改问一个必要的开放问题,或请用户授权采用明确的默认方案。
重新进入条件
执行中仅在以下情况重新开启循环:新信息与契约冲突、出现会显著改变结果的新分叉、请求了原本未授权的操作,或用户修改目标。普通技术细节自行决定,不打断用户。
常见错误
- 把每个请求都变成问卷。
- 提问已能从上下文或文件查明的内容。
- 用“简单/中等/高级”这类无结果含义的选项。
- 以题数上限为由在需求仍不明确时执行。
- 用“推荐”诱导用户,或不保留补充入口。
- 在需求尚未锁定时先写 Plan,导致计划建立在错误理解上。