← 返回教程库

Agent 框架选型:裸 SDK 自搭 vs 开箱框架,别选错了

最后更新 2026-06-25
你将学到
  • 理清裸 SDK 自搭和开箱框架在结构上的本质差别,知道各自控制骨架的是谁
  • 通过选型对比表判断自己的项目该走哪条路
  • 理解"子代理优先、框架按需"原则,避免一上来就上重框架的坑
  • 知道从裸 SDK 毕业到框架的信号是什么,以及毕业时要检查什么

做 Agent 到底自己搭还是用现成框架?这个问题比看起来更值得认真想——选错方向,要么你三周后在重复造轮子,要么你被框架的约定绑住,想加个特殊逻辑全是改库的活。

两条路都有人走通,但适合的场景不一样,搞混了才会进坑。


两条路各是什么

路线一:裸 SDK 自搭

裸 SDK 指直接用模型官方提供的 SDK,比如 Claude Agent SDKanthropic Python 包)或 OpenAI Agents SDK,自己写工具列表、消息历史、主循环。

你控制一切:工具怎么定义、循环什么时候停、出错了怎么处理,全是你的代码。没有额外的约定,也没有框架帮你做的"隐藏逻辑"。

骨架大概长这样(已在 2.3 节跑通过):

while True:
    response = client.messages.create(model=..., tools=tools, messages=messages)
    if response.stop_reason == "end_turn":
        break
    if response.stop_reason == "tool_use":
        # 你自己执行工具、把结果塞回 messages
        ...

就这些。几十行代码,四要素全齐,这已经是一个真实可用的 Agent 结构。

路线二:开箱框架

开箱框架在裸 SDK 之上加了一层:把常见需求打包进来,让你不用每次从零写。代表性的比如:

  • hermes-agent:自带技能加载(Skills)、对话记忆、基本的多工具编排,一条命令启动,约定大于配置。具体能力以官方仓库为准,本文写作时以公开文档为参考,不做超出官方说明的承诺。
  • LangGraph:图节点式编排,适合复杂状态机和多 Agent 图,有明确的节点/边/状态概念。
  • 其他开源框架(CrewAI、AutoGen 等):各有侧重,有的面向角色扮演式多 Agent,有的面向代码执行沙箱。

框架的本质:它帮你搭好了骨架,你填入自己的工具和逻辑。骨架是框架定的——你获得了开箱能力,但同时接受了框架的约定。


各自适用什么场景

裸 SDK 适合这些情况

学习/理解本质:你想真正搞懂 Agent 的工作原理,而不只是会用一个工具。裸 SDK 代码透明,每一行都对得上 Agent 四要素,出了问题加个 print 就能看到现场。

完全定制的业务逻辑:工具调用顺序很特殊、需要自定义的重试机制、要把 Agent 嵌进现有系统的某个位置——这些在框架里都是"逆着约定干活",不如自己搭。

轻量单 Agent 任务:任务不复杂,一个 Agent 搞定,不需要记忆持久化、不需要多 Agent 协作,裸 SDK 10 行启动,没有多余依赖。

要集成进自己代码库:你已经有一套服务架构,Agent 是其中一个模块,不是独立运行的。裸 SDK 就是一个 Python 函数,随便嵌。

开箱框架适合这些情况

快速上生产,要现成能力:你不在意学原理,就想让 Agent 跑起来,而且 hermes 这类框架提供的能力(记忆、技能加载)刚好够用——那就直接用,省掉自己写轮子的时间。

已有稳定的 Agent 模式,要复用:你的团队已经跑通了一套 Agent 模式,要在多个项目里复用,框架的约定帮你统一,新人上手也快。

需要可视化调试 / 托管运行:有些框架提供 trace、可视化编排界面,debug 体验比裸 print 好。如果你的 Agent 复杂到需要这些工具,值得引入。

复杂多 Agent 图:任务需要多个 Agent 协作、有条件分支、有并行执行,手写循环管理状态很快就失控。这时候 LangGraph 这类图编排框架的约定是帮你理清逻辑的。见 什么时候上 LangGraph


选型对比表

维度 裸 SDK 自搭 开箱框架(hermes 等)
上手速度 慢一点,要自己搭骨架 快,一条命令启动
骨架控制权 你全控,逻辑透明 框架控制,你填入工具/配置
定制能力 想加什么加什么 受框架约定限制,改深层逻辑要动框架代码
调试可见度 代码透明,print 随便加 依赖框架的 trace/日志,黑盒部分较多
内置能力 零,全自己写 记忆、技能加载、部署等开箱即用
学到什么 Agent 本质结构,触类旁通 学了该框架的约定,换框架重学
维护成本 你的代码,自己负责 框架升级可能带来 breaking change
适合阶段 学习期、深度定制 生产快跑、复用成熟模式

没有哪个绝对好。两条路不是竞争关系,是不同阶段、不同需求的工具——先裸 SDK 跑通本质,再按需引框架,是比较扎实的路径。


"子代理优先、框架按需"原则

这个原则回答一个具体问题:任务变复杂了,是加框架还是加子代理?

很多人遇到 Agent 任务变复杂,第一反应是"我是不是要引个框架"。但其实很多时候,一个主 Agent + 几个子代理就能解决问题,不需要动框架。

子代理的逻辑很简单:主 Agent 把一个复杂任务拆开,把子任务作为工具调用委派给子 Agent,子 Agent 在自己独立的上下文里干完,只把结论交回来。这个模式用裸 SDK 完全可以实现,不需要任何框架——一个函数调用另一个函数,主循环还是那个主循环。

什么时候这个原则不够用了

  • 子 Agent 之间有复杂依赖关系(A 完成后 B 和 C 并行,B 完成后 D 等),手写状态管理开始让代码难维护
  • 需要 checkpoint/断点续跑,任务执行几小时中间可能断掉
  • 需要可视化监控多个 Agent 的执行状态

到了这个程度,框架才是真的帮到你。在这之前,"先加子代理"通常比"先加框架"代价更低、风险更小。


什么时候该从裸 SDK 毕业到框架

毕业不是因为"代码行数多了",而是有几个具体信号:

信号一:你在反复手写同样的轮子

记忆序列化、工具注册、错误重试——这些你已经写了第三遍了。这时候找一个把这些约定打包好的框架,是合理的。

信号二:多 Agent 状态管理失控

你的代码里开始出现大量"Agent A 的结果要传给 B,B 没跑完 C 要等着"的手写逻辑,维护成本超过了收益。

信号三:团队新人上手成本高

你的裸 SDK 代码只有你自己看得懂架构,框架的约定能帮新人快速定位"这个 Agent 的工具在哪、记忆怎么存"。

信号四:需要框架提供的特定能力

比如 hermes-agent 的技能(Skills)加载方式你用得很顺手,不想自己实现这套机制——以官方仓库能力说明为准,确认它真的提供你需要的能力再引入。

毕业时要检查什么

  • 框架最后一次更新是什么时候?是否还在活跃维护?
  • 你的业务逻辑有没有和框架约定有明显冲突的地方?
  • 引入框架后,你还能写测试覆盖关键路径吗?

如果框架已经很久没更新、或者你发现逻辑要反复绕过框架的约定,宁可继续裸 SDK,别为了用框架而用框架。

如果你想先看看 hermes-agent 这条路长什么样,可以去 hermes-agent 上手一条命令 感受一下开箱框架的约定风格,再对比这篇做决策。


常见问题

Q:我已经用裸 SDK 跑通了一个 Agent,现在要迁移到 hermes,要改多少代码?

取决于你的工具定义方式和框架的约定差距。hermes 有自己的工具注册方式(具体以官方仓库为准),如果你的工具是标准的函数+描述结构,迁移成本可控。最好的方式是先跑一个最小的 hermes 示例,感受一下约定,再评估迁移量,不要先迁再发现不合适。

Q:项目上了线才想换框架,会很痛苦吗?

通常会有一段并行期,要同时维护两套逻辑。更好的做法是在迁移前明确"框架给你带来了什么"——如果只是"感觉更专业",这不是理由;如果是"记忆持久化我自己写了三次,hermes 打包好了这块",这才是值得迁移的理由。

Q:LangGraph 和 hermes 怎么选?

LangGraph 适合图状多 Agent 编排,有明确的节点/边/状态概念,学习曲线陡,适合复杂状态机。hermes 开箱体验更轻量,适合快速起步的单 Agent 或简单多 Agent 场景。如果你的任务用子代理模式就够,先不用选任何一个。想深入了解 LangGraph 的适用边界,看 什么时候上 LangGraph

Q:hermes 这类框架会不会停更,投入了白费?

所有框架都有这个风险,这也是"子代理优先、框架按需"原则的原因之一——裸 SDK 的主循环结构是你自己的代码,不会因框架停更而失效。框架引入得越晚、越克制,你对它的依赖就越浅,迁出成本就越低。引入前确认一下仓库的最近提交频率和 issue 活跃度,是基本尽职调查。


小结

  • 裸 SDK:骨架你定,控制透明,学到本质,适合学习期和深度定制。
  • 开箱框架:骨架框架定,开箱能力丰富,适合快速上生产和复用成熟模式。
  • 两条路不是对立的,先裸 SDK 跑通本质 → 识别到真实痛点 → 再按需引框架是比较扎实的路径。
  • 子代理优先:任务复杂了先加子代理,而不是先加框架——很多情况子代理就够了。
  • 毕业到框架的信号:反复手写同样轮子、多 Agent 状态管理失控、团队上手成本高、需要框架特定能力。

接下来可以去 AI Agent 智能体阶梯 看后续节,或者先跑一下 hermes-agent 上手一条命令 感受开箱框架的约定风格,再对比今天这篇做判断。

👉 看看 AI 数字员工落地指南,或了解 数字员工搭建实战课。需要为企业落地方案,欢迎找我们聊 企业服务

📄 来源 / 自校链接

本文为学习整理,关键步骤与代码请结合下列官方来源验证。

内容有错、看不懂、或想看下一期?告诉我们 →

本文为学习与落地整理,AI 工具与平台更新较快,关键步骤请结合官方最新资料验证。见免责声明