中继模式
中继模式告诉智能体如何处理你的下一条消息:先询问、只做计划、像普通编程智能体一样工作,还是一路做下去不停下来。你在输入区中为每条消息选择模式,因此可以在一条消息里做计划,在下一条消息里让智能体实施。
四种模式 #
| 模式 | 智能体做什么 |
|---|---|
| ask | 开始实施前先提出澄清问题;在答案会影响结果的地方不做猜测。 |
| plan | 起草一份计划,除非你要求,否则不去实施。允许阅读代码。 |
| agent | 作为交互式编程智能体工作,并使用它的工具。需要澄清时,通过提问卡片询问。这是默认模式。 |
| autopilot | 直接按请求行动并持续推进。只有在确实离不开你的输入时才询问。 |
任何模式下的提问都会显示为提问卡片。即使在 autopilot 中,智能体也会被告知在真正需要你时以这种方式询问。
在 plan 中,回复结尾会在计划下方显示一个 Plan ready for review(计划已就绪,待审阅)看板,带有 Implement in autopilot(以 autopilot 实施)、Stop here and prompt myself(到此为止,我自己写提示词)和 Stop here(到此为止)三个操作。前两个会设置对话的模式(第一个设为 autopilot,第二个设为 agent),并发送一条执行该计划的消息。Stop here 不发送任何内容,模式保持为 plan。见计划看板。
选择模式 #
- 输入区有一个 Mode(模式)选择器,选项为 Agent、Ask、Plan 和 Autopilot。所选模式适用于你接下来发送的消息。
- 你可以在任意两条消息之间更改模式。每条消息都带有你发送时所选的模式。
- 所选模式按对话保存。再次打开某个对话时,选择器会显示该对话上次使用的模式。
- 新对话以你在此浏览器中上次选择的模式开始;如果你从未选择过,则为 Agent。
- 在分享的只读视图和 Claude Cloud 对话中,选择器是隐藏的。OpenAI Image 对话仍会显示全部四种模式,但它们在那里不起作用。
模式对智能体工具的影响 #
relay_。 在 ask 和 plan 中,relay_tool 的每个写操作(tool send、create_、session answer_、question stop、archive)都会先用提问卡片询问你。在 agent 和 autopilot 中则不会,除非该工具的其他规则适用。- 无人回答的提问卡片。 卡片超时后,智能体会收到:“[No user response before timeout — continue according to the current relay mode.]” 之后怎么做,取决于智能体和该模式的指令。超时本身见 ask_user 页面。
按提供商 #
每种模式都是对智能体的请求;有些提供商还会强制执行其中一部分。下表显示各提供商如何执行模式。
| 提供商 | plan | ask | autopilot | agent |
|---|---|---|---|---|
| GitHub Copilot 和 OpenAI,SDK 引擎 | 原生 plan 模式,外加一条提示词指令。任何非只读操作都会被拒绝。 | 提示词指令。每个非只读操作都会先询问你。 | 原生 autopilot 模式,外加一条提示词指令。 | 常规模式,外加一条提示词指令。 |
| GitHub Copilot 和 OpenAI,扩展引擎 | 仅提示词指令。 | 仅提示词指令。 | 仅提示词指令。 | 仅提示词指令。 |
| Claude | Agent SDK 的 plan 权限模式。 | 添加到系统提示词中。 | 添加到系统提示词中。 | 默认行为。 |
| Claude Cloud | 没有模式。 | 没有模式。 | 没有模式。 | 唯一的模式。 |
| DeepSeek 0.9.17 新增 | 同 Claude。 | 同 Claude。 | 同 Claude。 | 同 Claude。 |
| Cursor | SDK 的原生 plan 模式。 | 消息文本中的指令。 | 消息文本中的指令。 | 默认,不添加任何内容。 |
| Grok | 消息文本中的指令。 | 消息文本中的指令。 | 消息文本中的指令。 | 默认,不添加任何内容。 |
| OpenAI Image | 不起作用。 | 不起作用。 | 不起作用。 | 不起作用。 |
GitHub Copilot 和 OpenAI,SDK 引擎 #
这个引擎执行得最严格。除了指令之外,OAR 还会把模式传给 Copilot 运行时(plan 作为 plan 模式,autopilot 作为 autopilot 模式,其余作为常规交互模式),并自行决定每个权限请求:
- 只读的请求在每种模式下都会被批准。
- 在 agent 和 autopilot 中,其他所有请求都会被批准。
- 在 plan 中,其他所有请求都会被拒绝。智能体会被告知:该对话处于 plan 模式,允许读取,它应改为描述要做的更改,或请你切换到 agent 模式。
- 在 ask 中,其他所有请求都会显示一张提问卡片“Copilot wants to run: ... Approve this action?”,带有 Approve(批准)和 Deny(拒绝)。你可以输入一个理由来代替按 Deny,智能体会收到这个理由。如果卡片超时无人回答,智能体会被告知当时没有人在。
在这个引擎上,如果 ask 中的某一轮没有批准任何操作,且回复读起来像一份计划,该回复也会带出一个 Plan ready(计划已就绪)看板。
权限检查以开启当前这一轮的那条消息的模式为准。如果在这一轮运行期间你以另一种模式发送消息,智能体会被告知新模式,但批准和拒绝仍按第一个模式执行,直到这一轮结束。
GitHub Copilot 和 OpenAI,扩展引擎 #
模式以文本形式放在消息开头传给智能体。在这个引擎上,OAR 不设置 Copilot 模式,也不检查权限,因此模式执行得有多严格,取决于智能体是否遵循指令。当智能体以计划结束一轮时,plan 轮次仍会显示一个 Plan ready 看板。
Claude #
- plan 使用 Agent SDK 自身的 plan 权限模式,因此由提供商强制执行。智能体完成计划后,看板会出现,这一轮随即结束,等待你审阅。智能体不会顺势进入实施。
- ask 和 autopilot 是添加到系统提示词中的句子。agent 不添加任何内容。
- 在所有模式下,Claude 运行每个工具都不会询问你。ask 不会把工具使用变成审批,而是让智能体提出问题。
模式更改从下一条启动一轮的消息开始生效。你在仍在运行的一轮中发送的消息不会更改模式,无论选择器显示什么;新模式从下一轮起生效。系统提示词在会话进程启动时就已固定。切换到 ask 或 autopilot,或从它们切换出来时,如果该进程中没有任何东西在运行,会立即启动一个新进程。如果仍有后台任务或排队的后续消息,这一轮会改用之前的提示词运行,因此 ask 和 autopilot 可能要等这些结束后才生效(plan 无论哪种情况都会立即切换)。
Claude Cloud #
Claude Cloud 对话没有中继模式。会话在云端自身的权限模式下运行,输入区会隐藏选择器。
DeepSeek #
0.9.17 新增 DeepSeek 对话在中继主机上运行 Claude Code,因此它处理模式的方式与 Claude 对话完全相同:plan 是 Claude Code 的 plan 权限模式,并以 Plan ready for review 看板结束;ask 和 autopilot 会添加到系统提示词中;模式更改在相同的时机生效。
Cursor #
- plan 在 SDK 的原生 plan 模式下运行消息。其他所有模式都以常规智能体模式运行。
- SDK 没有放置常驻指令的地方,因此对于 ask 和 autopilot,OAR 会在你的消息前面加一行以
[Relay mode: ...开头的内容。它只在模式更改时这样做。当你从这两种模式之一切换到其他模式时,下一条消息会带一行说明,告知之前那个模式的指令不再适用。] - 当最终回复看起来像一份计划时,plan 轮次会显示一个 Plan ready 看板。
Grok #
Grok 没有可供 OAR 设置的模式。除 agent 之外的三种模式,都是通过在你的消息前面加一行 [Relay mode: ... 来实现的,这一行在模式更改时添加。plan 也是如此:智能体会被要求在更改代码前先拿出计划,并列出步骤而不是去实施。但没有任何机制能阻止它照样编辑文件,而且在每种模式下,OAR 都会批准 Grok 发出的每个权限请求。当最终回复看起来像一份计划时,plan 轮次会显示一个 Plan ready 看板。
OpenAI Image #
图片对话会把你的提示词发送给 OpenAI Images API,而该 API 没有模式的概念。模式在那里不起作用。
模式更改时 #
模式从下一条消息起生效。在模式更改时会添加指令的提供商(Copilot、Cursor、Grok)上,该指令会一直有效,直到你再次更改模式;之后以同一模式发送的消息不会再次携带它。对于已经在运行的一轮,请参阅上文 Claude(同样适用于 DeepSeek)以及 GitHub Copilot 和 OpenAI 的 SDK 引擎下的说明。对于其他提供商,本页不做说明。