替團隊挑 Agent 框架,打開官方文件,會一再看到長任務、子代理(subagent)、記憶、MCP、核准(approval)這幾個詞。差別藏在預設值:誰的規劃預設關著,誰的壓縮(compaction)要自己設門檻,誰的指令工具要另外裝套件。這篇把 12 份文件放進同一張表,六項能力沿用本系列第 1 篇的分法。文中的駕馭層(harness)指包在模型外面、替 agent 預先接好規劃、檔案、子代理、壓縮、記憶與權限的那層執行環境(定義見本系列第 1 篇)。
快速回答 截至 2026 年 10 月,12 個框架的官方文件可歸成三路:Codex SDK、GitHub Copilot SDK、Claude Agent SDK、Deep Agents、Pi 直接附現成駕馭層;Strands、Microsoft Agent Framework、Pydantic AI 在基礎層外另出一層駕馭層;Google ADK、OpenAI Agents SDK、Vercel AI SDK、LangGraph 以基礎元件為主。想少組裝,先看第一路。分路是本站歸納,採用前請重查。
這張卡的四條結論,後面各有一節展開。先記一件事:表裡的「預設開」與「預設關」是 2026 年 10 月 23 日的文件狀態,有幾格在近幾個月內改過。
12 個框架放在同一張表,六項能力各家怎麼支援?
12 個框架在六項能力上的預設差異很大,下表是 2026 年 10 月 23 日逐份文件核對的結果。六項能力是規劃、檔案與指令、子代理、壓縮、記憶與技能、外部工具與把關,定義見本系列第 1 篇。
讀表前先交代三件事。路線欄是本站歸納,其他欄寫的都是文件內容。「文件未說明」指本篇查閱的頁面沒有寫,框架可能在別的頁面或套件裡支援。這 12 個框架是本篇挑的,沒收其他框架,不代表它們較差;本篇只讀官方文件與官方 repo,沒有實測。
- 現成
- 內建,事件 turn/plan/updated
- 內建,指令在沙箱內跑
- 內建,預設啟用
- 內建,可設自動門檻
- AGENTS.md、skills、本機 memories
- MCP、hooks、沙箱加核准
- Apache-2.0
- Rust;SDK:TypeScript、Python
- 現成
- 內建,狀態存 plan.md
- 內建,讀寫與 shell 過權限回呼
- 內建,自訂 agent 與 fleet mode
- 預設開,背景壓縮
- skills 目錄載入;跨 session 檢索可用
- MCP、hooks、權限回呼
- SDK 為 MIT;CLI 另有授權
- TypeScript、Python、Go 等 6 種
- 現成
- 任務工具;Opus 4.7 等較舊模型預設開,較新模型要自己開
- 內建 Read、Edit、Bash 等
- 內建 Agent 工具
- 內建自動壓縮
- CLAUDE.md、Skills
- MCP、權限模式、hooks
- Python 庫 MIT;TypeScript 庫保留所有權利;使用受商業條款規範
- Python、TypeScript
- 現成
- 選用,v0.7 起預設關
- 虛擬檔案系統;execute 要沙箱
- 內建,隔離 context
- 內建摘要與卸載
- AGENTS.md、SKILL.md
- MCP、interrupt_on、權限規則
- MIT
- Python、JavaScript/TypeScript
- 現成(極簡)
- 無,官方說省略 plan mode
- 預設 read、bash、edit、write
- 無,官方說省略
- 內建自動壓縮
- AGENTS.md、Agent Skills
- MCP(CLI 內建);無權限系統
- MIT
- TypeScript
- 兩層並存
- 駕馭層預設有 todos
- 駕馭層有 shell 與讀寫
- 駕馭層內建 subagent 工具
- 駕馭層摘要並卸載工具結果
- 駕馭層預設開 skills、memory
- MCP、guardrails、工具呼叫閘門
- Apache-2.0
- Python、TypeScript
- 兩層並存
- Harness 預設有 todo 與 plan 模式
- 檔案記憶預設;存取選用;shell 另裝套件
- 背景 agent,選用、實驗性
- 給 token 上限或策略才啟用
- 檔案記憶;技能 .NET 預設、Python 選用
- MCP、工具核准、OpenTelemetry
- MIT
- Python、.NET;Go 預覽版
- 兩層並存
- Harness 套件的 Planning
- Harness 套件的 FileSystem、Shell
- Harness 套件的 Subagents
- 核心與 Harness 套件各有
- Harness 套件的 Memory、Skills
- MCP、核准、Guardrails
- MIT
- Python
- 基礎
- 原始碼有 planners 模組
- ExecuteBashTool,僅 Python、POSIX
- 多 agent 階層、Task API
- 內建,token 或滑動視窗
- MemoryService;Skills 為實驗性
- MCP、工具確認、callbacks
- Apache-2.0
- Python、TypeScript 等 5 種
- 基礎(含 SandboxAgent)
- 文件未說明
- SandboxAgent:Filesystem、Shell
- handoffs、agents as tools
- SandboxAgent 的 Compaction
- SandboxAgent 的 Memory、Skills
- MCP、guardrails、人工核准
- MIT
- Python、TypeScript
- 基礎(可轉接現成駕馭層)
- 文件未說明
- 另裝 tool-bash、sandbox 套件
- 文件有子代理做法,以工具呼叫
- 自組,prepareStep 可改訊息
- 記憶有三種做法;技能在駕馭層
- MCP、工具核准
- Apache-2.0
- TypeScript
- 基礎(低階)
- 由上層 Deep Agents 提供
- 由上層 Deep Agents 提供
- 由上層 Deep Agents 提供
- 文件未說明
- 短期與長期記憶;技能未說明
- 人工介入 interrupts;MCP 未說明
- MIT
- Python、JavaScript/TypeScript
表 1 12 個框架對照。來源:各框架官方文件與官方 repo,查閱於 2026-10-23。路線欄為本站歸納。
現成這一路的五個框架,預設各帶了什麼?
現成這一路的五個框架都附了檔案工具,差在規劃、子代理與權限這三處的預設。
Codex SDK 與 app server。 OpenAI 的 Codex 文件列了 TypeScript 與 Python 兩種 SDK,Python 版透過 JSON-RPC 控制本機的 app server。子代理在目前的 Codex 版本預設啟用,文件同時提醒成本:
"Because each subagent does its own model and tool work, subagent workflows consume more tokens than comparable single-agent runs." (OpenAI, Subagents, learn.chatgpt.com, 查閱於 2026-10-23)
指令跑在沙箱裡,沙箱管技術邊界,核准政策管什麼時候停下來問人。壓縮有兩種入口:app server 的 thread/compact/start 手動觸發,設定檔的 model_auto_compact_token_limit 設自動門檻,沒設就用預設值。記憶的位置文件寫明:本機 memories 只是回想層,必須遵守的團隊規則要放在 AGENTS.md 或進版控的文件。
GitHub Copilot SDK。 README 說 SDK 暴露的是 Copilot CLI 背後的同一個引擎,支援 TypeScript、Python、Go、.NET、Java、Rust 六種語言:
"you define agent behavior, Copilot handles planning, tool invocation, file edits, and more." (GitHub, copilot-sdk README, 查閱於 2026-10-23)
SDK 經 JSON-RPC 與 CLI 的 server 模式溝通;Node.js、Python、.NET 版內附 CLI,其餘三種要自己裝。FAQ 寫明使用需要 Copilot 訂閱,自備金鑰(BYOK)時不需要 GitHub 驗證;訂閱方案含有限用量的免費層,計費方式與 Copilot CLI 相同,每個提示計入用量額度。Node.js 版 README 說 session 預設啟用背景壓縮與工作區持久化(infinite sessions)。
Claude Agent SDK。 能力清單見本系列第 1 篇。選型看三件事:文件寫明未經事先同意,第三方開發者不得在自己的產品提供 claude.ai 登入或其速率限制,要用 API key;Python 套件庫的 LICENSE 檔是 MIT,TypeScript 庫的 LICENSE.md 寫「All rights reserved」;首頁與 Python README 都寫 SDK 使用受 Anthropic 商業條款規範。
Deep Agents。 LangChain 把它定位成開箱即用、有主見的 agent 駕馭層,建在 LangGraph 上。2026 年 7 月 29 日的 v0.7.0 調整了兩個預設值:create_deep_agent 不再預設加入規劃用的 TodoListMiddleware,預設提示詞改成精簡版,內建的基礎提示詞留空。README 的安全段這樣寫:
"Deep Agents follows a 'trust the LLM' model. The agent can do anything its tools allow." (LangChain, deepagents README, 查閱於 2026-10-23)
同一段接著建議把邊界設在工具或沙箱層。
Pi。 Earendil Works 的 Pi 自稱極簡、可擴充的 agent 駕馭層,預設四個工具(read、bash、edit、write),README 說它略過子代理與規劃模式,要用就自己裝套件或擴充。壓縮在 context 用量超過視窗減去 16,384 token(預設保留量)時自動觸發。權限一欄文件寫得最直接:
"Pi does not include a built-in permission system for restricting filesystem, process, network, or credential access." (Earendil Works, pi README, 查閱於 2026-10-23)
README 列了三種加邊界的做法:Gondolin 擴充(把內建工具導進本機 Linux micro-VM)、普通 Docker、OpenShell 政策沙箱。專案信任設定只管載入哪些專案資源,不限制工具呼叫。
工程上的意思: 現成駕馭層替你決定三件事:規劃開不開、子代理開不開、權限誰來管。從一個現成框架換到另一個時,先逐項比對這三個預設,再比工具名稱。
兩層並存的三個框架,現成那一層是什麼時候出現的?
Strands Agents、Microsoft Agent Framework、Pydantic AI 都把現成的駕馭層做成獨立的一層,三家的駕馭層都在 2026 年出貨。
Pydantic AI。 官方的 Pydantic AI Harness 套件在 2026 年 4 月 11 日發布 v0.1.0。文件的說法是,每個 Pydantic AI agent 本來就有一層輕量的駕馭層,也就是型別化的 agent 迴圈、任一模型、自己的工具與結構化輸出;agent 要跑長時間任務時,再從套件裡挑 capability 加上去,包括 Planning、Subagents、Memory、Skills、Guardrails 與壓縮策略。其中 Coder 是六個工具(read_file、write_file、edit_file、list_files、grep、shell)加 delegate_task 的組合,文件說它可以拆開用。
Microsoft Agent Framework。 Python 的 HarnessAgent 在 1.7.0(2026 年 5 月 28 日)加入。2026 年 7 月 21 日的 Python 1.12.0 與 .NET 1.14.0,把 create_harness_agent 與 HarnessAgent 從實驗升為穩定;同一天的版本也把檔案存取改成選用。文件註明背景 agent、檔案存取與迴圈仍是實驗性。預設值方面,todo 追蹤與 plan、execute 兩種模式預設開,壓縮要給 token 上限或自訂策略才啟用,技能在 .NET 預設開、在 Python 要自己加。
Strands Agents。 官方 repo 現在同時放駕馭層與 SDK 兩層。駕馭層的第一個 Python 版 v0.1.0 在 2026 年 9 月 21 日發布。create_harness() 回傳的是一個一般的 strands.Agent,預設附 shell 與讀寫檔工具、todos 外掛、subagent 工具、舊對話摘要與工具結果卸載、技能與長期記憶,工具呼叫的閘門(interventions)可設成 ask、smart 或 Cedar 政策檔。要自己掌握迴圈,就退一層用 SDK。
三家的駕馭層入口與出貨時間,整理成下表。入口依序是 Pydantic AI Harness 套件(含 Coder、Researcher 等完整 agent)、HarnessAgent(由 create_harness_agent 建立)與 create_harness()。
- Pydantic AI Harness 套件
- 2026-04-11(v0.1.0)
- 2026-10-23 已到 v0.60.0,併入 pydantic-ai repo
- HarnessAgent(create_harness_agent)
- 2026-05-28(Python 1.7.0 新增 HarnessAgent)
- 2026-07-21 升為穩定;檔案存取改選用
- create_harness()
- 2026-09-21(v0.1.0)
- 2026-10-22 已到 v0.3.2
表 2 三個兩層並存框架的駕馭層。來源:各框架 release 頁與官方文件,查閱於 2026-10-23。整理為本站歸納。
三家對駕馭層的位置寫法各自不同,後面「路線屬於整個框架,還是屬於其中一層?」一節會對照。
從基礎打造的四個框架,缺的能力要怎麼補?
四個框架各有補法:Google ADK 靠內建的壓縮、記憶與工具確認,OpenAI Agents SDK 靠 SandboxAgent,Vercel AI SDK 靠另裝套件與轉接現成駕馭層,LangGraph 把這些交給上層的 Deep Agents。
Google ADK。 ADK 2.0 的 README 主打兩樣東西:圖形化的 Workflow Runtime,與 agent 之間結構化委派的 Task API。語言版本有 Python、Java、Kotlin、Go 與 TypeScript。壓縮從 Python v1.16.0 起支援,策略有兩種,以 token 用量觸發為主,另有依對話輪數的滑動視窗;同時設定時優先走 token 版。技能從 Python v1.25.0 起,標示為實驗性。ExecuteBashTool 從 Python v1.27.0 起,文件寫明只支援 POSIX 系統。
OpenAI Agents SDK。 README 的核心概念包含 Agents、Sandbox agents、Tools、Guardrails、Human in the loop、Sessions 與 Tracing。v0.14.0(2026 年 4 月 15 日)以 beta 加入 Sandbox Agents,SandboxAgent 的 capabilities 預設是 Filesystem、Shell、Compaction;Skills 與 Memory 要自己加,Memory 還要求同時有 Shell。文件有兩個容易漏掉的細節:傳入 capabilities=[...] 會取代預設清單,想留的預設要自己列回去;本機的 UnixLocalSandboxClient 在 Linux 上不加任何作業系統層的限制。
Vercel AI SDK。 ToolLoopAgent 預設在 20 步後停止,文件建議明確設定 stopWhen。子代理頁直接寫:
"Subagents add latency and complexity." (Vercel, Subagents, ai-sdk.dev, 查閱於 2026-10-23)
文件另有一個駕馭層區,用 HarnessAgent 以同一套 API 轉接 Claude Code、Codex、Pi、Deep Agents、GitHub Copilot 等現成駕馭層,並註明這些套件仍是實驗性,版本之間可能有破壞性變更。
LangGraph。 README 把自己定位成低階的編排框架,需要規劃、子代理與檔案系統的人,指向建在它上面的 Deep Agents。Deep Agents 的 README 分了三層:要完整的規劃、context 管理與委派,用 Deep Agents;要輕量一點的駕馭層,用 LangChain 的 create_agent;agent 迴圈的形狀不合用、需要自訂圖,才降到 LangGraph。任何編譯好的 LangGraph 圖都能當 Deep Agent 的子代理。
四個框架的補法與要自己決定的設定,整理成下表。
- 規劃、檔案
- planners 模組;ExecuteBashTool
- 壓縮用 token 還是滑動視窗
- 規劃
- SandboxAgent 的 capabilities
- capabilities 清單;沙箱隔離強度
- 檔案、壓縮、技能
- tool-bash 等套件;駕馭層轉接
- stopWhen;要不要轉接現成駕馭層
- 規劃、檔案、子代理
- 上層的 Deep Agents
- 圖的形狀與狀態
表 3 基礎這一路的補法。來源:各框架官方文件,查閱於 2026-10-23。整理為本站歸納。
工程上的意思: 基礎這一路的「缺」是一份你得自己決定的清單。壓縮的觸發門檻、capabilities 要不要保留預設、沙箱的隔離強度,都是這一路必須動手設定的項目。
路線屬於整個框架,還是屬於其中一層?
依這 12 份文件,路線屬於分層:同一個品牌底下,駕馭層與基礎層可以各走一路。Strands、Microsoft、Pydantic AI 把兩層分開出貨;LangChain 的 Deep Agents 站在 LangGraph 上;Vercel 的基礎層另有轉接層,可以包住別人的駕馭層。
駕馭層(harness)這個詞,文件裡至少有三種用法。
"A harness is a complete agent runtime, such as Claude Code, Codex, or Pi." (Vercel, AI SDK Harnesses, ai-sdk.dev, 查閱於 2026-10-23)
"An agent harness ... is the runtime scaffolding that turns a language model into an agent that can perform work." (Microsoft, Agent Harness, learn.microsoft.com, 查閱於 2026-10-23)
"Every Pydantic AI agent already has a light harness" (Pydantic, Pydantic AI Harness, pydantic.dev, 查閱於 2026-10-23)
Vercel 指的是一個完整的產品,Microsoft 指的是產品裡的一層,Pydantic 連最簡單的迴圈也算一層。三種用法會讓「這個框架有沒有駕馭層」得到不同答案,所以本站以表中每一列的產品為單位分類:產品本身就是附預設工具、可直接執行的成品,歸現成;產品同時出貨基礎 SDK 與獨立入口的駕馭層,歸兩層並存;產品以元件為主,歸基礎。Vercel 的轉接層包的是別人的駕馭層,OpenAI 的 SandboxAgent 仍是同一個 SDK 裡的一種 agent,所以兩者歸基礎。
圖 2 的分類有一個邊界:三家的駕馭層都發布於 2026 年,文件也還在改。下次更新,我會先重查這三家的駕馭層入口與預設值。
選型時先問權限放哪、任務多長,再比六項能力
選型時先決定權限邊界放哪、任務會不會長到碰上 context 上限,再比六項能力。第一,權限邊界放在框架裡還是容器外。Codex 與 Claude Agent SDK 有內建的核准與權限模式;Pi 沒有內建權限系統,Deep Agents 的 README 說信任模型下邊界要設在工具或沙箱層。選後兩者,沙箱與工具層的限制要自己準備,這筆工要算進框架成本。第二,任務會不會長到碰上 context 上限。任務在十幾步內結束時,我會用基礎這一路加一個單一 agent,不付現成駕馭層的預設成本;任務長了,才輪到比壓縮、子代理與記憶這三欄。這兩條是我的判斷;12 份文件都沒這樣建議,也沒有跨框架實測支持。從一個框架換到另一個時,我會先核對權限那一格:沒有內建權限系統的框架,換進去之後的邊界要整個重做,其他欄位的差異多半改設定就能補上。這是我的做法,沒有實測。
產品要讓客戶用自己的訂閱登入,先查各家文件。Claude Agent SDK 的文件在 2026-10-23 寫明,未經事先同意不得提供 claude.ai 登入;這是現行規定,採用前要重讀。
這張表還填不出來的三件事
這張表還答不了三件事:好不好用、預設值會不會再改、授權細節。
第一,「有這項能力」與「這項能力好用」之間沒有數據。12 份文件沒有任何一份附跨框架的對照實測,本篇也沒有實測,所以表上沒有誰比誰好。
第二,預設值還在動。Deep Agents 在 2026 年 7 月把規劃改為選用,Microsoft Agent Framework 同月把檔案存取改為選用,Vercel 的駕馭層套件仍標實驗性。下次更新要重查的是 Deep Agents 的規劃、Microsoft Agent Framework 的檔案存取、Vercel 的駕馭層套件這三格,以及 Strands 的駕馭層在 v0.3 之後的預設。
第三,授權條款只讀了摘要。表中的授權欄是 repo 的授權檔與文件首頁的說法,Copilot CLI 的授權、Anthropic 商業條款的細節,沒有逐條核對,商用前要請法務確認。
框架看完了,下一篇是系列最後一篇,回到一位中文作者的四篇系列文章,看他的主張在這張表上找不找得到落點。
常見問題
Claude Agent SDK 可以讓客戶用自己的 Claude 訂閱登入嗎?
文件寫的是未經事先同意,第三方開發者不得在自己的產品提供 claude.ai 登入或其速率限制,要改用 API key 驗證。這是 2026 年 10 月 23 日查閱的版本,條款可能更新。
LangGraph 和 Deep Agents 該選哪一個?
LangChain 的 README 建議:要現成的規劃、context 管理與委派,用 Deep Agents;想要較輕的駕馭層,用 create_agent;agent 迴圈的形狀不合用、需要自訂圖,才降到 LangGraph。三者可以並用,編譯好的 LangGraph 圖可以當 Deep Agent 的子代理。
Pi 沒有權限系統,要怎麼安全地用?
Pi 的 README 建議把它放進容器或沙箱,並列出三種做法:Gondolin 擴充把內建工具導進本機 micro-VM,普通 Docker 跑整個 Pi,OpenShell 提供政策管控的沙箱。專案信任設定只管載入哪些專案資源,不限制工具呼叫。
表裡寫「文件未說明」,是不是代表框架不支援?
不能這樣推論。它只表示本篇查閱的頁面沒有寫,框架可能在其他頁面或套件裡支援。採用前,到該框架的官方文件搜尋該能力的關鍵字,再看最近一次發版說明。
GitHub Copilot SDK 要付費嗎?
README 的 FAQ 寫明需要 GitHub Copilot 訂閱,自備金鑰(BYOK)時不需要 GitHub 驗證。訂閱方案含有限用量的免費層,計費方式與 Copilot CLI 相同,每個提示計入用量額度。
延伸閱讀
- Agent 駕馭工程懶人包 (1)|Deep Agent 有哪些內建能力?三家說法對成六項
- Claude Code、Codex、Gemini CLI 怎麼選?2026 三大 AI Coding 工具完整比較
- MCP server 該不該裝?安裝前一定要做的權限檢查(2026 資安懶人包)
參考資料
- OpenAI, Codex SDK(查閱於 2026-10-23) https://developers.openai.com/codex/sdk
- OpenAI, Subagents、Memories、Codex App Server(查閱於 2026-10-23) https://learn.chatgpt.com/docs/agent-configuration/subagents https://learn.chatgpt.com/docs/customization/memories https://learn.chatgpt.com/docs/app-server
- OpenAI, codex repo README 與 LICENSE(查閱於 2026-10-23) https://github.com/openai/codex
- GitHub, copilot-sdk repo 與 docs(查閱於 2026-10-23) https://github.com/github/copilot-sdk
- Anthropic, Agent SDK overview、Tools reference(查閱於 2026-10-23) https://code.claude.com/docs/en/agent-sdk/overview https://code.claude.com/docs/en/tools-reference
- LangChain, Deep Agents overview(查閱於 2026-10-23) https://docs.langchain.com/oss/python/deepagents/overview
- LangChain, deepagents v0.7.0 release notes(2026-07-29) https://github.com/langchain-ai/deepagents/releases/tag/deepagents%3D%3D0.7.0
- LangChain, langgraph README(查閱於 2026-10-23) https://github.com/langchain-ai/langgraph
- Earendil Works, pi README 與 containerization 文件(查閱於 2026-10-23) https://github.com/earendil-works/pi https://github.com/earendil-works/pi/blob/main/packages/coding-agent/docs/containerization.md
- Strands Agents, harness-sdk repo;harness-python v0.1.0(2026-09-21) https://github.com/strands-agents/harness-sdk https://github.com/strands-agents/harness-sdk/releases/tag/harness-python%2Fv0.1.0
- Google, Agent Development Kit README 與 Context compression(查閱於 2026-10-23) https://github.com/google/adk-python https://adk.dev/context/compaction/
- Microsoft, Agent Harness(查閱於 2026-10-23) https://learn.microsoft.com/en-us/agent-framework/concepts/harness
- Microsoft, Agent Framework python-1.12.0、dotnet-1.14.0 release notes(2026-07-21) https://github.com/microsoft/agent-framework/releases/tag/python-1.12.0 https://github.com/microsoft/agent-framework/releases/tag/dotnet-1.14.0
- OpenAI, Agents SDK README 與 Sandbox agents guide;v0.14.0(2026-04-15) https://github.com/openai/openai-agents-python https://openai.github.io/openai-agents-python/sandbox/guide/ https://github.com/openai/openai-agents-python/releases/tag/v0.14.0
- Pydantic, Pydantic AI Harness(查閱於 2026-10-23);v0.1.0(2026-04-11) https://pydantic.dev/docs/ai/harness/ https://github.com/pydantic/pydantic-ai-harness/releases/tag/v0.1.0 https://pypi.org/project/pydantic-ai-harness/
- Vercel, AI SDK Harnesses、Subagents、Loop Control(查閱於 2026-10-23) https://ai-sdk.dev/docs/ai-sdk-harnesses/overview https://ai-sdk.dev/docs/agents/subagents https://ai-sdk.dev/docs/agents/loop-control
留言0
登入後就能留言。
登入