所有頁面
本頁內容

Subagent

subagent 是 agent 在自己的回合中啟動的幫手,使用的是供應商本身的 subagent 或任務功能:例如搜尋整個程式碼庫、審閱單一檔案,或用另一個模型處理一件附帶工作。它負責任務的一部分,再把結果交回給 agent。OAR 會在對話紀錄中顯示每一個 subagent,並保留它做過的事,讓你看到 agent 是怎麼得出答案的。

這和 agent session 不一樣。subagent 存在於某個對話的某一個回合之內,沒有自己的對話。agent session 則是你清單中的一個獨立對話,由 agent 用 relay_tool 啟動。

在對話紀錄中 #

回合執行期間,每個 subagent 在該回合的即時氣泡內都有自己的氣泡。subagent 若又啟動了另一個 subagent,後者會巢狀顯示在它自己的氣泡裡。氣泡的標題列顯示:

部分 說明
名稱 subagent 的名稱或描述,以供應商回報的為準
最新步驟 一行文字,在氣泡收合時顯示:步驟數和最新的一步,例如 3 steps · 🛠️ Tool (Read): index.js;如果它還沒走任何一步,則顯示它文字的結尾。檔案路徑會截短成檔名
狀態 工作期間為 ● Running(執行中),之後顯示它的結束方式:Completed(已完成)、Failed(失敗),或者被你停止的 subagent 顯示 Cancelled(已取消)
Stop(停止) 停止這個 subagent。subagent 結束後按鈕就會消失。見停止 subagent

0.9.6 新增 氣泡一開始會收合成這個標題列,所以有很多 subagent 的回合捲動起來仍然很短。點選或點一下標題列的任何地方即可展開,看到 subagent 的思考、步驟和文字;再點一次就會收合。你手動做的選擇會保留,直到氣泡消失為止。

回合結束後,這些氣泡會讓位給完成的回覆。回覆下方會以列的形式列出該回合的 subagent,依啟動順序排列。由另一個 subagent 啟動的 subagent 不會列在這裡;你可以在其上層 subagent 的紀錄中找到它們。每一列顯示:

  • subagent 的名稱,點選即可開啟它的紀錄,
  • 它的狀態:Running、Starting(正在啟動)、✓ Completed、✗ Failed 或 ■ Stopped(已停止),適用時加上 in the background(在背景)和 record cut(紀錄已截斷),
  • 它的模型、類型(例如 Explore,沒有提供類型時為 Subagent)、用掉的 token,以及執行了多久。

只有 Claude 和 DeepSeek 會回報模型、類型和 token。在其他供應商上,這一列顯示 Subagent,並省略模型和 token。即時氣泡顯示為 Cancelled 的 subagent,在這一列會顯示 ■ Stopped;兩者意思相同。

Subagent 檢視器 #

0.9.10 新增 檢視器顯示單一 subagent 的完整紀錄:它的思考、它用什麼輸入呼叫了哪些工具、得到什麼結果、它寫下的文字,以及它自己啟動的 subagent,依發生順序排列。

開啟方式 #

點選 subagent 的名稱:

  • 在完成的回覆下方的列中,
  • 在輸入區上方的任務面板中,適用於在背景工作的 Claude 或 DeepSeek subagent(見背景任務),
  • 在另一個 subagent 紀錄中的子項列上。

即時回合中 subagent 的氣泡不會開啟檢視器。如果任務面板中列有 Claude 或 DeepSeek 的 subagent,就從那裡開啟,或者等完成的回覆把它列出來。

0.9.11 新增 在唯讀的分享檢視中,subagent 的列也會開啟它的紀錄,但為唯讀、沒有 Stop,而且中繼主機的路徑會和分享的其他內容一樣經過過濾。在 0.9.10 中,那裡的名稱只是純文字。

顯示內容 #

標題列包含名稱、subagent 執行期間的 Stop 按鈕,以及一行資訊:它的模型、類型、狀態、適用時的 background(背景)、token 和時間。下方的紀錄從頭開始排列:

項目 呈現方式
💭 思考 它的第一行。仍在撰寫中的思考會保持展開,在文字出現前顯示 Thinking…(正在思考…)
工具呼叫 一個圖示、工具名稱,以及一行摘要,例如指令或檔案。若內容不只摘要,點選即可看到完整輸入
結果 Result(結果)或 Error(錯誤)、它的大小,被截斷時還有 cut from(截斷自)原始大小(見限制)。點選即可閱讀文字
回覆文字 subagent 自己的文字,以格式化的 Markdown 顯示。文字傳入期間顯示 Writing…(正在撰寫…)
子 agent 和回覆下方相同的列。點選它的名稱即可開啟
註記 中繼自己加上的一行,例如說明紀錄已被截斷的那一行

仍在執行的紀錄會即時增長,並跟著捲到最後。如果你往上捲動,檢視器會停在你所在的位置,New entries ↓(新項目)按鈕會帶你回到下方。已完成的紀錄會從頂端開啟。你展開的項目在內容變動時仍會保持展開。

只有開著檢視器的頁面會在紀錄增長時接收內容。如果在連線緩慢時漏掉一批內容,或連線中斷,檢視器會自行補抓缺少的部分。

如果還沒有任何紀錄,它會顯示 Nothing recorded yet. Entries appear as the agent works.(尚無紀錄。agent 工作時會顯示項目。)已結束但沒有紀錄的 subagent,會顯示 Nothing was recorded for this agent.(此 agent 沒有紀錄。)中繼無法載入的紀錄則顯示 This agent's record could not be loaded.(無法載入此 agent 的紀錄。)

子項列會在原處開啟。左上角的按鈕(例如 ‹ Review agent)會標出上層 subagent 的名稱,並帶你回到它。不論用下列哪種方式關閉檢視器,都會回到對話,而不是回到上層 subagent。

要關閉它,按 ×、按 Escape、點選視窗外側,或使用瀏覽器或手機的返回。在手機上它會佔滿整個螢幕。

限制 #

項目 限制
一個工具結果 保留前 4 KB。該項目會註明原始大小
單一紀錄中的項目 2000 個。之後紀錄會以一則註記結尾,標題列會顯示 record cut at its limit(紀錄已於上限處截斷)
較舊的紀錄 檢視器出現之前建立的紀錄,會從已儲存的內容重建,並顯示 recorded before the full record existed(在完整紀錄推出前記錄)。這些紀錄較短

更新到 0.9.10 時已在執行的 Claude session,在它的 worker 重新啟動之前,不會記錄完整的 subagent 紀錄。在閒置的 session 上使用 ☠️ Kill session(強制結束 session)就夠了;下一則訊息會啟動新的 worker。

工具輸出保留多久 #

0.9.10 新增 subagent 的工具輸入和結果可能很大,所以中繼會把它們從舊紀錄中移除。紀錄本身絕不會被刪除,subagent 也會繼續列出。

Settings → General → Keep sub-agent tool output(設定 → 一般 → 保留 subagent 的工具輸出)設定輸入和結果保留多久。選項有 7 days(7 天)、14 days(14 天)、30 days(30 天)、90 days(90 天)和 Always(永久)。預設為 90 days。另見 Settings(設定)。

中繼啟動後不久,之後每天一次,它會檢查已不再執行的 subagent 中,最後一次寫入超過這麼多天的工具呼叫和工具結果:

  • 工具呼叫會保留它的一行摘要,並顯示 Input removed after 90 days(輸入已於 90 天後移除),天數為你選擇的數字;完整輸入則會刪除,
  • 工具結果或錯誤會保留它的大小,並顯示例如 Result · 3.2 KB · output removed after 90 days(結果 · 3.2 KB · 輸出已於 90 天後移除);它的文字會刪除,
  • 思考、subagent 的文字、註記和子 agent 都維持原樣。

仍在執行的 subagent 不論多舊都會保留全部內容。Always 會關閉清理。儲存設定後大約五秒會開始一次清理。調高天數時,已移除的輸入或結果不會回來。

在背景 #

subagent 可以在背景執行,所以在 agent 回答之後仍會繼續。這時它也會以一列出現在輸入區上方的任務面板中,並有自己的 Stop 按鈕。在 Claude 和 DeepSeek 上,點選面板中它的名稱會開啟檢視器。Copilot SDK 引擎上的背景 agent 只出現在面板中,沒有紀錄。面板如何運作、什麼會結束背景任務,以及逾時,見背景任務。Claude 或 DeepSeek subagent 的列會顯示 in the background,檢視器的標題列則顯示 background。它的紀錄在回合之間會持續增長。0.9.12 新增 在 Claude、DeepSeek 和 Copilot 的 SDK 引擎上,任務面板中 subagent 的列會像它收合的氣泡一樣計算步驟數(工具呼叫),例如 22 steps。

停止 subagent #

Stop 有兩個位置:回合執行期間在 subagent 的氣泡上,以及在檢視器的標題列中。兩處都會為任何執行中的 subagent 顯示它,不論供應商,也不論那個 subagent 能不能被停止。背景 subagent 也可以從任務面板停止。

可以單獨停止的有:

  • Claude 或 DeepSeek 上的背景 subagent,以及 Copilot SDK 引擎上的背景 agent(從任務面板)。
  • 其他都未經確認。在 Claude 或 DeepSeek 上於回合內執行的 subagent 無法單獨停止,Claude Cloud、Cursor 或 Grok 上的任何 subagent 也都不行。

subagent 無法停止時,點選的結果是被拒絕。氣泡的按鈕會變成 Stop unavailable(無法停止),subagent 的步驟中會出現一行以 System note: Could not stop this subagent(系統註記:無法停止此 subagent)開頭的文字。在檢視器中,按鈕會顯示 Stopping…(正在停止…)最多 15 秒,然後恢復為 Stop;它不會變成 Stop unavailable。這時請改用停止整個回合的 Stop;見回合執行期間。

停止成功時,subagent 在列和檢視器中會顯示 Stopped,在即時氣泡中則顯示 Cancelled。

依供應商 #

供應商 檢視器包含的內容 停止單一 subagent
Claude 全部:思考、每一個工具呼叫及其輸入和結果、文字、子 agent、模型、類型和 token 背景的 subagent
DeepSeek 0.9.17 新增 同 Claude。顯示的模型是 subagent 實際執行的 DeepSeek 模型、對話的模型,或者以 haiku 要求的 subagent 會使用 DeepSeek Flash;見 DeepSeek 背景的 subagent
GitHub Copilot 和 OpenAI,SDK 引擎 在回合內執行的 subagent:思考、步驟和文字,只有一層(沒有子 agent),沒有模型或 token。背景 agent 沒有紀錄,只有任務面板中的一列 背景 agent,從任務面板
GitHub Copilot 和 OpenAI,擴充功能引擎 擴充功能回報的內容;紀錄可能有缺漏 未經確認
Claude Cloud 思考和步驟,含子 agent。subagent 自己的文字不會公開 不行
Cursor 思考、步驟和文字,只有一層(沒有子 agent)。不回報工具結果 不行
Grok 只有 subagent 已啟動以及它如何結束。檢視器沒有它自己的內容可顯示 不行
OpenAI Image 不適用 不適用

完整的功能對照表在供應商一覽。