首页 › ai-agents › 七栈各押一原语:选型该问什么

七栈各押一原语:2026年第一方Agent SDK选型该问什么

概述

2026年年中回看智能体框架战场,最大变化不是哪个模型更强,而是框架层被模型厂商集体"吃掉"了。OpenAI、Google、Anthropic、AWS、微软五家各自发布了第一方Agent SDK,加上仍在阵地的LangGraph与CrewAI,主流选择收敛为七个栈。它们都在向同一个标准靠拢——MCP做工具、A2A做智能体互通——所以工具集成的差异化已被抹平,真正的分水岭只剩一件事:每个栈押注的核心编排原语(primitive)是什么。手递手(handoff)、子智能体层级、代码原生的harness循环、模型驱动的tools-first、对话+插件、状态图、角色编组——七种原语决定了你写代码的姿势、迁移成本,以及这套系统适合解什么问题。本文逐一拆解这七种原语的架构心法,给出每个栈的代码骨架,最后落到一个三问选型法。

对比总览

框架/SDK 维护方 核心原语 控制流哲学 原生语言 MCP/A2A 最适合场景
OpenAI Agents SDK OpenAI Handoff(手递手) Agent间显式转交 Py/TS/Go 是/是 客服转接、流水线分诊
Google ADK 2.0 Google 子Agent层级+内置工作流 代码优先的树形编排 5语言 是/是 多模态、企业混合云
Claude Agent SDK Anthropic Harness+文件系统subagent 模型驱动循环、harness驻会 Py/TS 是/是 编码自动化、长任务
AWS Strands Agents AWS 模型驱动loop+tools-first 写函数、模型自己编排 Py/TS 是/是 AWS原生、工具密集
Microsoft Agent Framework 1.0 微软 对话+插件(AutoGen×SK) 会话群聊+内核插件 C#/Py 是/是 企业.NET、研究协作
LangGraph LangChain 状态图(节点/边/状态) 显式确定性图 Py/TS/JS 是/是 高合规、可审计流程
CrewAI CrewAI 角色/Crew(role/goal) 拟人化分工协作 Py 是/部分 内容生产、流程自动化

七栈的底层API已高度同质化,差异上移到了"你怎么描述一个智能体系统"这一层。下面逐一拆解。

深度分析:七种原语

1. OpenAI Agents SDK —— 押注 Handoff(手递手)

OpenAI在2025年3月用Agents SDK替换了实验性的Swarm,2025年10月又叠加了AgentKit。它的核心赌注只有一个动词:handoff。整个系统被建模成一队Agent,每个Agent持有自己的工具和指令,当一个Agent判断"这事不归我管"时,它把会话控制权显式转交给另一个Agent。这与传统函数调用不同——handoff是控制流的迁移,调用栈真的"跳"过去了。

from agents import Agent, Runner

triage = Agent(name="分诊", instructions="判断意图,不归你的就转交")
billing = Agent(name="计费", instructions="处理账单问题", tools=[query_bill])
triage.handoffs = [billing]

result = Runner.run_sync(triage, "我要查上个月账单")

优点:心智模型极简,一个handoffs列表就能搭出多Agent流水线;guardrail、tracing、session都是一等公民。缺点:handoff是单向控制转移,做不了复杂并行或条件回路,需要时得自己在外层套循环。变现评估:最适合做"客服转接训练营",门槛低、演示效果直观;但它强绑定OpenAI模型与Responses API,多模型场景下handoff语义无法跨厂商复用。

2. Google ADK 2.0 —— 押注 Agent 层级 + 内置工作流

ADK(Agent Development Kit)2025年4月开源、2026年4月升到2.0、支持五种语言。它的原语是Agent的树形层级:一个root Agent可以挂载sub_agents,再叠加Sequential/Parallel/Loop三种内置workflow,让"多Agent如何协作"成为框架显式提供的能力,而非手写编排。

from google.adk import Agent
from google.adk.tools import FunctionTool

def get_balance(uid: str) -> dict:
    return {"balance": 1200}

root = Agent(
    name="root", model="gemini-2.5-pro",
    sub_agents=[Agent(name="billing", tools=[FunctionTool(get_balance)])],
)

优点:代码优先(code-first),不像LangGraph那样要画图;内置workflow覆盖了90%的多Agent拓扑,少写胶水代码。缺点:层级一旦深了,调试链路偏黑盒,且最佳体验绑定Gemini模型与Vertex生态。变现评估:适合做"企业混合云智能体"产品包,尤其已有GCP的客户;多语言支持是它的差异化护城河。

3. Claude Agent SDK —— 押注 Harness + 文件系统 subagent

这是七栈里架构最特殊的一个。Anthropic在2025年10月把Claude Code SDK重命名为Claude Agent SDK,核心特征是harness驻会:模型驱动的主循环(读提示→选工具→执行→回写)跑在一个持久会话里,而subagent、skill、hook、permission都是挂在这个harness上的扩展点。subagent甚至能写成文件——在.claude/agents/auditor.md里用前置元数据声明name、description、tools,就得到了一个可被主Agent委派的子智能体。

from claude_agent_sdk import query, ClaudeAgentOptions

opts = ClaudeAgentOptions(
    allowed_tools=["mcp__stripe__*", "Read", "Bash"],
    permission_mode="acceptEdits",
)
async for msg in query(prompt="导出本月对账单并核对异常", options=opts):
    print(msg)
<!-- .claude/agents/auditor.md -->
---
name: auditor
description: 核对账单异常的子智能体
tools: [Read, Grep, mcp__stripe__*]
---
你是一名严谨的财务审计员……

优点:编码与长任务自动化体验断档领先,hook+permission模式让"人机协同"天然内建;agent即文件,版本管理与团队协作极友好。缺点:这套harness心智强绑定Claude模型,迁移到别家几乎等于重写——OpenAI和Anthropic各自出了官方迁移cookbook,正是因为原语无法1:1映射。变现评估:做"AI编码工程师/Dev自动化"产品的首选底座,训练营可主打subagent编排与hook工程。

4. AWS Strands Agents —— 押注 模型驱动 loop + tools-first

Strands 2026年5月21日升到1.0,一年内PyPI下载破1400万。它的哲学是tools-first、model-driven:你只管写工具函数,加个@tool装饰器,剩下的编排(选哪个工具、什么顺序、何时停)全交给模型在loop里自己决定。Strands官方称之为"model-driven"——智能体本身就是一个被工具集武装起来的Python函数。

from strands import Agent, tool

@tool
def get_balance(uid: str) -> str:
    return f"用户{uid}余额1200元"

agent = Agent(tools=[get_balance])
agent("查一下用户u1的余额,低于1000就提醒他充值")

优点:上手最快,从安装到第一个能调工具的Agent不到10行代码;原生MCP、A2A、多Agent原语齐全,与Bedrock AgentCore深度集成。缺点:控制流交给模型意味着确定性弱,合规审计要求高的场景要自己加约束;强AWS生态绑定。变现评估:极适合做"一天上手Agent开发"的入门训练营,工具密集型SaaS产品也契合。

5. Microsoft Agent Framework 1.0 —— 押注 对话 + 插件(AutoGen×Semantic Kernel 合体)

这是2026年最大的一次整合。微软在2026年4月3日发布Agent Framework 1.0 GA,正式把AutoGen和Semantic Kernel合并进同一个SDK(.NET与Python双语言、LTS支持)。它的原语是"会话群聊(AgentGroupChat)+ 内核插件(kernel/plugin)"——AutoGen的多Agent对话能力负责协作,Semantic Kernel的函数插件机制负责工具,两者在同一个内核里统一。

var agent = new ChatCompletionAgent {
    Name = "Triage",
    Instructions = "判断并转交",
    Kernel = kernel,   // Semantic Kernel 插件 = 可被调用的函数
};
var chat = new AgentGroupChat(agent, billingAgent) {
    ExecutionSettings = new() {
        TerminationStrategy = new ApprovalStrategy(),
        SelectionStrategy = new SequentialSelectionStrategy(),
    }
};

优点:企业.NET栈的无缝选择,策略模式(终止/选择策略)让多Agent治理很工程化;旧AutoGen/SK项目有官方迁移路径。缺点:概念多、API面广,学习曲线在七栈里偏陡;强微软生态。变现评估:面向已有Azure/.NET团队的企业落地咨询是稳妥方向,研究型多Agent协作场景也适用。

6. LangGraph —— 押注 状态图(节点/边/共享状态)

LangGraph把智能体系统建模成一张有向图:节点是函数,边是控制流,状态是一个在节点间流转的共享字典,循环、分支、checkpoint都由图引擎显式管理。它是七栈里最"重"也最确定的一个——你不依赖模型的"自主判断"来决定走哪条路,而是把路用代码画死。

from langgraph.graph import StateGraph, START, END
from typing import TypedDict

class State(TypedDict):
    msg: str; resolved: bool

g = StateGraph(State)
g.add_node("triage", triage_fn)
g.add_node("billing", billing_fn)
g.add_conditional_edges("triage",
    lambda s: "billing" if "账单" in s["msg"] else END)
g.add_edge(START, "triage")
app = g.compile(checkpointer=MemorySaver())

优点:确定性最高、最可审计,checkpointing让长流程可断点续跑与回放,合规与生产稳定性强。缺点:画图心智成本高,简单"调三个工具的客服机器人"用它是杀鸡用牛刀;模型无关但生态仍偏LangChain。变现评估:金融、医疗等高合规行业落地的首选底座,"可审计智能体"是清晰的卖点。

7. CrewAI —— 押注 角色 / Crew(role/goal/backstory)

CrewAI走的是拟人化分工路线:每个Agent有role(角色)、goal(目标)、backstory(人设),一组Agent组成Crew,任务(Task)分配给角色,框架负责驱动它们协作产出。它是七栈里最"叙事化"的,对非技术用户最直观。

from crewai import Agent, Task, Crew

analyst = Agent(role="账单分析师",
    goal="核对异常并出具报告",
    backstory="十年企业财务审计经验")
task = Task(description="核对u1本月账单",
    expected_output="异常清单", agent=analyst)
Crew(agents=[analyst], tasks=[task]).kickoff()

优点:上手友好、演示效果好,role抽象让业务人员也能参与设计;flows扩展了流程编排能力。缺点:role/backstory对最终质量的实际贡献常常被高估,稳定性与token成本随角色数上升;多Agent治理弱于MAF和LangGraph。变现评估:内容生产、营销自动化训练营的王者,包装成"AI团队"产品对中小企业吸引力强。

七原语决策架构

flowchart TD
    Q[开始选型:你要解决的核心问题是什么?]
    Q --> D1{需要确定性/可审计控制流?}
    D1 -->|是| LG[LangGraph<br/>押注:状态图]
    D1 -->|否| D2{核心是编码/长任务自动化?}
    D2 -->|是| CL[Claude Agent SDK<br/>押注:Harness+subagent]
    D2 -->|否| D3{多Agent对话/研究协作?}
    D3 -->|是| D4{企业.NET栈?}
    D4 -->|是| MS[Microsoft Agent Framework<br/>押注:对话+插件]
    D4 -->|否| CR[CrewAI<br/>押注:角色/Crew]
    D3 -->|否| D5{要最简工具Agent?}
    D5 -->|是| D6{强云绑定偏好?}
    D6 -->|AWS| ST[Strands<br/>押注:tools-first loop]
    D6 -->|OpenAI| OA[OpenAI Agents SDK<br/>押注:handoff]
    D6 -->|GCP/多语言| AD[Google ADK<br/>押注:Agent层级]

    classDef pick fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px;
    class LG,CL,MS,CR,ST,OA,AD pick;

这条决策链只问四个问题:要不要确定性、是不是编码任务、要不要多Agent协作、有没有云偏好。七种原语各自在某个象限里是最优解,没有"全局最佳"。

推荐方案

贯穿所有选择的一个判断:七栈的工具层(MCP)与互通层(A2A)已同质化,差异化只剩编排原语;而原语就是迁移成本本身。押注一个栈,本质是押注一种"描述智能体系统的语言"——选错原语,换模型时省下的钱会在重写编排时全赔进去。所以选型前,先回答那四个问题,而不是先看哪家模型便宜。

参考来源

  1. AI Agent Frameworks (2026 Update): 8 SDKs Compared — 含精确2026版本事实的8个SDK横向对比,含Claude Agent SDK详解
  2. Google ADK vs OpenAI vs Claude Agent SDK: The 2026 Three-Way Comparison — 三方第一方SDK的架构与原语对比,含ADK 2.0五语言细节
  3. Microsoft Agent Framework 1.0 Ships: Semantic Kernel + AutoGen Unified — MAF 1.0 GA(2026-04-03)合并AutoGen与SK的技术拆解,含MCP/A2A
  4. Claude Agents SDK vs. OpenAI Agents SDK vs. Google ADK: Hands-on — 三大SDK核心原语与代码级实操对比
  5. Strands Agents — Open Source AI Agent SDK — AWS Strands官方站,model-driven/tools-first设计与多Agent原语文档
  6. Migrating from the OpenAI Agents SDK | Claude Cookbook — 官方迁移指南,印证handoff与harness原语无法1:1映射的迁移成本

[!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学通信知识星球海报-扫码加入