深色模式
主流框架选型
是什么
把"调用模型、接工具、管记忆、编排循环"这些重复劳动封装成库。选对框架能提速,选错会绑定过重、难以调试。
为什么需要
自己从零搭 Agent 很灵活但慢;框架提供记忆、工具、检索、编排的现成积木。关键是清楚框架帮你做了什么、以及你能否绕过它。
主流框架对比
| 框架 | 定位 | 强项 | 适合 |
|---|---|---|---|
| LangChain | 通用编排 | 生态最大、组件多 | 快速搭原型、接各种集成 |
| LlamaIndex | 数据/RAG | 检索、索引最强 | 知识库问答、文档 Agent |
| AutoGen | 多 Agent | 对话式多 Agent | 协作/辩论型任务 |
| CrewAI | 角色协作 | 角色+流程直观 | 类团队分工任务 |
| Pi | 工程化 Agent 套件 | 统一 LLM API + 持久会话 + 编码 Agent | 要做"产品级"Agent 运行时(见 Pi 源码学习) |
| 原生实现 | 自己写 | 完全可控、零依赖 | 逻辑简单、需极致可控/低成本 |
选型维度
- 可控性:能否跳出框架做自定义?抽象层越厚越难调试。
- 生态:是否已有你需要的工具/连接器?
- 学习曲线:团队能否快速上手?
- 可观测:是否方便接入 tracing(见 10-observability-eval)?
常见陷阱
- 过度依赖抽象:被框架的"魔法"困住,出问题看不懂调用链。
- 盲目套框架:简单任务用重框架,体积大、依赖多、启动慢。
- 版本漂移:LangChain 等大框架 API 变动频繁,锁版本、写好适配层。
建议
新手用 LangChain/LlamaIndex 快速验证想法;上线到生产、追求可控时,逐步把核心循环改写为原生 + 少量库,仅保留真正省力的部分。
参考
- 各框架官方文档(LangChain / LlamaIndex / AutoGen / CrewAI)
- Pi 项目源码(Pi 源码学习)