Agent 框架选型对比:AgentScope、Claude Agent SDK、OpenAI Agents SDK、LangChain,从架构选型和长期演进视角

魏远标 Lv7

提问

AgentScope、Claude Agent SDK、OpenAI Agents SDK、LangChain 这四个 Agent 框架怎么选?从架构选型、长期演进、典型场景看,各自适合什么场景?

参考答案

四个框架代表四种完全不同的设计哲学

框架 出品方 核心定位 一句话总结
AgentScope 阿里达摩院 多智能体编排(中文优先) 学术派 + 中文场景最强的多 Agent 框架
Claude Agent SDK Anthropic 单 Agent + Skills(工具调用) Claude 用户的「官方最优解」
OpenAI Agents SDK OpenAI 单/多 Agent + Handoffs OpenAI 用户的「官方最优解」
LangChain / LangGraph LangChain Inc LLM 应用全栈生态 生态最广、社区最大的「万金油」

选哪个,取决于你用什么模型、做什么场景、长期想不想被绑定


一、核心架构差异

1. AgentScope — 多 Agent 编排学派

核心抽象Agent + Msg(消息对象)+ Pipeline

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import agentscope

# 1. 初始化 agent
agent_a = agentscope.ReActAgent(
name="researcher",
sys_prompt="你是研究员,负责搜索资料",
model_config={"model": "qwen-max"},
tools=[search_tool, scrape_tool]
)

agent_b = agentscope.ReActAgent(
name="writer",
sys_prompt="你是写作员,负责把资料整理成文章",
model_config={"model": "qwen-max"},
tools=[format_tool]
)

# 2. 用 Msg 作为消息载体
msg = agentscope.Msg("user", "帮我写一篇关于 RAG 的文章")

# 3. Pipeline 编排:顺序、并行、条件
pipeline = agentscope.Pipeline([agent_a, agent_b])
result = pipeline(msg)

核心特点

  • Msg 是一等公民:所有 agent 之间通过 Msg 传递消息,包括文本、图片、工具调用结果
  • Pipeline 编排:顺序 / 并行 / 条件三种模式直接拼装
  • 多模型混搭:可以在一个 Pipeline 里同时用 Qwen、DeepSeek、文心一言
  • 分布式部署:支持把 Agent 部署在不同机器上(少数支持)
  • 中文友好:达摩院出品,中文文档 + 中文模型默认

2. Claude Agent SDK — Anthropic 官方单 Agent 派

核心抽象query() 函数 + Skills(Markdown 工具定义)+ MCP

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
from claude_agent_sdk import query, ClaudeAgentOptions

# 单 Agent 调用
async def main():
options = ClaudeAgentOptions(
model="claude-sonnet-4-5",
system_prompt="你是 javai.tech 的技术助手",
tools=["Read", "Bash", "Grep"], # 内置工具
skill_paths=["./skills"], # 自定义 Skills
permission_mode="acceptEdits", # 权限模式
)

async for message in query(
prompt="帮我看看 javai 2 项目的部署配置",
options=options
):
print(message)

# 高级用法:自定义 Skills
# skills/code-review/SKILL.md
"""
# Code Review Skill
触发条件:用户说"review 代码"或"检查代码"时使用

工作流程:
1. 先用 Glob 找到所有 .py 文件
2. 用 Read 逐个读取
3. 用 Grep 搜索常见问题(print、TODO、pass)
4. 输出 Markdown 格式报告
"""

核心特点

  • Skills 即 Markdown:把工具调用流程写成 Markdown 文件,不是 Python 代码
  • MCP 原生支持:Anthropic 推的协议,Claude SDK 默认支持
  • 强权限模型permission_mode 控制 agent 能做什么(自动批准 / 询问 / 拒绝)
  • CLAUDE.md 项目记忆:在项目根放 CLAUDE.md,Agent 启动时自动加载
  • 能本地跑也能云端跑:CLI、SDK、Claude Code 三种形态

最像什么:Cursor / Claude Code 的编程体验 + SDK 化。

3. OpenAI Agents SDK — OpenAI 官方多 Agent 派

核心抽象Agent + Runner + Handoffs(Agent 之间转交)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
from agents import Agent, Runner, function_tool
import asyncio

@function_tool
def get_weather(city: str) -> str:
return f"{city} 今天 25 度,晴"

# 定义专家 agent
weather_agent = Agent(
name="天气专家",
instructions="你只回答天气相关问题",
tools=[get_weather]
)

finance_agent = Agent(
name="金融专家",
instructions="你只回答股票、基金相关问题"
)

# 总调度 agent
triage_agent = Agent(
name="总调度",
instructions="根据用户问题,分发给对应专家",
handoffs=[weather_agent, finance_agent]
)

# 运行
async def main():
result = await Runner.run(
triage_agent,
input="北京今天天气怎么样?还有沪深 300 走势如何?"
)
print(result.final_output)

asyncio.run(main())

核心特点

  • Handoffs 是核心:Agent 之间能转交任务,是「多 Agent」的核心机制
  • Guardrails 双层防护:输入输出都加校验(防恶意输入 + 防有害输出)
  • Tracing 内置:自动追踪每一步调用,可视化调试
  • Realtime API 支持:能跑 OpenAI Realtime 语音多 Agent
  • OpenAI 生态绑定:最佳搭档是 GPT-4o、o1、o3

4. LangChain / LangGraph — LLM 应用全栈

核心抽象Chain / Runnable + 100+ 集成组件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from langchain_openai import ChatOpenAI
from langchain.agents import create_react_agent, AgentExecutor
from langchain.tools import tool

@tool
def get_weather(city: str) -> str:
"""获取城市天气"""
return f"{city} 今天 25 度"

# 1. ReAct Agent(最常用)
llm = ChatOpenAI(model="gpt-4o-mini")
tools = [get_weather]
agent = create_react_agent(llm, tools)
agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)

result = agent_executor.invoke({"input": "北京今天天气怎么样?"})

# 2. LangGraph(生产级多 Agent 编排,状态机思路)
from langgraph.graph import StateGraph
from typing import TypedDict

class State(TypedDict):
messages: list
next_agent: str

def researcher(state: State):
return {"messages": state["messages"] + ["研究结果..."], "next_agent": "writer"}

def writer(state: State):
return {"messages": state["messages"] + ["最终文章..."], "next_agent": "end"}

workflow = StateGraph(State)
workflow.add_node("researcher", researcher)
workflow.add_node("writer", writer)
workflow.add_edge("researcher", "writer")
workflow.add_edge("writer", "end")
app = workflow.compile()

核心特点

  • 生态最广:300+ 集成(OpenAI / Anthropic / Cohere / 本地模型 / 向量库 / 数据库 / 文档加载 / Agent / RAG)
  • LangGraph 状态机:用图的方式编排 Agent 流程,能处理复杂分支、循环、人在回路
  • LangSmith 调试平台:商业版 tracing、评测、监控
  • 学习曲线陡:概念多(Chain / Runnable / Tool / Retriever / Memory / Callback)
  • 抽象泄露:底层 API 改一次上层要跟着改

二、详细对比矩阵

维度 AgentScope Claude Agent SDK OpenAI Agents SDK LangChain / LangGraph
核心范式 多 Agent 编排 单 Agent + Skills 单/多 Agent + Handoffs Chain + 图编排
消息模型 Msg 对象(强类型) 自然语言 + 结构化工具调用 自然语言 + 结构化工具调用 各种(Message / ToolMessage / AIMessage)
工具定义 Python 函数 MCP 服务 / 内置 / Skills (MD) Python 函数 + OpenAPI Tool 装饰器
多 Agent 协作 Pipeline 顺序/并行/条件 多个 query() 调用 Handoffs + 嵌套 LangGraph StateGraph
状态管理 自动(Pipeline 维护) 文件系统(CLAUDE.md + 工作目录) Session(自动) 自定义 State
模型支持 多模型混搭(Qwen/DeepSeek/OpenAI/Anthropic) 仅 Claude 系列 仅 OpenAI 系列 几乎所有
协议支持 自有 + MCP MCP 原生 MCP / OpenAPI 自家 MCP / OpenAPI / 自家
MCP 原生 ✅ 原生 ⚠️ 需自己集成
本地模型 ✅ 优秀 ❌ 仅 Claude ❌ 仅 OpenAI ✅ 优秀
中文支持 ✅ 中文场景最强 ⚠️ Claude 中文一般 ⚠️ GPT 中文一般 ✅ 多模型可选中文
分布式 ✅ 支持 ⚠️ 实验性 ⚠️ 自己实现
调试工具 Studio(Web 可视化) Claude Code 内置 Tracing API LangSmith(商业)
学习曲线 低(Markdown 即工具)
生态成熟度 中(达摩院背书) 中(Anthropic 官方) 中(OpenAI 官方) 最高
GitHub Stars 3k+ 1k+(较新) 5k+ 90k+
首次发布 2024 2025 2025 2022

三、长期演进考量

1. 厂商绑定风险

这是选型最关键的因素。

深度绑定

  • Claude Agent SDK → Anthropic Claude
  • OpenAI Agents SDK → OpenAI GPT-4o/o1/o3

多模型中立

  • AgentScope(默认 Qwen,可换任意)
  • LangChain / LangGraph(任意切换)

风险量化

1
2
3
4
5
6
绑定风险 = 切换难度 × 锁定时间 × 替代成本

Claude SDK:切换难度 ★★★★★,锁定后 6-12 个月难以换
OpenAI SDK:切换难度 ★★★★★,同上
AgentScope:切换难度 ★★,换 model_config 即可
LangChain:切换难度 ★,换 ChatModel 类即可

结论:如果你的业务长期依赖单一模型厂商的能力(比如 Anthropic 的超长上下文),选官方 SDK 没问题;如果想保持灵活性,选 AgentScope / LangChain。

2. 协议标准化(MCP)

框架 MCP 支持 趋势
Claude Agent SDK 原生 Anthropic 是 MCP 主推方
AgentScope 阿里系加入 MCP 阵营
OpenAI Agents SDK 需自己集成 OpenAI 在推自家 OpenAPI 规范
LangChain 生态最广

判断:MCP 是 2025 年的事实标准(类似 2020 年的 LSP)。选框架要看对 MCP 的支持深度。

3. 长期生态

框架 预测(个人观点)
LangChain 持续 5 年内仍是生态第一,但抽象层会重构几次
Claude Agent SDK Claude Code 体验延伸到 SDK,长期看好
OpenAI Agents SDK 跟随 GPT 系列进化,应用层可能成为事实标准
AgentScope 中文场景 + 学术派护城河,长期稳健增长

4. 团队上手成本

团队背景 推荐
Java 背景、想试 Agent AgentScope(中文文档 + Python 简洁)
用 Claude Code 的开发者 Claude Agent SDK(无缝衔接)
用 Cursor + GPT 的开发者 OpenAI Agents SDK
已经在用 LangChain 升级 LangGraph
完全新手 Claude Agent SDK(Skills 即 Markdown,最低门槛)

四、典型场景选型

场景 1:企业内部知识问答助手

推荐LangChain + LangGraph

理由:

  • 生态里有 LangSmith 调试平台
  • pgvector / Milvus 集成现成
  • 多模型切换方便

场景 2:编程辅助工具(类 Cursor)

推荐Claude Agent SDKOpenAI Agents SDK

理由:

  • 强权限控制(permission_mode / guardrails)
  • MCP 原生(编辑器、终端、文件系统的 MCP 集成)
  • 单 Agent + 工具调用是核心场景

场景 3:多 Agent 协作系统(研究员 + 写手 + 审稿)

推荐AgentScopeLangGraph

理由:

  • AgentScope 的 Pipeline 直接支持顺序/并行/条件
  • LangGraph 状态机能处理复杂循环和回退

场景 4:金融分析多角色系统

推荐OpenAI Agents SDK

理由:

  • Handoffs 适合「客服→分析师→风控」的分级转交
  • Guardrails 强制合规检查
  • Tracing 满足金融监管的可审计要求

场景 5:中文场景的复杂对话

推荐AgentScope + Qwen

理由:

  • 达摩院模型中文最强
  • AgentScope 对 Qwen 适配最深
  • 多模型混搭能力让你能 Qwen 做主力 + GPT 做翻译

五、代码实战对比(同一个需求)

需求:用户问「北京今天天气怎么样?并且帮我查一下美元汇率」,框架要正确分发到不同专家。

AgentScope 版

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import agentscope

weather_agent = agentscope.ReActAgent(
name="天气员",
sys_prompt="只回答天气",
model_config={"model": "qwen-max"},
tools=[weather_tool]
)

finance_agent = agentscope.ReActAgent(
name="金融员",
sys_prompt="只回答汇率、股票",
model_config={"model": "qwen-max"},
tools=[exchange_rate_tool]
)

# 并行执行
pipeline = agentscope.Pipeline([weather_agent, finance_agent], mode="parallel")
msg = agentscope.Msg("user", "北京今天天气?美元汇率?")
result = pipeline(msg)

Claude Agent SDK 版

1
2
3
4
5
6
7
8
9
<!-- skills/weather/SKILL.md -->
# Weather Skill
工具:get_weather(city)
触发:用户问天气时使用
返回:城市 + 温度 + 天气状况

# Finance Skill
工具:get_exchange_rate(from, to)
触发:用户问汇率时使用
1
2
3
4
5
async for msg in query(
prompt="北京天气?美元汇率?",
options=ClaudeAgentOptions(skills=["./skills"])
):
print(msg)

OpenAI Agents SDK 版

1
2
3
4
5
6
7
8
9
weather = Agent(name="天气", tools=[get_weather], instructions="只答天气")
finance = Agent(name="金融", tools=[exchange_rate], instructions="只答汇率")
triage = Agent(
name="分诊",
handoffs=[weather, finance], # ← 核心机制
instructions="分诊到对应专家"
)

result = await Runner.run(triage, input="北京天气?美元汇率?")

LangChain 版

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from langgraph.graph import StateGraph

# 状态机方式:先分诊,再分别调工具
class State(TypedDict):
query: str
need_weather: bool
need_finance: bool
weather: str
finance: str

# 定义节点 + 边
workflow = StateGraph(State)
workflow.add_node("classify", classify_intent)
workflow.add_node("weather", weather_node)
workflow.add_node("finance", finance_node)
workflow.add_node("merge", merge_results)
# ... 配置条件和边

观察

  • Claude SDK:写 Markdown 就行,最轻
  • OpenAI Agents:Python 类最直观
  • AgentScope:Pipeline 一行写完多 Agent
  • LangChain:最复杂但最灵活

六、生产选型决策树

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
开始

├─ 用 Claude 模型?
│ ├─ 是 → Claude Agent SDK(官方最优解)
│ └─ 否 ↓

├─ 用 OpenAI 模型?
│ ├─ 是 → OpenAI Agents SDK(官方最优解)
│ └─ 否 ↓

├─ 需要多模型混搭?
│ ├─ 是 → AgentScope 或 LangChain
│ └─ 否 ↓

├─ 场景以「单 Agent + 工具」为主?
│ ├─ 是 → OpenAI Agents SDK 或 Claude Agent SDK
│ └─ 否 ↓

├─ 复杂多 Agent 状态机?
│ ├─ 是 → LangGraph 或 AgentScope
│ └─ 否 ↓

└─ 中文场景为主?
├─ 是 → AgentScope + Qwen
└─ 否 → LangChain(生态最广)

七、我的偏好(个人选择)

如果让我现在从零搭一个生产级 AI Agent 系统,我会这么选:

1
2
3
4
5
6
7
主力:Claude Agent SDK(开发体验最好)

辅助:LangGraph(复杂流程编排)

中文场景:AgentScope + Qwen(中文场景性能最强)

多模型 API:抽象成统一接口,不绑死任何 SDK

理由:

  • 开发体验:Claude SDK 的 Skills = Markdown 是天才设计,降低了非程序员的接入门槛
  • 长期灵活:用 LangGraph 做核心编排,模型随便换
  • 中文兜底:AgentScope + Qwen 在中文场景无可替代
  • 不被绑架:核心业务逻辑用通用抽象(LangChain Runnable),SDK 只是适配层

八、长期演进:3 个值得关注的趋势

1. 多模态 Agent

所有框架都在往多模态走:

  • Claude Agent SDK 支持图片 + 视频输入
  • OpenAI Agents SDK 支持 Realtime 语音
  • LangChain 已支持多模态 RAG

2. Agent 评测与可观测性

  • LangSmith(LangChain 商业版)走在最前面
  • AgentScope Studio(达摩院开源)是国内最强
  • OpenAI Tracing 跟模型深度绑定
  • 长期看,可观测性会成为 Agent 框架的差异化竞争点

3. Agent-to-Agent 协议

  • A2A Protocol(Google 推):Agent 之间的标准通信
  • MCP(Anthropic 推):Agent 到工具的标准协议
  • 2026 年这两个协议可能在某些场景上融合

判断:3 年内,协议 + 评测 + 可观测性会成为 Agent 框架的三大竞争点。比拼的不是「谁的 ReAct 实现得更好」(这都是标配),而是「谁的生态更标准、更易调试、更易生产化」。


九、面试怎么答这道题

面试官问「Agent 框架选型」时,建议这样答:

  1. 明确约束:模型(是否绑定)、场景(单 Agent / 多 Agent)、团队背景、长期维护
  2. 给选型逻辑:每个约束 → 候选 → 排除法
  3. 提 1-2 个差异化点:MCP 支持、生产可观测性、协议中立性
  4. 不要简单说「LangChain 最强」:面试官想看的是权衡思考

示范答案:

「我们项目用 OpenAI 模型 + 中文场景,最终选了 AgentScope。理由:中文场景达摩院模型最强,AgentScope 对 Qwen 适配最深;同时 AgentScope 的 Pipeline 直接支持多 Agent 编排,比 OpenAI Agents SDK 的 Handoffs 更适合我们的客服+分析师+风控三级分诊场景。代价是生态不如 LangChain,但我们的需求不复杂,不需要 LangChain 那套庞大的抽象。」


相关阅读


最后更新:2026-09-03