使用 Agent view 管理多個代理
從一個螢幕分派和管理許多 Claude Code 工作階段。Agent view 顯示每個工作階段正在做什麼,以及哪些需要您的輸入。
Agent view(使用 claude agents 開啟)是所有背景工作階段的一個螢幕:什麼正在執行、什麼需要您的輸入,以及什麼已完成。分派新工作階段,一目瞭然地查看它們的狀態,而不是滾動瀏覽記錄,並且只在需要時才介入。工作階段在沒有終端連接的情況下在背景中繼續執行。
當您有多個獨立任務 Claude 可以同時處理時,請使用 agent view,例如修復錯誤、審查拉取請求或調查日誌。當您想一起解決問題時,附加到工作階段並像往常一樣以互動方式使用 Claude Code。工作階段在 agent view 中獨立執行,並且只向您報告。若要與 subagents、agent teams 和 worktrees 進行比較,請參閱 平行執行代理。
Agent view 是研究預覽版本,需要 Claude Code v2.1.139 或更新版本。使用 claude --version 檢查您的版本。隨著功能的發展,介面和快捷鍵可能會改變,管理員可以使用 disableAgentView 受管設定為組織禁用 agent view。
本頁涵蓋:
- 快速開始
- 使用 agent view 監控工作階段,包括狀態圖示、查看和回覆、附加、組織和快捷鍵
- 分派新代理,從 agent view、從工作階段內部或從 shell
- 從 shell 管理工作階段
- 背景工作階段如何被託管,由監督程序
快速開始
本逐步解說開啟 agent view、分派工作階段、從查看面板回覆,以及附加到完整對話。
開啟 agent view
從您的 shell,執行:
claude agents
Agent view 開啟,底部有輸入框,隨著工作階段啟動,表格會填入。隨時按 Esc 退出。您的工作階段繼續執行。
分派工作階段
在輸入框中輸入提示,然後按 Enter。新工作階段啟動並顯示為一行,顯示它是否正在工作、等待您或已完成。重複此操作以並行執行任意數量的工作階段。
查看和回覆
使用箭頭鍵選擇一行,然後按 Space 查看工作階段正在做什麼或需要您提供什麼。輸入回覆並按 Enter 發送,無需離開 agent view。
附加和分離
在一行上按 Enter 或 → 以在需要完整對話時附加。工作階段接管終端,就像您執行了 claude 一樣。在空提示上按 ← 分離並返回表格。
要將現有互動工作階段帶入 agent view,在其中執行 /bg,或在空提示上按 ← 以在一個步驟中背景化工作階段並開啟 agent view。工作階段在背景中繼續執行並顯示為一行。要直接從 shell 啟動新背景工作階段,執行 claude --bg "<prompt>"。
您可以使用 claude agents 作為主要進入點而不是 claude:從 agent view 分派每個任務,在需要完整對話時附加,然後按 ← 返回表格。
使用 agent view 監控工作階段
執行 claude agents 開啟 agent view。它接管整個終端並列出按狀態分組的每個工作階段,固定的工作階段和需要您的工作階段在頂部。每行顯示工作階段的名稱、當前活動和上次更改的時間。
該列表對您的機器是全局的,包括每個背景工作階段,無論它在哪個專案或 worktree 中工作。您在其他終端中開啟的互動工作階段在您 背景化它們 之前不會出現,subagents 在工作階段內執行時不會列為單獨的行。
Pinned
✽ clawd walk cycle Write assets/sprites/clawd-walk.png 3m
Ready for review
∙ jump physics github.com/anthropics/example/pull/2048 2h
Needs input
✻ power-up design needs input: double jump or wall climb? 1m
Working
✽ collision detection Edit src/physics/CollisionSystem.ts 2m
✢ playtest level 3 run 12 · all checkpoints cleared in 4m
Completed
✻ title screen result: menu, options, and credits done 9m
∙ sound effects result: 14 SFX exported to assets/audio 4h
… 6 more
圖示告訴您工作階段的狀態:
| 圖示 | 狀態 | 含義 |
|---|---|---|
| 動畫 | 工作中 | Claude 正在主動執行工具或生成回應 |
| 黃色 | 需要輸入 | Claude 正在等待您的輸入,通常是權限決定或答案 |
| 淡化 | 閒置 | 工作階段正在等待輸入,但不會被特定問題阻止 |
| 綠色 | 已完成 | 任務成功完成 |
| 紅色 | 失敗 | 任務以錯誤結束 |
| 灰色 | 已停止 | 工作階段已使用 Ctrl+X 或 claude stop 停止 |
圖示的形狀告訴您底層程序是否仍在執行。✻ 或在 Claude 工作時的動畫 ✽ 表示工作階段處於活動狀態,您可以立即回覆。∙ 表示程序已退出,但您仍然可以查看、回覆或附加:Claude 從中斷的地方重新啟動工作階段。✢ 是 /loop 工作階段在迭代之間休眠,行顯示其執行計數和下一次迭代的倒計時。
背景工作階段不需要任何開啟的終端即可繼續工作。單獨的 監督程序 執行它們,因此您可以關閉 agent view、關閉 shell 或啟動新的互動工作階段,您分派的工作會繼續進行。
工作階段在磁碟上持久化:關閉終端或自動更新不會丟失它們,重新開啟 claude agents 會顯示它們全部。如果您的機器進入睡眠或關閉,執行中的工作階段會停止;使用 claude respawn --all 重新啟動它們。
每行中的單行摘要由您配置的 Haiku-class 模型 生成,因此該行可以告訴您工作階段正在做什麼、需要什麼或生成了什麼,無需開啟記錄。每個摘要是通過您的正常提供者的一個簡短 Haiku-class 請求,按照與工作階段本身相同的 資料使用條款 計費和處理。
當工作階段開啟拉取請求時,該行顯示 PR 連結和其 CI 檢查的狀態指示器。對於大多數任務,此行是您收集工作的方式:當其檢查通過時審查並合併拉取請求。
查看和回覆
在選定的行上按 Space 開啟查看面板。它顯示工作階段需要您提供什麼、其最近的輸出以及它開啟的任何拉取請求。大多數時候這就足夠了,您永遠不需要開啟完整記錄。
在查看面板中輸入回覆並按 Enter 將其發送到該工作階段。當工作階段詢問多選問題時,查看面板顯示選項,您可以按數字鍵選擇一個。對於其他被阻止的工作階段,按 Tab 用建議的回覆填充輸入,您可以在發送前編輯。使用 ! 前綴回覆以發送 Bash 命令。
使用 ↑ 和 ↓ 查看相鄰工作階段而無需關閉面板,或按 → 附加。
附加到工作階段
在選定的行上按 Enter 或 → 附加,或按 Alt+1 到 Alt+9 直接附加到焦點組中的第 N 個工作階段。Agent view 被完整的互動工作階段替換,就像您在該目錄中執行了 claude 一樣。附加時,Claude 發佈您離開時發生的簡短回顧。
附加時,工作階段的行為與任何其他 Claude Code 工作階段相同:每個 命令、快捷鍵和功能都有效。
在空提示上按 ← 分離並返回 agent view。如果對話框有焦點且不響應 ←,按 Ctrl+Z 立即分離。
分離永遠不會停止背景工作階段:←、Ctrl+C、Ctrl+D、Ctrl+Z 和 /exit 都會讓它繼續執行。要從內部結束工作階段,執行 /stop。
使用 agent view 後,在空提示上按 ← 可從任何 Claude Code 工作階段工作,而不僅僅是您附加的工作階段。它開啟 agent view,預先選擇您的當前工作階段,因此您可以在不離開終端的情況下切換工作階段。
組織列表
Agent view 按狀態分組工作階段,需要輸入的工作階段在工作或完成的工作階段上方。按 Ctrl+S 改為按目錄分組。您的選擇在執行中保存。在組內,使用 Ctrl+T 將工作階段固定到頂部,使用 Shift+↑ 和 Shift+↓ 重新排序,或在組標題上按 Enter 摺疊它。要移除工作階段,按 Ctrl+X 停止它,然後在兩秒內再次按 Ctrl+X 刪除它。在組標題上按 Ctrl+X 會在確認後刪除該組中的每個工作階段。
較舊的已完成工作階段摺疊為「… N 更多」行以保持列表簡短。失敗和具有開啟拉取請求的工作階段始終保持可見。
篩選列表
在分派輸入中輸入以篩選而不是分派:
| 篩選 | 顯示 |
|---|---|
a:<name> |
執行命名代理的工作階段 |
s:<state> |
給定狀態中的工作階段,例如 s:blocked 表示需要您的工作階段 |
#<number> 或 PR URL |
在該拉取請求上工作的工作階段 |
快捷鍵
在 agent view 中按 ? 查看每個快捷鍵。最常見的:
| 快捷鍵 | 動作 |
|---|---|
↑ / ↓ |
在行之間移動 |
Enter |
附加到選定的工作階段,或如果輸入中有文字則分派 |
Space |
開啟或關閉選定工作階段的查看面板 |
Shift+Enter |
分派並立即附加 |
→ |
附加到選定的工作階段 |
Alt+1..Alt+9 |
附加到焦點組中的第 N 個工作階段 |
Tab |
瀏覽所有 subagents,或應用突出顯示的建議 |
Ctrl+S |
在狀態和目錄之間切換分組 |
Ctrl+T |
固定或取消固定選定的工作階段 |
Ctrl+R |
重命名選定的工作階段 |
Ctrl+G |
在您的 $EDITOR 中開啟分派提示 |
Ctrl+X |
停止工作階段;在兩秒內再次按以刪除它 |
Shift+↑ / Shift+↓ |
重新排序選定的工作階段 |
Esc |
關閉查看面板、清除輸入或退出 |
Ctrl+C |
清除輸入;按兩次退出 |
? |
顯示所有快捷鍵 |
分派新代理
您可以從 agent view 分派新的背景工作階段、將現有互動工作階段發送到背景,或直接從 shell 啟動一個。
從 agent view
在 agent view 底部的輸入框中輸入提示,然後按 Enter 啟動新的背景工作階段。工作階段從提示自動命名。您稍後可以使用 Ctrl+R 重命名它。將圖像粘貼到提示中以包含螢幕截圖或圖表與任務。
前綴或提及提示的部分以控制工作階段如何啟動:
| 輸入 | 效果 |
|---|---|
<agent-name> <prompt> |
如果第一個單詞與自訂 subagent 名稱匹配,該 subagent 以工作階段的主代理身份執行,其 frontmatter 中的配置 |
@<agent-name> |
在提示中的任何地方提及自訂 subagent 以將其作為主代理執行 |
@<repo> |
提及您開啟 agent view 的目錄下的存儲庫以在那裡執行工作階段 |
/<skill> |
建議 skills 作為提示分派 |
#<number> 或拉取請求 URL |
如果工作階段已在該 PR 上工作,選擇它而不是分派 |
Shift+Enter |
分派並立即附加到新工作階段 |
輸入 / 分派 skill。將重複任務打包為 skill 可讓您從 agent view 多次啟動相同的工作流程,無需重新輸入提示。在空輸入上按 Tab 瀏覽每個可分派的 subagent,或在顯示建議時應用突出顯示的建議。
分派到特定目錄
新工作階段在您開啟 agent view 的目錄中執行。要針對不同的目錄:
- 在該目錄中開啟
claude agents。 - 在包含多個存儲庫的父目錄中開啟
claude agents,並在提示中使用@<repo>提及一個以在那裡執行工作階段。 - 從 shell,
cd進入目錄並執行claude --bg "<prompt>"。
當 agent view 按目錄分組時,突出顯示的行的目錄成為分派目標,因此您可以滾動到組並在其中分派,無需重新輸入路徑。
在 worktree 中隔離檔案編輯
從 agent view 分派的工作階段預設共享您的工作目錄,因此兩個代理編輯相同檔案可能會衝突。為了防止這種情況,Claude Code 阻止從 agent view 分派的工作階段寫入檔案,直到它移動到隔離的 git worktree。當 Claude 需要編輯檔案時,它會自動處理此問題。worktree 在專案目錄內的 .claude/worktrees/ 下建立,當您刪除工作階段時移除。刪除工作階段也會刪除其 worktree,因此在刪除前合併或推送您想保留的更改。
要使 subagent 始終在其自己的 worktree 中執行,無論如何啟動,請在其 frontmatter 中設定 isolation: worktree。
從工作階段內部
執行 /background 或其別名 /bg 分離當前對話並保持其執行。傳遞提示,例如 /bg run the test suite and fix any failures,在分離前發送一個額外的指令。
從 shell
傳遞 --bg 啟動直接進入背景的工作階段:
claude --bg "investigate the flaky SettingsChangeDetector test"
要執行特定 subagent 作為工作階段的主代理,將 --bg 與 --agent 結合:
claude --agent code-reviewer --bg "address review comments on PR 1234"
背景化後,Claude 列印工作階段的短 ID 和管理它的命令:
backgrounded · 7c5dcf5d
claude agents list sessions
claude attach 7c5dcf5d open in this terminal
claude logs 7c5dcf5d show recent output
claude stop 7c5dcf5d stop this session
從 shell 管理工作階段
每個背景工作階段都有一個短 ID,您可以從 shell 使用。這些命令對於指令碼編寫或當您不想開啟 agent view 時很有用。
| 命令 | 目的 |
|---|---|
claude agents |
開啟 agent view |
claude attach <id> |
在此終端中附加到工作階段 |
claude logs <id> |
列印工作階段的最近輸出 |
claude stop <id> |
停止工作階段。也接受 claude kill |
claude respawn <id> |
重新啟動已停止的工作階段,保持其對話完整 |
claude respawn --all |
重新啟動每個已停止的工作階段 |
claude rm <id> |
從列表中移除工作階段 |
背景工作階段如何被託管
背景工作階段由每個使用者的監督程序託管,與您的終端和 agent view 分開。它在您第一次背景化工作階段或開啟 agent view 時自動啟動,您不直接管理它。監督程序及其工作階段使用與互動工作階段相同的認證進行身份驗證,並且除了模型 API 外不進行額外的網路連接。
每個背景工作階段都是其自己的 Claude Code 程序,父級是監督程序而不是您的終端。正在主動工作、等待您的輸入或已連接終端的工作階段保持其程序執行。一旦工作階段完成並在未附加的情況下閒置約一小時,監督程序停止其程序以釋放資源。記錄和狀態保留在磁碟上,下次您附加、查看或回覆時,監督程序從中斷的地方啟動新程序。當每個工作階段都完成且沒有終端連接時,監督程序本身退出,並在下次您背景化工作階段或開啟 agent view 時再次啟動。
監督程序監視磁碟上已安裝的 Claude Code 二進位檔案,並在常規 自動更新程序 替換它後重新啟動到新版本。這是本地檔案監視,不是網路檢查。背景工作階段是分離的程序,因此它們在重新啟動期間繼續執行,新監督程序重新連接到它們。
工作階段狀態存儲在您的 Claude Code 配置目錄下。如果您設定 CLAUDE_CONFIG_DIR,監督程序改用該目錄而不是 ~/.claude,並作為具有其自己工作階段的單獨實例執行。
| 路徑 | 內容 |
|---|---|
~/.claude/daemon.log |
監督程序日誌 |
~/.claude/daemon/roster.json |
執行中的背景工作階段列表,用於在重新啟動後重新連接 |
~/.claude/jobs/<id>/state.json |
在 agent view 中顯示的每個工作階段狀態 |
要完全關閉背景代理和 agent view,將 disableAgentView 設定 設為 true 或設定 CLAUDE_CODE_DISABLE_AGENT_VIEW 環境變數。管理員可以通過 受管設定 強制執行此操作。
故障排除
Agent view 開啟時沒有工作階段
Agent view 在您分派第一個工作階段之前為空。在底部的輸入框中輸入提示並按 Enter。
機器喚醒後工作階段顯示為已停止
背景工作階段不能在睡眠或關閉後存活。附加、查看或回覆任何已停止的工作階段,它會從中斷的地方重新啟動。要一次重新啟動所有工作階段,執行 claude respawn --all。
附加後工作階段響應緩慢
一旦工作階段完成並在未附加的情況下閒置約一小時,監督程序停止其程序以釋放資源。附加啟動從中斷的地方開始的新程序,這需要一些時間。正在工作或等待您的工作階段永遠不會以這種方式停止。
.claude/worktrees/ 正在填滿
當您刪除建立 worktrees 的工作階段時,worktrees 會被移除。如果工作階段在沒有清理的情況下結束,在專案目錄中使用 git worktree list 列出剩餘條目,並使用 git worktree remove <path> 移除每個。請參閱 清理 worktrees。
限制
Agent view 是研究預覽版本。要注意的當前限制:
- 速率限制適用:背景工作階段與互動工作階段一樣消耗您的訂閱使用量,因此並行執行十個代理的使用配額速度快十倍。
- 工作階段是本地的:背景工作階段在您的機器上執行,如果它進入睡眠或關閉則停止。
- Worktrees 隨工作階段刪除:在刪除在其自己的 worktree 中編輯檔案的工作階段之前,合併或推送更改。
後續步驟
現在您了解了 agent view,探索這些相關功能:
- 在平行中執行代理:比較 agent view 與 subagents、agent teams 和 worktrees
- Subagents:使用自訂提示、工具和隔離定義可重用的代理配置
- Agent teams:協調相互傳遞訊息的多個工作階段
- Claude Code on the web:在受管雲環境中執行工作階段,而不是本地執行