AI Agent 创建完整指南
一、Agent 是什么:核心概念与范式
1.1 定义
学术界(Lilian Weng 等)的经典定义:
Agent = LLM(大脑)+ Planning(规划)+ Memory(记忆)+ Tools(工具)
一句话概括:Agent = 大模型 + 规划 + 记忆 + 工具 + 执行引擎(范式串联)。
普通 LLM 是“输入 → 输出”的单向管道;Agent 具备 “感知 → 决策 → 执行 → 反馈”的闭环,是一个能自我迭代的循环系统。
1.2 与 Chatbot / Copilot 的区别
| 类型 | 类比 | 特点 | 核心区别 |
|---|---|---|---|
| Chatbot | 只会“嘴炮”的顾问 | 给建议,活儿自己干 | 无执行力 |
| Copilot | 旁边帮敲代码的实习生 | 说一句做一步 | 半自主 |
| Agent | 能独立接单的员工 | 自主拆解、调工具、执行、反馈 | 自主性 + 执行力 |
1.3 演进时间线(关键节点)
2022.11 ChatGPT 发布 → 对话式 AI 兴起
2023.03 AutoGPT 爆火 → 第一次定义 "Agent 能力"
2023.06 Function Calling 出现 → AI 开始能 "调工具"
2024.03 Devin 发布 → 定义 Agent 产品形态
2024.11 Anthropic 推出 MCP 协议 → 标准化工具连接
2025.03 Manus 走向大众 → 通用 Agent 首次破圈
2025.10 LangGraph 1.0 / CrewAI 2.0 → 多 Agent 框架成熟
2026.01 Claude Cowork 发布 → 执行型 AI 走向开放生态
2026.05 MCP 成为行业标准(1万+ Server,9700万月下载)
2026.07 Agent 落地元年,企业级应用全面爆发
2026 爆发三拼图:① 模型能力到位(工具调用准确率 95%+);② 协议标准统一(MCP);③ 工程实践成熟(LangGraph、CrewAI 等)。
1.4 核心范式(决定 Agent “怎么思考”)
| 范式 | 核心循环 | 优势 | 劣势 | 适用场景 |
|---|---|---|---|---|
| ReAct(Reason+Act,2022 DeepMind) | Thought → Action → Observation → … → Final Answer | 灵活、可解释、可追踪、可自我纠正 | 多步 token 消耗大、延迟高 | 探索性、检索、动态决策 |
| Plan-Act(规划-执行) | 生成计划 → 逐步执行 | LLM 调用少、效率高 | 计划难中途修改 | 步骤明确的任务 |
| Plan-Execute-Replan | Plan → 执行一步 → 评估 → 重规划 | 能应对结果不确定 | 复杂度高 | 结果不确定的任务 |
| Tree of Thoughts (ToT) | 多分支搜索最优解 | 创造性、推理强 | 计算成本高 | 创造性/复杂推理 |
| Reflexion(反思) | 失败 → 反思 → 重试 | 持续自我改进 | 耗时较长 | 代码生成、复杂推理 |
| 多 Agent 协作 | Manager 分配 + 多个专业 Agent 协作 | 分工清晰、协作高效 | 通信开销、一致性难 | 跨领域复杂任务 |
关键认知:Agent ≠ 更强的 LLM,而是“LLM + 工具 + 记忆 + 规划”的系统工程。面试/设计常考四模式:ReAct 边想边做、Plan-and-Solve 先想后做、ToT 多想几条路、Reflexion 做错想原因。
二、Agent 架构:四大核心模块
2.1 规划模块(Planning)—— 决定“做什么、先做什么”
- 目标解析:语义分析将自然语言指令转为结构化目标(如 JSON)。
- 任务分解:
- 链式分解:
部署博客网站 → 检查环境 → 装依赖 → 拉代码 → 构建 → 配 Nginx → 启动 - 树状分解:需求分析 / 设计 / 实现 的多级子树。
- 链式分解:
- 执行监控:实时跟踪进度,处理异常(API 失败自动重试或切换备选工具)。
- 反思与自修正:Reflexion 将失败经验沉淀为长期记忆,下次自动规避。
- 规划策略演进:Zero-shot → Few-shot → Hierarchical → Adaptive(按反馈动态调整)。
2.2 记忆系统(Memory)—— 让 Agent 跨会话“越来越聪明”
三层架构(来源 3、6 一致):
| 层级 | 别名 | 实现方式 | 存储内容 | 特点 |
|---|---|---|---|---|
| 工作记忆 | Working Memory | LLM 上下文窗口(Context Window) | 当前用户输入、本轮 thought/action/observation、检索到的相关信息 | 读取极快;有硬上限,溢出即淘汰/压缩;会话结束清空 |
| 短期记忆 | Short-term | 滑动窗口 + 摘要压缩;会话级历史存向量库 | 当前会话已完成操作序列 | 超窗口归档到长期或丢弃 |
| 长期记忆 | Long-term | 向量数据库 + RAG(ChromaDB 等);可升级为 GraphRAG / 结构化记忆(Mem0、Zep、Graphiti) | 用户偏好、项目知识、经验教训、操作记录 | 跨会话持久化 |
长期记忆内容分类(情景记忆 / 语义记忆 / 程序记忆);演进路径:向量记忆 → 结构化记忆(MemGPT/Graphiti)→ 记忆即基础设施(Mem0 Cloud、Zep)。
记忆管理挑战:压缩、遗忘(该记/该丢)、更新(偏好变化)、检索精度。
2.3 工具系统(Tools)—— Agent 与外部世界交互的“手”
工具定义:通过 function calling 机制描述功能、参数、返回值(JSON Schema),LLM 据此判断何时调、传什么参。
工具调用五步链路(来源 3 关键结论):
- 意图判定:规划模块判断自身知识不足,需外部工具。
- 结构化指令输出:LLM 只输出标准调用指令(工具名 + 参数),不直接执行。
- 系统拦截解析:后台程序提取工具名/参数,做合法性校验。
- 真实执行:后台启动工具(联网/读文件/调接口/运算)。
- 结果回传闭环:结果送回 LLM 短期记忆,继续下一轮推理。
核心原则:LLM 只负责“想清楚调什么工具”,真正动手的是后端程序,模型永不直触外部系统。
工具分类:文件系统(read/write/edit/glob/grep)、网络(web_search/web_fetch)、Shell(bash/exec)、数据库(query/execute)、外部 API(github/jira/slack)、浏览器自动化(click/type/screenshot)。
工具编排模式:单步调用 / 链式调用(A→B→C)/ 并行调用(无依赖并发)/ 条件调用(失败降级)。
关键设计点:错误处理(失败信息回传 LLM 决定重试或换方案)、超时控制、权限管控(危险操作需确认)、并行调用。
协议选型:Function Calling vs MCP
| 维度 | Function Calling | MCP(Model Context Protocol) |
|---|---|---|
| 提出方 | OpenAI/Claude/Gemini 各一套 | Anthropic 2024.11,已成行业标准 |
| 耦合度 | 厂商原生、紧耦合 | Client-Server 解耦、跨模型 |
| 上手 | 快 | 需多一层 Server 封装 |
| 价值 | 适合简单/单模型 | 一次实现,处处可用 |
MCP 三大能力:Tools / Resources / Prompts;传输方式:Stdio(本地) vs SSE(远程)。
2.4 执行引擎(Execution)—— 按范式串联各模块
最简主循环 SimpleAgent:感知(Perception)→ 决策(Decision, LLM)→ 执行(Execution)→ 反馈(Observation) 无限循环直至任务完成(ANSWER)。感知负责文本/文件/网络/多模态输入;决策负责理解目标、定计划、选工具、评结果;执行带日志返回结果。
三、从零创建 Agent 的步骤
3.1 单 Agent 构建(以 LangChain 为例)
- 环境准备:Python 3.11+,安装
langchain、openai、python-dotenv、向量库等。 - 定义工具集:用
@tool装饰器或自定义类方法(search_web / read_file / write_file / execute_python / calculate 等)。 - 决策/规划模块:选 ReAct(
create_tool_calling_agent)或 Plan-and-Solve。 - 组装主循环:
UniversalAgent类 —— 初始化 LLM、系统提示词、工具映射,run()中迭代 Think → Tool → Observe 直至 Final Answer。 - 加记忆:挂载
ShortTermMemory(滑动窗口 + 摘要)+LongTermMemory(ChromaDB + RAG)成AgentWithMemory。
核心代码片段(LangChain 工具调用 Agent):
@tool
def calculate(expression: str) -> str:
"""计算数学表达式..."""
tree = ast.parse(expression, mode='eval')
return str(safe_eval(tree.body))
agent = create_tool_calling_agent(llm, tools, prompt)
agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True, max_iterations=10)
3.2 多 Agent 协作构建
| 框架 | 核心写法 | 风格 |
|---|---|---|
| CrewAI | 定义 Role(researcher/analyst/writer)→ Task → Crew(seq/parallel)→ kickoff | 角色扮演,易上手 |
| AutoGen(微软) | UserProxy + AssistantAgent → GroupChat → Manager → initiate_chat | 对话式,支持代码执行 |
| LangGraph | TypedDict 状态 → 节点函数(planner/researcher/…)→ StateGraph 加边/条件路由 → compile → invoke | 图编排,最灵活 |
LangGraph 状态与节点示例:
class AgentState(TypedDict):
task: str; plan: str; research_result: str; analysis_result: str; report: str; current_step: str
def reviewer_node(state):
if "PASS" in response.content: state["current_step"] = "done"
else: state["current_step"] = "analyze" # 打回重做
workflow.add_conditional_edges("reviewer", route_after_review, {"analyst":"analyst", END:END})
Multi-Agent 主流协作模式(来源 6):分层协作(Manager + 执行者)/ 对等协作(平等协商)/ 流水线(A→B→C)/ 竞争择优(多方案择优)。
3.3 生产部署步骤
- 安全沙箱:Docker 隔离(
AgentSandbox限内存/CPU、禁用网络),如:docker run --rm --memory 512m --cpus 0.5 --network none --read-only -v work_dir:/workspace:ro image python agent_code.py。 - 权限控制:
PermissionController细粒度路径/域名白黑名单;最小权限原则。 - 监控:
AgentMonitor记日志、指标、异常告警;使用 LangSmith / Langfuse 追踪执行链路。
四、主流框架选型对比
4.1 框架横向对比
| 框架 | 核心关注点 | 独特优势 | 典型场景 | 学习曲线 |
|---|---|---|---|---|
| LangChain | 基于 LLM 的应用开发 | 生态全、集成丰富、灵活 | 对话助手、任务执行、内容生成 | 中(陡) |
| LangGraph | 有状态多角色 Agent 系统 | 状态机思维 + 分支/循环 + 强类型状态 + 可视化 | 复杂流程、多 Agent 协同、条件分支 | 高 |
| CrewAI | 基于角色的协作团队 | 模拟人类团队、动态任务分配 | 复杂项目管理、跨学科问题 | 中高 |
| AutoGen(微软) | Multi-Agent 对话与任务 | 代码生成执行、人机协同、错误恢复 | 自动编码助手、协作式系统 | 中 |
| LlamaIndex | RAG 与知识管理 | 检索专精、知识库完善 | 企业知识库问答、文档检索 | 平缓 |
| AutoGPT | 自动化 Agent 系统 | 自主规划执行、快速原型 | 简单自动化、验证想法 | 平缓 |
| MetaGPT | SOP 编码的多 Agent | 消息订阅/发布、角色专业化 | 软件工程流程模拟 | 中 |
| Semantic Kernel | 企业级 AI 集成 | 安全合规、对接现有代码库 | 企业智能助理、流程自动化 | 低 |
| Dify | 低代码 Agent 平台 | 可视化、开箱即用 | 快速搭建业务 Agent | 低 |
4.2 选型速查
- 需要快速构建通用 AI 助手 → LangChain
- 开发自适应复杂系统 / 多 Agent 可控协作 → LangGraph
- 模拟人类团队协作 → CrewAI
- 企业级 AI 功能嵌入 → Semantic Kernel
- 构建高级对话/代码机器人 → AutoGen
- 主打 RAG / 知识库问答 → LlamaIndex
- 快速原型验证 → AutoGPT
框架选型核心原则:需求匹配、团队能力、社区支持、性能要求。“没有最好的框架,只有最合适的框架”,必要时混合使用(如 LangChain 负责 Agent + LlamaIndex 负责 RAG)。
五、工程化挑战与最佳实践
5.1 可靠性保障(生产最大障碍:Agent 不确定性)
- 确定性回退:关键步骤提供规则兜底(
safe_execute捕获异常转规则引擎)。 - 人机协同(Human-in-the-loop):风险等级超阈值时引入人工确认。
- 执行追踪与可观测性:记录每个 Thought-Action-Observation 循环,建立成功率/平均步数/延迟指标。
5.2 成本控制(多轮调用易累积高成本)
| 策略 | 效果 | 实现 |
|---|---|---|
| 模型路由 | 降本 40-60% | 简单任务用小模型,复杂任务用大模型 |
| 响应缓存 | 降本 20-30% | 缓存常见查询响应 |
| 批量处理 | 降本 30-50% | 合并多个小请求 |
| 早期终止 | 避免无效开销 | 设最大步数、超时时间 |
5.3 安全与对齐
- 工具滥用:
ToolPolicy权限校验(敏感工具限 admin)。 - 提示注入:用 Guardrails(ToxicLanguage / PromptInjection / PII)过滤输入。
- 数据泄露:数据脱敏、最小权限、审计日志溯源。
- 沙箱隔离:生产必套 Docker + 权限白名单 + 监控告警。
5.4 性能优化
- 模型量化(FP32→INT8,提速 3-5 倍,精度损失 <1%)、异步任务处理、高频查询缓存(命中率 90%+)。
- 记忆三层存储(热数据向量库 + 温数据对象存储 + 冷数据归档),90% 查询控制在 200ms 内。
5.5 评估方法论
- 三层评估:最终结果 / 中间步骤 / 效率成本(Anthropic 方法论)。
- LLM-as-Judge:用 JSON 打分,不只看结果看过程。
六、2026 趋势与后续开发路线建议
趋势
- MCP 成为行业标准,工具生态“一次实现,处处可用”。
- 多 Agent 协作网络:专家 Agent 网络、层级化架构、社会性行为模拟。
- 记忆即基础设施:GraphRAG、Episodic Memory、Mem0/Zep 等托管记忆。
- Agent 即服务(AaaS)、跨 Agent 通信协议、边缘 Agent、多模态 Agent。
- 从 Demo 到生产:成功 Agent 不是追求完全自主,而是建立有效的人机协作。
给后续 agent 开发任务的建议路线
- MVP 阶段:用 Function Calling + LangChain 快速验证想法。
- 能力补全:加三层记忆(短+长+RAG)、选 ReAct 或 Plan-Execute-Replan 范式。
- 规模化:复杂流程上 LangGraph,多角色任务上 CrewAI/AutoGen。
- 生产化:接 MCP 解耦复用工具、套 Docker 沙箱、加权限白名单与监控、做成本与可靠性治理。
七、参考资源
- CSDN《2026 AI Agent 开发完全指南》https://blog.csdn.net/weixin_54908067/article/details/162665003
- 百度开发者中心《AI Agent 架构全解析》https://developer.baidu.com/article/detail.html?id=6748051
- CSDN《一文拆解 AI Agent 完整技术架构》https://blog.csdn.net/2601_96304670/article/details/161955341
- 知乎《AI Agent 常用框架对比》https://zhuanlan.zhihu.com/p/1942991087993062864
- 个人博客《LangChain、LlamaIndex、AutoGPT 怎么选》https://linn0813.github.io/2025-12-20-llm-agent-framework-comparison/index.html
- 掘金《从 Tool-Calling 到 Autonomous Agent》https://juejin.cn/post/7642229486806646835
- 架构详解博客 https://liusir521.github.io/p/ai-agent-架构详解范式记忆规划与工具系统/
- 官方文档:LangChain(python.langchain.com)、LlamaIndex(docs.llamaindex.ai)、AutoGPT(github.com/Significant-Gravitas/AutoGPT)、MCP(modelcontextprotocol.io)、LangChain 学习项目(github.com/wlddhj/learn_langchain)
更多推荐


所有评论(0)