AI 智能体开发(二):技术栈选择与工具集成
导读:AI Agent 技术栈不是越复杂越好。你可以把这篇当成 Agent 技术栈选型流程来用:先判断任务是否真的需要 Agent,再选择框架、工具、状态管理和验证方式。
系列文章导航
先判断:你真的需要 Agent 框架吗?
很多项目不需要 LangChain、CrewAI 或 AutoGen。一个普通 LLM 调用加几条规则就能解决的任务,强行上 Agent 框架只会增加调试成本。
| 任务类型 | 推荐方案 | 原因 |
|---|---|---|
| 单轮问答/摘要 | 直接调用模型 API | 框架收益低 |
| 文档问答/RAG | LlamaIndex / LangChain | 需要检索和上下文管理 |
| 多工具调用 | LangChain / 自研轻量 runtime | 需要工具 schema 和日志 |
| 多角色协作 | CrewAI / AutoGen | 需要角色、任务和流程编排 |
| 生产级 Agent | 自研 runtime + 框架组件 | 更好控制权限、日志和回滚 |
选型公式:
1 | 框架价值 = 减少开发成本 + 生态组件复用 - 学习成本 - 调试成本 - 运行时复杂度 |
如果这个公式算下来为负,就先别上复杂框架。
官方来源与核验规则
框架能力、API 和最佳实践变化很快。优先看 官方来源:
核验规则:
- Star 数和热度不能代表适合你的项目;
- 必须用自己的工具调用和数据源测试;
- 生产前要验证日志、重试、超时、权限;
- 框架升级前先跑回归测试;
- 不把 demo 成功当成生产可用。
技术栈分层
一个可维护 Agent 系统一般分 6 层:
1 | 模型层 → Prompt/Planner → Tool Registry → State/Memory → Observability → Human Approval |
| 层 | 要解决的问题 |
|---|---|
| 模型层 | 选择 Claude/OpenAI/DeepSeek/Gemini 等模型 |
| Planner | 任务拆解和下一步决策 |
| Tool Registry | 工具定义、参数 schema、权限 |
| State/Memory | 多轮状态、短期上下文、长期记忆 |
| Observability | 日志、成本、错误、链路追踪 |
| Human Approval | 高风险动作人工确认 |
框架只能帮你解决一部分,不能替你设计边界。
LangChain 适合什么
LangChain 的优势是生态丰富,适合快速接入模型、工具、检索、链式流程。
适合:
- RAG 原型;
- 多工具调用;
- 需要大量现成集成;
- 快速验证 LLM 应用。
风险:
- 抽象层多,出错时不容易定位;
- 版本变化可能影响旧代码;
- 生产场景需要额外封装日志和权限。
最小验证:
1 | 让 Agent 调用一个 search 工具、一个 read 工具、一个失败工具,观察日志是否能定位问题。 |
LlamaIndex 适合什么
LlamaIndex 更偏数据和检索。适合文档问答、知识库、结构化数据检索。
适合:
- 企业知识库;
- 文档检索;
- RAG pipeline;
- 数据源连接。
风险:
- 检索质量比模型更关键;
- 数据切块、embedding、rerank 都要调;
- 不适合把所有问题都交给生成模型。
CrewAI / AutoGen 适合什么
多 Agent 框架适合任务角色明确的场景,比如研究员、写作者、审稿员、执行器分工。
适合:
- 研究报告;
- 多角色流程;
- 需要交叉审查的任务;
- 教学和原型演示。
风险:
- 多 Agent 容易增加 token 成本;
- 角色越多,越难调试;
- 如果没有明确验收标准,多个 Agent 只会互相放大错误。
什么时候自研轻量 runtime
如果你的工具、权限、日志、人工确认要求很强,自研轻量 runtime 反而更稳。
适合自研的情况:
- 工具调用很少但安全要求高;
- 需要严格审计;
- 框架抽象反而妨碍调试;
- 要和内部系统深度集成;
- 要控制每一步成本。
自研不等于从零造轮子。可以复用模型 SDK、向量库、队列和日志系统,只把 Agent 控制层自己掌握。
工具集成 checklist
| 检查项 | 合格标准 |
|---|---|
| schema | 每个工具有明确参数和返回结构 |
| permission | 写操作、删除、支付等需要人工确认 |
| timeout | 每个工具有超时 |
| retry | 重试次数有限制 |
| logging | 记录工具名、参数摘要、结果、错误 |
| fallback | 关键工具失败有替代路径 |
选型决策表
| 项目需求 | 建议 |
|---|---|
| 快速 RAG 原型 | LlamaIndex / LangChain |
| 多工具 LLM 应用 | LangChain + 自定义日志 |
| 多角色协作演示 | CrewAI / AutoGen |
| 生产级自动化 | 自研 runtime + 框架组件 |
| 强安全和审计 | 自研权限层,限制工具能力 |
FAQ
LangChain、CrewAI、AutoGen 哪个最好?
没有绝对最好。LangChain 偏生态,LlamaIndex 偏数据检索,CrewAI/AutoGen 偏多 Agent 协作。按任务选,不按热度选。
Agent 项目一定需要向量数据库吗?
不一定。只有需要检索外部知识或长期记忆时才需要。很多工具型 Agent 不需要向量库。
多 Agent 是否一定更强?
不一定。多 Agent 会增加成本和调试难度。只有角色分工确实能提高质量时才值得用。
总结
AI Agent 技术栈选择的核心不是追框架,而是明确任务边界、工具权限、状态管理和验证方式。先用最简单方案跑通,再逐步引入框架组件,才是更稳的 Agent 开发路线。

