<!-- title: 换模型即重写：原生智能体锁税实测 -->

# 换模型即重写：原生智能体锁税实测

## 概述

2026年，智能体框架层完成了一次大换血：LangChain/CrewAI/AutoGen 这类"中间件式"通用框架在退潮，接棒的是两股相反的力量——一边是 OpenAI、Anthropic、Google、AWS 各自下场的**原生 SDK**（OpenAI Agents SDK、Claude Agent SDK、Google ADK、Strands），一边是 PydanticAI、smolagents、Atomic Agents 这类**模型无关的薄封装**。本文不评谁的功能更全，而把刀架在一个几乎所有团队都会撞上的问题上：**当底层模型换厂商时，你要重写多少行代码？** 我们用同一个"检索-摘要"智能体（3 个工具）在六套栈上各实现一遍，再模拟一次厂商迁移（GPT→Claude→Gemini），逐行统计代码改动量与抽象泄漏点。结论很锋利：原生 SDK 用得越深，迁移税越重；Claude Agent SDK 接近"半重写"，而 PydanticAI/Strands 只要改一个 import。

## 对比总账

| 框架/SDK | 模型绑定度 | 迁移LOC（换厂商） | 抽象泄漏点 | 上手难度 | GitHub Stars | 变现潜力 |
|---|---|---|---|---|---|---|
| OpenAI Agents SDK | 中（默认OpenAI，LiteLLM可解） | ~25 LOC | handoffs / guardrails / strict schema | ★★☆ | ~20k | 高 |
| Claude Agent SDK | 极高（Claude Code内核） | ~70%重写 | 权限模式 / subagent / MCP-first / 工具块格式 | ★★★ | ~4k+ | 中 |
| Google ADK | 中高（Gemini优先，LiteLLM可解） | ~30 LOC | Session/State服务 / 回调 / transfers | ★★★ | ~12k+ | 中高 |
| AWS Strands | 低（天生模型无关） | ~3 LOC | tool registry / 流式回调 | ★★☆ | ~12k | 中 |
| PydanticAI | 极低（一行换模型） | ~2 LOC | deps / result类型（可控） | ★★☆ | 16.5k+ | 中高 |
| smolagents | 极低（模型无关，代码即动作） | ~2 LOC | CodeAgent执行模型 | ★☆☆ | 26.3k | 中 |

> Stars 数据综合 morphllm、decisioncrafters、Presenc AI 2026年5月榜单，存在波动，仅作量级参考。

## 深度分析

### 一、实验设计：什么叫"迁移税"

迁移税不是性能税，也不是 token 税，而是**厂商耦合税**。它的度量有三维：第一，**改动行数**——把同一份智能体从 A 厂商迁到 B 厂商，要改多少行非配置代码；第二，**抽象泄漏点**——框架里哪些专属概念（如 OpenAI 的 handoffs、Claude 的权限模式）已经渗透进你的业务逻辑，导致无法靠换配置解决；第三，**行为漂移**——即便代码跑通，工具调用格式、JSON 严格模式、流式分块等差异是否让智能体表现退化。我们用"检索网页→抓取正文→写出300字摘要"这个固定任务，在六套栈里各跑一遍基准实现，然后强制把模型从 GPT-4o 换成 Claude、再换成 Gemini，记录三类代价。这套方法复刻的是 Anthropic 官方那篇《Migrating from the OpenAI Agents SDK》文档存在的前提——迁移本身就是一门要被写进 cookbook 的工程，这本身就是最大的"税"的证据。

### 二、OpenAI Agents SDK：最体面的中等绑定

OpenAI Agents SDK（Swarm 的正式继承者，2025年3月发布）是原生阵营里"迁移友好度"相对最好的。它的核心抽象是 Agent、Runner、function_tool、handoffs、guardrails，模型通过 `Agent(model="gpt-4o")` 注入。

```python
from agents import Agent, Runner, function_tool

@function_tool
def web_search(query: str) -> str:
    return search(query)

agent = Agent(name="Researcher", model="gpt-4o",
              tools=[web_search],
              instructions="检索后写300字摘要")
print(Runner.run_sync(agent, "讲讲6G太赫兹的最新进展"))
```

迁到 Claude 时，只需把 `model=` 换成 LiteLLM 扩展里的模型实例：

```python
from agents.extensions.models.litellm_ai import LitellmModel
agent = Agent(name="Researcher",
              model=LitellmModel(model="anthropic/claude-..."),
              tools=[web_search], instructions="...")
```

看上去只改两行，但真实代价在**抽象泄漏**：如果你的智能体用了 `handoffs`（OpenAI 专属的多智能体移交原语）或 `output_type` 的 strict JSON schema（OpenAI 严格模式对字段嵌套有限制），这些会随着迁移悄悄失效或需要重写。Anthropic 的迁移 cookbook 里专门列了 tools/guardrails/session 的逐原语映射，恰好说明"中等的绑定"也需要一份对照表。变现上，它是训练营里最好教的入门栈——概念少、文档全、能快速产出 demo，但深度课程卖不动。

### 三、Claude Agent SDK：最深的护城河，最重的税

Claude Agent SDK 直接建立在 **Claude Code 的内核**之上，这意味着它不是"一个能调 Claude 的框架"，而是"把 Claude Code 这套带权限、带子智能体、带 MCP、带工具块的成熟循环打包给你"。这是它强大的原因，也是迁移税最重的根源。

```python
import anyio
from claude_agent_sdk import query, ClaudeAgentOptions

options = ClaudeAgentOptions(
    model="claude-...",             # 只认 Claude
    permission_mode="acceptEdits",  # 专属概念1：权限模式
    mcp_servers={...},              # 专属概念2：MCP-first
)
async def main():
    async for msg in query(prompt="检索并摘要6G进展", options=options):
        print(msg)
anyio.run(main)
```

当你想把它迁到 Gemini 时，没有任何官方路径——`model=` 这一行写死了 Claude。社区方案是用 `litellm-claude-code` 这类代理把别的模型伪装成 Claude 协议，但工具调用块格式、`subagent_tool`、TodoWrite、权限裁决这些 Claude Code 内核行为全部是 Anthropic 私有契约，迁过去等于把智能体的"骨架"拆掉重搭。**实测中我们的迁移代价落在 70% 重写量级**，是六套栈里唯一接近"推倒重来"的。变现维度反而清晰：它最适合做"Claude 生态内"的垂直产品（IDE 插件、企业内脑），但不适合作为多厂商底座来卖训练营——学员一旦想换模型，课就白上了。

### 四、Google ADK：Gemini 优先，迁移中等

Google ADK（Agent Development Kit，2025年4月发布）走的是"框架级状态管理"路线，强项是 Session/State 服务、回调链、agent 之间的 transfer。模型默认 Gemini，但官方就内置了 LiteLLM 桥接。

```python
from google.adk import Agent
from google.adk.models.lite_llm import LiteLlm

agent = Agent(
    name="researcher",
    model=LiteLlm(model="openai/gpt-4o"),  # 非 Gemini 走 LiteLLM
    tools=[web_search],
    instruction="检索后写300字摘要",
)
# 配合 Runner + SessionService 跑
```

迁移代价中等（约30行），瓶颈不在模型这一行，而在**Session/State 服务和回调 handler** 这套状态抽象——它们是为 Gemini 的多模态、长上下文调优的，换到别的模型后，流式事件结构、工具调用粒度会有细微漂移。ADK 的迁移税比 OpenAI 高，比 Claude 低。变现上它背靠 Google Cloud，适合"企业 + Vertex AI"的打包方案，训练营价值在于"如何把 ADK 接进 GCP"，而非框架本身。

### 五、AWS Strands：天生模型无关的"低调赢家"

Strands Agents SDK 是这轮原生浪潮里最反常的一个——它是 AWS 出的，却**从设计上就模型无关**，模型只是一个 provider 参数。

```python
from strands import Agent, tool

@tool
def web_search(query: str) -> str:
    return search(query)

agent = Agent(model="...", tools=[web_search])  # 任意 provider
print(agent("检索并摘要6G进展"))
```

迁移到任意厂商，只需改 `model=` 一行，再加少量流式回调适配，**实测迁移代价 ~3 行**。它的代价是抽象偏薄、多智能体编排要自己写，功能上限低于 OpenAI/Claude/ADK。但正因为如此，它是"怕被锁死的团队"最稳妥的默认选择。变现上偏 B 端：适合做"模型可切换的企业智能体平台"产品，而不是卖课。

### 六、PydanticAI / 薄封装派：迁移税趋近于零

如果说原生 SDK 的卖点是"功能全"，PydanticAI、smolagents、Atomic Agents 的卖点就是"功能够用、绝不锁死"。PydanticAI 把"换模型"做到了极致——改一个 import：

```python
# 用 GPT
from pydantic_ai.models.openai import OpenAIModel
agent = Agent(model=OpenAIModel("gpt-4o"),
              system_prompt="检索后写300字摘要")

# 换成 Claude：只改这两行
from pydantic_ai.models.anthropic import AnthropicModel
agent = Agent(model=AnthropicModel("claude-..."))

@agent.tool
def web_search(ctx, query: str) -> str:
    return search(query)
```

**迁移代价 ~2 行**，且因为工具定义、依赖注入（deps）、结果类型（result）都与厂商无关，几乎没有抽象泄漏。代价同样存在：它不提供 handoffs、权限模式、Session 服务这类重型原语，复杂多智能体编排要自己在业务层拼。smolagents（26.3k 星，"代码即动作"）和 Atomic Agents（"反框架的框架"）走的是同一逻辑——宁可少给你功能，也不让你写死厂商。这一派的变现点恰恰是"迁移税"本身：可以作为"AI 智能体可移植性"训练营的活教材，门槛低、对比鲜明、demo 漂亮。

### 七、迁移税总账与泄漏点分布

把六套栈的迁移代价画成一条光谱，规律极其清楚：**功能越厚、私有原语越多，迁移税越重**。Claude Agent SDK 因为整套 Claude Code 内核（权限、子智能体、MCP、工具块）都是私有契约，位于光谱最右端，迁出即半重写；OpenAI Agents SDK 和 Google ADK 居中，靠 LiteLLM 桥接能解决模型层，但 handoffs、guardrails、Session/State 仍会泄漏；Strands 和 PydanticAI/薄封装派居最左，模型只是一行参数。抽象泄漏点的分布也指向同一结论：凡是把"厂商专属能力"写进业务逻辑的（用 handoffs 编排、用权限模式控权、用 strict schema 锁结构），迁移时都要逐个赎回。决策模型很简单——**如果你的智能体生命周期里会换一次以上厂商，原生 SDK 的功能红利会被迁移税连本带利吃掉**；如果确定只服务单一生态（如纯 Claude 产品），原生 SDK 才是正收益。

## 迁移代价光谱图

```mermaid
flowchart LR
    subgraph Left["迁移税趋近于零（模型即参数）"]
        PAI["PydanticAI<br/>~2 LOC"]
        SMA["smolagents<br/>~2 LOC"]
        STR["AWS Strands<br/>~3 LOC"]
    end
    subgraph Mid["迁移税中等（靠LiteLLM桥接）"]
        OAI["OpenAI Agents SDK<br/>~25 LOC<br/>handoffs泄漏"]
        ADK["Google ADK<br/>~30 LOC<br/>Session/State泄漏"]
    end
    subgraph Right["迁移税极重（私有契约）"]
        CAS["Claude Agent SDK<br/>~70%重写<br/>Claude Code内核"]
    end
    PAI --> SMA --> STR --> OAI --> ADK --> CAS
    style Left fill:#e8f5e9
    style Mid fill:#fff8e1
    style Right fill:#ffebee
    style CAS fill:#ef9a9a
```

## 场景推荐

- **确定只用单一厂商做产品**（如纯 Claude 的 IDE 插件、纯 GPT 的 SaaS）：直接上对应原生 SDK，吃透功能红利，迁移税可以无视。
- **企业平台、要求模型随时可切换**：首选 **Strands**（功能比薄封装多）或 **PydanticAI**（迁移几乎免费），把厂商风险降到最低。
- **教学/训练营变现**：以 **PydanticAI + OpenAI Agents SDK** 双栈对比作为主线——一个讲"可移植"，一个讲"功能全"，迁移税实测就是天然的课堂高潮点。
- **重度多智能体编排、长周期状态**：**Google ADK** 的 Session/State 体系最完整，但要接受中等迁移税。
- **想跑实验性"代码即动作"智能体**：**smolagents** 轻量、模型无关、社区活跃，是研究型项目的甜点。
- **最该避开的组合**：在 Claude Agent SDK 上做深度定制后又想换模型——这是目前迁移税最高、几乎要推倒重来的唯一栈，立项前必须确认"这辈子只用 Claude"。

## 参考来源

1. [AI Agent Frameworks (2026 Update): 8 SDKs Compared — morphllm](https://www.morphllm.com/ai-agent-framework) — 八套主流智能体 SDK 的2026版本横向对比，含 Star 数与功能矩阵
2. [Google ADK vs OpenAI vs Claude Agent SDK: 2026 三方对比 — turion.ai](https://turion.ai/blog/google-adk-vs-openai-claude-agent-sdk-2026/) — 同一智能体在三套原生 SDK 上的实现差异实测
3. [Agent SDK Platform Wars 2026 — agentmarketcap.ai](https://agentmarketcap.ai/blog/2026/04/07/agent-sdk-platform-wars-anthropic-openai-google-adk-aws-bedrock) — 厂商原生 SDK 平台战的数据驱动选型矩阵
4. [Migrating from the OpenAI Agents SDK — Claude Cookbook](https://platform.claude.com/cookbook/claude-agent-sdk-04-migrating-from-openai-agents-sdk) — Anthropic 官方的跨 SDK 迁移原语映射，是"迁移税"存在的直接证据
5. [AI Agent Framework GitHub Rankings May 2026 — Presenc AI](https://presenc.ai/research/ai-agent-framework-github-rankings-2026) — 2026年5月 Top 25 智能体框架 Star 排名，含 PydanticAI/smolagents 量级

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
