四種多 agent 機制按「想做什麼」對應,不是疊加越多越好——選錯機制比少用一個更傷效率。版本相依細節(env name、/branch vs /fork alias 行為、subagent fork 啟用條件)以官方 docs 為準。

該怎麼選

想做什麼為什麼
單點研究 / 審查 / 隔離輸出Subagent獨立 context 不繼承主對話,結果回主線;適合用後即丟
多人分工 / 平行 review-fix / 長任務Agent Teams各自獨立 context 但共享 task list / mailbox 可互傳訊
中途開支線 / 不想重講背景Forked subagent繼承當前 session 對話,最後回主線;省 prompt-context 重建成本
多 agent 同時改檔避免互踩上述 + Git worktrees每 agent 各有 working tree;subagent 沒留下變更時 worktree 自動清掉

怎麼啟用 / 觸發

  • Subagent:Claude 依 description 自動 delegate;/agents 管理或建立自訂;claude agents CLI 列出所有
  • Agent Teams:experimental,需先在 settings 啟用;之後自然語言告訴 Claude「create an agent team」即可
  • Forked subagent:experimental,需啟用 fork mode;用 /fork <directive> 觸發(未啟用時 /fork = /branch 只分對話不 spawn)
  • Git worktreesclaude --worktree <name> CLI flag,或 subagent frontmatter isolation: worktree

實際 env var 名、版本要求、/fork 在不同 mode 下行為差異請查官方 docs(會隨版本變動)。

踩坑

  • Subagent vs Forked subagent 容易混:差別只在「要不要繼承當前對話」——要從零開始選 Subagent,要接著聊選 Forked subagent
  • Agent Teams 不是跨家族 LLM:teammate 是獨立 Claude Code session(可混搭 Sonnet / Opus / Haiku),但仍是 Claude 家族;想跨家族(GPT / Gemini)獨立視角看 codex-plugin-cc
  • worktree 不解決 race condition:兩個 agent 改不同檔不互踩沒錯,但改同一個邏輯區塊(如 schema migration)還是會撞——分支策略要先想好