中繼模式
中繼模式告訴 agent 要如何處理你的下一則訊息:先詢問、只做規劃、像一般的程式設計 agent 一樣工作,或一路做下去不停下來。你在輸入區中為每一則訊息選擇模式,所以你可以在一則訊息中做規劃,再在下一則訊息中讓 agent 實作。
四種模式 #
| 模式 | agent 會做什麼 |
|---|---|
| ask | 開始實作之前先提出釐清問題,在答案會影響結果的地方不會自行猜測。 |
| plan | 草擬計畫,除非你要求,否則不會實作。允許閱讀程式碼。 |
| agent | 以互動式程式設計 agent 的方式工作,並使用它的工具。需要釐清時,會透過提問卡片詢問。這是預設模式。 |
| autopilot | 直接依照請求行動並一路做下去。只有在真的需要你的輸入才能繼續時才會詢問。 |
在任何模式下,提問都會顯示為提問卡片。即使在 autopilot 中,agent 也被告知在真的需要你時要以這種方式詢問。
在 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 對話仍會顯示全部四種模式,但它們在那裡沒有作用。
模式對 agent 工具的影響 #
relay_。 在 ask 和 plan 中,relay_tool 的每個寫入動作(tool send、create_、session answer_、question stop、archive)都會先以提問卡片詢問你。在 agent 和 autopilot 中則不會,除非適用該工具的其他規則。- 沒有人回答的提問卡片。 卡片逾時後,agent 會收到:「[No user response before timeout — continue according to the current relay mode.]」之後它會怎麼做,取決於 agent 和該模式的指示。逾時時間本身寫在 ask_user 頁面上。
依供應商 #
每種模式都是對 agent 的請求;有些供應商還會強制執行其中一部分。下表顯示各供應商如何執行模式。
| 供應商 | plan | ask | autopilot | agent |
|---|---|---|---|---|
| GitHub Copilot 與 OpenAI,SDK 引擎 | 原生計畫模式,加上提示中的指示。任何非唯讀的動作都會被拒絕。 | 提示中的指示。每個非唯讀的動作都會先詢問你。 | 原生 autopilot 模式,加上提示中的指示。 | 一般模式,加上提示中的指示。 |
| GitHub Copilot 與 OpenAI,擴充功能引擎 | 只有提示中的指示。 | 只有提示中的指示。 | 只有提示中的指示。 | 只有提示中的指示。 |
| Claude | Agent SDK 的計畫權限模式。 | 加入系統提示。 | 加入系統提示。 | 預設行為。 |
| Claude Cloud | 沒有模式。 | 沒有模式。 | 沒有模式。 | 唯一的模式。 |
| DeepSeek 0.9.17 新增 | 與 Claude 相同。 | 與 Claude 相同。 | 與 Claude 相同。 | 與 Claude 相同。 |
| Cursor | SDK 的原生計畫模式。 | 訊息文字中的指示。 | 訊息文字中的指示。 | 預設,不加入任何內容。 |
| Grok | 訊息文字中的指示。 | 訊息文字中的指示。 | 訊息文字中的指示。 | 預設,不加入任何內容。 |
| OpenAI Image | 沒有作用。 | 沒有作用。 | 沒有作用。 | 沒有作用。 |
GitHub Copilot 與 OpenAI,SDK 引擎 #
這個引擎執行得最嚴格。除了指示之外,OAR 還會把模式傳給 Copilot runtime(plan 作為計畫模式,autopilot 作為 autopilot 模式,其他則作為一般的互動模式),並自行決定每一個權限請求:
- 只做讀取的請求在每種模式下都會被核准。
- 在 agent 和 autopilot 中,其他所有請求都會被核准。
- 在 plan 中,其他任何請求都會被拒絕。agent 會被告知對話處於計畫模式、允許讀取,而它應該改為描述變更,或請你切換到 agent 模式。
- 在 ask 中,其他任何請求都會顯示一張提問卡片「Copilot wants to run: ... Approve this action?」,附有 Approve(核准)和 Deny(拒絕)。你可以輸入理由來代替按 Deny,agent 會收到這個理由。如果卡片逾時仍無人回答,agent 會被告知沒有人在。
在這個引擎上,如果某個回合中沒有任何動作被核准,而回覆讀起來像計畫,ask 中的回覆也會產生 Plan ready(計畫已就緒)看板。
權限檢查依照開啟執行中回合的那則訊息的模式。如果你在該回合執行期間以另一種模式傳送訊息,agent 會被告知新的模式,但核准和拒絕會維持在第一個模式,直到回合結束。
GitHub Copilot 與 OpenAI,擴充功能引擎 #
模式以訊息開頭的文字送達 agent。在這個引擎上,OAR 不設定任何 Copilot 模式,也不檢查任何權限,所以模式執行得多嚴格,取決於 agent 是否遵循指示。當 agent 以計畫結束 plan 回合時,仍會產生 Plan ready 看板。
Claude #
- plan 使用 Agent SDK 自己的計畫權限模式,所以由供應商強制執行。agent 完成計畫時,看板會出現,回合也會結束,等你審閱。agent 不會順勢進入實作。
- ask 和 autopilot 是加入系統提示中的句子。agent 不加入任何內容。
- 在所有模式下,Claude 執行每個工具都不會詢問你。ask 不會把工具的使用變成核准;它是讓 agent 提出問題。
模式變更會在下一則開始回合的訊息生效。你送進仍在執行中回合的訊息不會變更模式,不論選擇器顯示什麼;新的模式從之後的回合開始套用。系統提示在 session 處理程序啟動時就已固定。如果那裡沒有任何東西在執行,切換到 ask 或 autopilot,或從它們切換出來,會立即啟動新的處理程序。當背景任務或排入佇列的後續訊息仍在進行時,回合會改用先前的提示執行,所以 ask 和 autopilot 可能要等它們結束後才會生效(plan 不論哪種情況都會立即切換)。
Claude Cloud #
Claude Cloud 對話沒有中繼模式。session 在雲端自己的權限模式下執行,輸入區也會隱藏選擇器。
DeepSeek #
0.9.17 新增 DeepSeek 對話在中繼主機上執行 Claude Code,所以它接收模式的方式與 Claude 對話完全相同:plan 是 Claude Code 的計畫權限模式,最後會出現 Plan ready for review 看板;ask 和 autopilot 會加入系統提示;模式變更也在相同的時間點生效。
Cursor #
- plan 會在 SDK 的原生計畫模式中執行訊息。其他每種模式都以一般的 agent 模式執行。
- SDK 沒有放置常駐指示的地方,所以對於 ask 和 autopilot,OAR 會在你的訊息前面加上一行以
[Relay mode: ...開頭的文字。它只在模式變更時這麼做。當你從這兩種模式之一切換到另一種模式時,下一則訊息會帶有一行文字,說明先前模式的指示已不再適用。] - 當最終回覆看起來像計畫時,計畫回合會顯示 Plan ready 看板。
Grok #
Grok 沒有 OAR 可以設定的模式。除了 agent 之外的三種模式,都是透過你訊息前面的一行 [Relay mode: ... 運作,在模式變更時加上。這也包括 plan:agent 會被要求在變更程式碼之前先產生計畫,並列出步驟而不是實作。但沒有任何機制能阻止它照樣編輯檔案,而且在每種模式下,OAR 都會核准 Grok 提出的每一個權限請求。當最終回覆看起來像計畫時,計畫回合會顯示 Plan ready 看板。
OpenAI Image #
圖片對話會把你的提示送到 OpenAI Images API,而它沒有模式的概念。模式在那裡沒有作用。
模式變更時 #
模式從下一則訊息起套用。在模式變更時加入指示的供應商(Copilot、Cursor、Grok)上,指示會一直有效,直到你再次變更模式;以相同模式傳送的後續訊息不會再次帶上它。對於已經在執行的回合,請見上方 Claude 下的說明(也適用於 DeepSeek),以及 GitHub Copilot 與 OpenAI 的 SDK 引擎下的說明。至於其他供應商,本頁沒有說明。