返回专栏
Agent SDK/06 · 对比/6.2

横向对比与选型建议

用两个坐标轴给六个产品定位:抽象层级(只提供原语,还是提供完整的 harness)和运行位置(在你的进程里,还是由厂商托管)。

预计阅读
9分钟
全文字数
2,095字
资料截至
2026-10-09
Agent SDK · 对比6.2
版本与时效声明
  • 本文是对前面各篇笔记的汇总与评价。表格中的事实都来自对应专题笔记,出处见各篇的参考资料;“评价”“建议”两类内容是笔者的观点。

  • 各产品对应的版本如下(2026-10-09):

    产品版本
    OpenAI Agents SDK0.23.1
    OpenAI Agents APIbeta
    Claude Agent SDKPython 0.2.164 / TS 0.3.293
    Claude Managed Agentsbeta
    pi1.1.0
    DSH0.2.0-rc.2,开发者预览
  • 这几个产品都在高速迭代,其中三个是 beta 或预览版本,本文结论的有效期很短。做实际选型之前,请先查看各产品最新的官方文档。

本文要点
  1. 用两个坐标轴给六个产品定位:抽象层级(只提供原语,还是提供完整的 harness)和运行位置(在你的进程里,还是由厂商托管)。
  2. 选型的核心问题有三个:谁来运行循环?要不要内置工具和沙箱?要不要支持多家模型?
  3. 文末给出一条循序渐进的学习路线,从手写循环一直到托管 agent。

1. 定位图#

positioning-quadrant.svg

原语(L1/L2)

Responses API / openai

Messages API / anthropic

pi-ai(多厂商)

只提供循环(L3)

OpenAI Agents SDK

Anthropic Tool Runner

pi-agent-core

完整 harness,运行在你的进程(L4)

Claude Agent SDK

pi-coding-agent

DSH

Agents SDK + Sandbox Agents

厂商托管(L5)

OpenAI Agents API(beta)

Claude Managed Agents(beta)

原语(L1/L2)

Responses API / openai

Messages API / anthropic

pi-ai(多厂商)

只提供循环(L3)

OpenAI Agents SDK

Anthropic Tool Runner

pi-agent-core

完整 harness,运行在你的进程(L4)

Claude Agent SDK

pi-coding-agent

DSH

Agents SDK + Sandbox Agents

厂商托管(L5)

OpenAI Agents API(beta)

Claude Managed Agents(beta)


2. 总对比表#

维度OpenAI Agents SDKOpenAI Agents APIClaude Agent SDKClaude Managed AgentspiDSH
类别开源 agent 运行时托管的 Codex harnessClaude Code 作为库托管的 harness极简可扩展的 harness 与库一切皆插件的 harness
层级L3(加 Sandbox 后到 L4)L5L4L5L1、L3、L4 分包提供L1 到 L4,每层都是插件
循环在哪运行你的进程OpenAI你的进程,内部再启动 CLI 子进程Anthropic你的进程你的进程;SDK 方式会启动运行时子进程
模型OpenAI 为主,可以接入其他厂商OpenAIClaudeClaude数十家DeepSeek 为主;通过 pi-ai 适配器接入多家
语言Python、JS/TSREST,各语言都有 SDKPython、TSREST,各语言都有 SDKTypeScriptTypeScript;另有 Python SDK
工具定义装饰器,基于签名和 docstringJSON Schema 函数,加上处理器@tool 加进程内 MCPcustom 工具,在你这边执行TypeBoxdefineTool 插件
内置工具托管工具,加 Sandbox 能力沙箱里的 shell、文件等一整套编码工具bash、文件、web 等工具集默认 4 个:read、bash、edit、write按 preset 组合
状态4 种策略:本地列表、Session、conversation、链式托管的 session、turn、item本地 JSONL,支持 resume 和 fork托管的 session 和事件树状 JSONL事件溯源日志,带格式迁移
多 Agenthandoffs、agents-as-tools托管的 subagentsubagents协调者加 roster默认不提供,可以用扩展实现subagent seam,可委派给 Claude Code 或 Codex
安全guardrails、needs_approval沙箱、vault权限模式、hooks、can_use_tool权限策略、vault默认不设防,靠扩展或容器fail-closed 沙箱、审批 seam
扩展机制hooks、自定义模型提供方plugins、skills、MCPhooks、plugins、skills、MCPskills、MCP、outcomes扩展、skills、packagesCordis 插件、profile 与 patch
可观测性内置 tracingDashboard、OTLP 导出OpenTelemetry、费用统计事件流、webhook细粒度事件流会话日志、OpenTelemetry 插件
成熟度0.x,迭代快beta0.x,几乎每天发版beta1.1.0开发者预览
许可与计费MIT 开源;按模型用量计费按 API 计费使用受 Anthropic 商业条款约束token 费用,加 $0.08/会话小时MITMIT

表中各项事实的出处,见 2.3 OpenAI Agents SDK、2.4 OpenAI Agents API、3.3 Claude Agent SDK、3.4 Claude Managed Agents、4.1 pi 全景与设计哲学、5.1 DeepSeek Harness 全景。

关于“许可”这一行
  • Claude Agent SDK 的使用受 Anthropic 商业服务条款约束,个别组件以各自的 LICENSE 文件为准。详见 3.3 Claude Agent SDK 引用的官方 overview。
  • OpenAI Agents SDK 的许可证是 MIT,依据是 PyPI 上 openai-agents 的元数据 License-Expression: MIT。

3. 选型决策树#

不需要

需要

是,并且可以接受数据存在厂商侧

OpenAI

Claude

否,要在自己的基础设施上运行

不需要,工具都是自己的业务 API

OpenAI

Claude

多家

需要

开箱即用,接受 Claude

极简、透明、多模型,愿意自己补功能

想要可以深度组装的平台,

能接受预览版

任务需要模型自主地

多步调用工具吗?

直接用客户端 SDK

Responses / Messages / pi-ai

希望厂商托管

循环、沙箱和会话吗?

用哪家的模型?

OpenAI Agents API

Claude Managed Agents

需要内置的

文件、shell 等工具吗?

只用一家模型吗?

OpenAI Agents SDK

Anthropic Tool Runner

或手写循环

pi-agent-core + pi-ai

想要什么程度的定制?

Claude Agent SDK

pi-coding-agent

DSH

不需要

需要

是,并且可以接受数据存在厂商侧

OpenAI

Claude

否,要在自己的基础设施上运行

不需要,工具都是自己的业务 API

OpenAI

Claude

多家

需要

开箱即用,接受 Claude

极简、透明、多模型,愿意自己补功能

想要可以深度组装的平台,

能接受预览版

任务需要模型自主地

多步调用工具吗?

直接用客户端 SDK

Responses / Messages / pi-ai

希望厂商托管

循环、沙箱和会话吗?

用哪家的模型?

OpenAI Agents API

Claude Managed Agents

需要内置的

文件、shell 等工具吗?

只用一家模型吗?

OpenAI Agents SDK

Anthropic Tool Runner

或手写循环

pi-agent-core + pi-ai

想要什么程度的定制?

Claude Agent SDK

pi-coding-agent

DSH

几条经验法则(笔者观点)
  1. 先从最简单的一层开始。 能用一次 API 调用解决的事,就不要上 agent;能用 L3 解决的,就不要上 L4。Anthropic 在 Building Effective AI Agents(2024-12-19)中也建议:先找最简单的方案,只在必要时才增加复杂度,有时这意味着根本不需要构建 agent 系统1。
  2. “厂商绑定”是个连续的谱,不是非黑即白。 例如 Agents SDK 也能接入其他厂商的模型,pi-ai 也能用 OpenAI 的模型。真正的绑定,来自你依赖了哪些托管能力,比如服务端会话、托管工具、托管沙箱。
  3. 安全模型要和部署方式匹配。
    • pi 默认没有权限系统,一定要放进容器里运行;
    • Claude Agent SDK 有多层权限,但 bypassPermissions 只应该在隔离环境中使用;
    • DSH 有 fail-closed 沙箱,但官方明确说它不能作为唯一的安全措施。
  4. beta 和预览版本不要直接用于生产。 Agents API、Managed Agents、DSH 都还在 beta 或预览阶段,接口可能变化。DSH 还存在 npm 包与仓库源码不一致的情况,见 5.3 DSH 核心机制与插件开发 › 8. 踩坑记录:npm 包落后于仓库源码。

4. 再谈“轻量”#

你在问题里把 pi 和 DSH 称为“轻量化 SDK 的代表”。研究下来,笔者认为“轻量”至少有三种含义:

含义piDSH说明
核心代码少✅ agent 循环约 2,500 行✅ Cordis 约 2,700 行,agent-loop 约 2,400 行两者的核心都能在一两天内读完
默认功能少✅ 4 个工具,提示词不到 1,000 token视 preset 而定,minimal 很精简pi 把“少”当作一种设计哲学
一切可以拔掉、可以替换⚪ 有扩展系统,但核心是固定的✅ 连循环都是插件DSH 在这个维度上走得最远
整体代码量小❌ 仓库约 20 万行❌ 约 43 万行两者的发行版都不小

行数都是笔者用 find 加 wc -l 的粗略统计,见 4.1 pi 全景与设计哲学 和 5.1 DeepSeek Harness 全景。

结论(笔者观点):pi 和 DSH 的“轻”,指的是核心小、可控、可替换,而不是“总代码量小”。它们和厂商 SDK 最大的区别在于:

  • 透明:你能看到每一个请求、每一条上下文;
  • 可替换:模型、工具、循环都可以换掉;
  • 不绑定任何厂商的托管服务。

5. 学习路线(建议)#

阶段 1:原理

手写循环

(1.1、1.2)

阶段 2:L3 框架

Agents SDK、Tool Runner

(2.3、3.2)

阶段 3:读源码

pi-agent-core 约 2,500 行

(4.2、4.3)

阶段 4:harness

Claude Agent SDK、pi-coding-agent

(3.3、4.4)

阶段 5:插件化架构

Cordis 教程,不需要 Key

(5.2、5.3)

阶段 6:托管与生产

Agents API、Managed Agents、

tracing、护栏、成本

阶段 1:原理

手写循环

(1.1、1.2)

阶段 2:L3 框架

Agents SDK、Tool Runner

(2.3、3.2)

阶段 3:读源码

pi-agent-core 约 2,500 行

(4.2、4.3)

阶段 4:harness

Claude Agent SDK、pi-coding-agent

(3.3、4.4)

阶段 5:插件化架构

Cordis 教程,不需要 Key

(5.2、5.3)

阶段 6:托管与生产

Agents API、Managed Agents、

tracing、护栏、成本

阶段做什么产出(可以写成博客)
1用 OpenAI 和 Anthropic 的原生 SDK 各手写一次 agent 循环《30 行代码看懂 Agent Loop》
2用 Agents SDK 实现 handoff、护栏和 session;用 Tool Runner 改写阶段 1 的代码《从手写循环到 Agents SDK:框架替我做了什么》
3带着阶段 1 的代码,对照阅读 pi-agent-core/src/agent-loop.ts,列出它多处理了哪些边界情况《读源码:一个生产级 Agent 循环的边界情况》
4用 Claude Agent SDK 和 pi 各做一个“读仓库、写报告”的 agent,体会内置工具与权限的差异《Claude Agent SDK vs pi:开箱即用与极简可控》
5按 DSH 的 Cordis 教程把第 1 到 7 章全部跑一遍(不需要 API Key),再写一个自己的工具插件《一切皆插件:从 Cordis 看可组合的 Agent 架构》
6选一个托管产品做长任务,同时补上 tracing、护栏、成本监控《托管 Agent 的成本与可控性权衡》
和后端知识的结合点

下面这些主题既是 agent 的工程问题,也是后端博客的好选题:

  • 事件溯源:DSH 的会话日志、pi 的树状会话;
  • 幂等:Agents API 的 Idempotency-Key;
  • 进程模型与隔离:Claude Agent SDK 的子进程架构、各家的沙箱阶梯;
  • 依赖注入与生命周期管理:Cordis;
  • 供应链安全:pi 的依赖锁定实践。

6. 最后一张图:抽象层级#

四种 SDK 抽象层级四种 SDK 抽象层级
四种 SDK 抽象层级

小结#

  • 没有最好的 SDK,只有最适合的那一层。 先问自己:循环谁来写?工具谁来执行?状态放在哪?用哪家的模型?
  • OpenAI 和 Claude 的两条产品线在 2026 年已经高度对称:
    • 客户端 SDK 加原语:Responses 对应 Messages;
    • L3 循环:Agents SDK 对应 Tool Runner;
    • L4 harness:Sandbox Agents 对应 Agent SDK;
    • L5 托管:Agents API 对应 Managed Agents。
  • pi 和 DSH 代表的是另一条路线:开放、透明、可替换。

相关笔记#

参考资料#

注释与出处#

  1. Anthropic Engineering,Building Effective AI Agents(2024-12-19),https://www.anthropic.com/engineering/building-effective-agents ↩

输入关键词开始搜索。多个关键词用空格分隔。