交接按钮与手动提示 | AI生成和翻译
现在我有全貌了。以下是区别:
== “开始实施”按钮 vs 手动提示 ==
交接按钮(planAgentProvider.ts:225-231):
startImplementationHandoff = {
label: '开始实施',
agent: 'agent', // 切换到主编码代理
prompt: '开始实施',
send: true, // 自动发送提示
model: implementAgentModelOverride // 可选模型切换
}
当您点击”开始实施”时:
-
模式切换 — 调用
workbench.action.chat.toggleAgentMode,从计划代理切换到主代理(编码)模式。 -
自动发送 — 自动发送”开始实施”作为用户消息(
send: true)。您无需输入任何内容。 - 完整对话历史传递 — 这是关键区别。实施代理会收到完整的规划对话:包括所有 Discovery 研究、Alignment 问答、设计迭代和优化轮次。代理拥有以下上下文:
- Explore/Search 子代理发现了什么
- 哪些问题被提出并得到了回答
- 考虑了哪些备选方案并拒绝了哪些
- 最终批准的计划
- 模型覆盖 — 可通过
ConfigKey.ImplementAgentModel设置为实施使用不同的模型。计划阶段可能使用较便宜的模型进行研究,实施阶段使用更强的模型。
手动添加 plan.md 并提示”执行它”:
-
无模式切换 — 您停留在当前的任何模式中。如果您仍在计划代理模式下,它将拒绝实施(”您的唯一职责是规划。绝不要开始实施。”)
-
您必须在代理模式下 — 您需要先手动切换到代理模式,然后附加 plan.md 并输入您的提示。
- 仅 plan.md — 代理只看到计划文档本身。它看不到:
- 研究 Discovery 阶段的发现
- 问答 Alignment 讨论
- 探索过并拒绝的内容
- 决策背后的推理
plan.md 是一个摘要;对话是完整的上下文。
-
您自己的提示 — 您可以编写任何内容。可以是”仅实施步骤1”或”执行此操作但跳过测试”。控制更多,但自动化程度较低。
- 无模型覆盖 — 使用代理模式配置的任何模型。
== 实际影响 ==
交接更丰富,因为实施代理获得了完整的规划转录作为对话历史。手动提示时,它只获得 plan.md 文件——一个压缩的产物。对于复杂的计划,其中”为什么”很重要(研究过程中发现的边缘情况、讨论过的权衡),交接保留了该上下文。对于简单的计划,其中 plan.md 是自包含的,差异很小。
交接还具有第二个选项:”在编辑器中打开”,它会创建一个包含计划的未命名文件,供您在实施前进一步编辑。