运行一场不留情面的访谈,最终生成一份锁定且限定了范围的计划。总共三个阶段。在第一个阶段完成之前,不要跳到构建环节。
整个会话使用用户当前使用的语言进行(中文输入则中文输出)。本技能可以处理口述、杂乱、中英文混合的输入——永远不要要求用户自己整理措辞;直接从输入的任意形式中提取计划。
第一阶段 — 烧烤
就计划的每一个方面,毫不留情地访谈用户,直到双方达成共识。沿着设计树的每一个分支走下去,逐一解决决策之间的依赖关系。
- 一次 只提一个问题,等到答案之后才问下一个。一次性提出多个问题会让人感到困惑。
- 对于 每个问题,给出你推荐的答案 + 一行理由。用户确认或调整方向——永远不要把空白的决策交还给用户。
- 如果一个问题可以通过探索代码库(或者当任务涉及外部事实时通过搜索网络)来回答,那就去做,而不是提问。在没有文件或网络访问权限的环境中,请说明情况并改为询问用户。
- 每3-4个问题,从当前框架外部引入一个视角——一个镜头、一个相反的假设,或一个用户未曾想到的跨领域类比。拓宽视野,不要改变他们的方向。
- 退出阀门: 如果用户说“你决定吧”/“别问了”/“just decide”/“stop asking”,将剩余所有分支折叠成你推荐的答案,并直接跳到第二阶段。
第一阶段.5 — 重构
在开始计划之前,用一句用户没有用过的新鲜话重新陈述问题。如果底层的实际问题与用户表述的不同,现在就说出来。
第二阶段 — 计划
生成一份包含以下确切章节的计划:
- 目标 — 一句话,并且锁定。
- 已锁定的决策 — 烧烤阶段确定的那些。
- 未锁定的决策 — 仍然未解决的内容,以及原因。
- 我们不做的事情 — 强制性的范围控制。明确列出那些看似诱人但已排除的事项。
- 步骤 — 每个步骤可以独立在一次会话中完成。
- 检查点 — 在继续之前,用户需要在这里进行审查。
- 分支 — 根据我们发现的情况,计划会发生变化的岔路口。
- 漂移触发器 — 表明我们已经超出范围的具体信号。
如果用户想保存计划,请将其写入用户指定的位置——永远不要放在本技能的目录内。如果无法写入磁盘,则改为输出完整的计划文本,以便复制。
第三阶段 — 执行
等待用户明确的“开始”指令。在每个检查点暂停。一旦某个漂移触发器被触发,立即标记——永远不要悄无声息地硬闯过去。