
读完需12 分钟 | 面向有 1 年以上开发经验、懂 LLM 基本概念的同学引言用 ChatGPT 查资料每一步都得自己打字告诉它该干啥。但 Cursor、Claude 这些同样基于 LLM 的工具却能自己拆需求、读写文件、跑命令、看报错修 bug——你全程只需要看着。差在哪因为后者是一个 Agent。可以这样理解ChatGPT 是一个被关在房间里的天才——能思考但出不了门。Agent 就是给这个天才装上了眼睛、双手、笔记本和日程表。它能感知周围、制定计划、调用工具、记住聊到哪了然后自己把事情干完。用一句话概括Agent LLM Planning Memory Tool Use。下面从概念到组成再到实战把 Agent 的完整图景拆开讲清楚。读完之后你会明白Agent 不是什么黑魔法而是一套你今天就能上手的工程设计。一、什么是 AI Agent1.1 从 LLM 到 AgentLLM 的本质是一个函数文本进去文本出来。能写诗、能翻译、能回答复杂问题——但有个致命局限只能想不能做。它不知道今天天气怎么样发不了邮件也查不了数据库。每次对话一结束它就全忘了。Agent 解决的正是这些限制。它把 LLM 当作认知中枢大脑在外面包了一层基础设施让模型能感知环境读取当前状态、用户输入、工具返回的结果制定计划把帮我订一张去北京的机票拆成查航班、比价、填信息、付款调用工具通过 API 查航班、调支付接口、写数据库记住上下文知道你是谁、之前聊了什么、上次订票选了靠窗下面是 LLM 和 Agent 的核心差异一眼看懂┌─ LLM传统对话模型─────────────┐ │ │ │ 用户输入 ──→ LLM 推理 ──→ 文本输出 │ │ │ │ 单次线性管道无记忆无行动能力 │ └────────────────────────────────────┘ ┌─ AI Agent智能体────────────────────────────────────┐ │ │ │ ┌─→ 规划模块 ──→ 工具调用 ──→ 外部世界 │ │ │ ↑ │ │ 用户输入 ──→ LLM 认知中枢 ────────────────┘ │ │ ↑ ↓ │ │ │ └──→ 记忆存储 ←── 观察结果 │ │ └─────────────────────┘ │ │ │ │ 感知 → 思考 → 行动 → 记忆闭环系统 │ └──────────────────────────────────────────────────────────┘LLM 像单次输入输出的直管道Agent 是一个感知-思考-行动-记忆的闭环系统。LangChain 2026 年提出了一个更精炼的说法Agent Model Harness。Harness 就是连接模型和真实世界的脚手架负责每一步给模型喂正确的上下文——工具返回的结果、历史对话、记忆里的信息。说白了Agent 就是让模型在一个循环里调用工具直到任务搞完。1.2 Agent 的四个特征特征啥意思举个栗子自主性自己决策不用人一步步教收到需求后自己拆任务不等你喊下一步感知能力能理解输入和反馈API 报错了能解析错误信息行动能力调用工具改变外部状态读写文件、调 API、执行代码适应性根据反馈调整策略API 挂了换备用方案重试 3 次还不行就转人工啥时候用 Agent任务需要多步推理且步骤有依赖比如分析这个 CSV 然后生成可视化报告需要动态决策客户对话里根据情绪换策略需要结合实时信息“查北京明天天气下雨提醒我带伞”啥时候别用 翻译一段文字、写周报、简单问答——普通 LLM 调用就够了。Agent 的多轮调用和工具路由会让简单任务变慢变贵不值当。二、Agent 的核心组件这是最关键的章节。四个组件不是各干各的而是一个有机协作的系统。下面逐个拆。2.1 LLM——认知中枢大脑干啥的负责推理、意图识别、决策。Agent 的调度中心所有组件围着它转。没它行吗不行。没有 LLM系统就只能按 if-else 规则跑——用户说 A 就调接口 B。有了 LLM系统能理解帮我订个便宜的背后的意思要查几个平台比价、可能想用优惠券、甚至能接受红眼航班然后自己规划路径。怎么增强手段啥时候用效果微调Fine-tuning需要模型懂特定领域的术语比如医疗问诊RAG需要访问私有或实时知识库企业客服知识库思维链CoT多步推理任务数学题、逻辑分析# LLM 在 Agent 里的角色接收上下文输出决策 from langchain.chat_models import init_chat_model # 初始化模型——Agent 的大脑 model init_chat_model( anthropic:claude-sonnet-4-5, temperature0.3 # Agent 场景用低温度决策更稳 )2.2 Planning——规划模块策略干啥的把复杂目标拆成可执行的子任务一边执行一边根据反馈调整。没它行吗没有规划Agent 面对帮我分析这三个季度的销售数据找出下滑原因直接傻眼——得先加载数据、做同比环比、定位异常月份、关联外部因素、最后写报告。规划模块就是帮它自动画出这条路径。三种模式对比模式① 无反馈规划 制定完整计划 ──→ 顺序执行 ──→ 输出结果 适合步骤固定的流程如订单状态查询 模式② 带反馈规划 制定初始计划 ──→ 执行一步 ──→ 结果对吗 ├─ 对 → 继续下一步 └─ 不对 → 修正计划 → 重新执行 适合需要动态调整的任务如客户投诉处理 模式③ ReAct 循环 思考(Thought) ──→ 行动(Action) ──→ 观察(Observation) ↑ │ └──────────────────────────────────────┘ 适合大多数 Agent 的默认起点选型指南流程固定选无反馈需要纠偏选带反馈不确定选 ReAct。ReAct 超过 10-15 步还搞不定就升级到带反馈规划。2.3 Memory——记忆系统经验干啥的让 Agent 拥有跨会话的记忆——从每次都是陌生人变成老朋友。没它行吗LLM 天生无状态每次调用都是独立的。不记得上一轮说了啥更别说上周的偏好。没有记忆Agent 就是个只有 7 秒记忆的天才。记忆架构全景┌─ 短期记忆 ────────────────────┐ │ 当前会话上下文 │ │ 存放Redis / 内存 │ │ 有效期~30 分钟 │ └──────────┬────────────────────┘ │ 重要信息沉淀 ↓ ┌─ 长期记忆 ────────────────────────────────┐ │ │ │ ┌─ 情景记忆 ─┐ ┌─ 语义记忆 ─┐ │ │ │ 事件时序 │ │ 向量数据库 │ │ │ │ 上次聊了啥 │ │ 用户偏好/知识 │ │ │ └───────────┘ └────────────┘ │ │ │ │ │ │ └──────┬───────┘ │ │ ↓ │ │ ┌─ 记忆整合Dreaming 管道─┐ │ │ │ 空闲时后台整理、去重、构建知识图谱 │ │ │ └────────────────────────────┘ │ └────────────────────────────────────────────┘三种记忆类型类型放哪活多久干嘛用短期记忆上下文 / Redis当前会话~30 分钟记住这轮聊了啥长期-情景记忆向量数据库永久“上次用户让我查的是纽约天气”长期-语义记忆向量库/知识图谱永久用户偏好、常见问答、业务知识Red Hat 2026 年提了个有趣的概念——Dreaming管道Agent 空闲时在后台整理记忆、检测矛盾、构建知识图谱就像人睡觉时大脑在整理白天的记忆。这还是个前沿方向但思路很妙。工程参考Redis 存短期会话30 分钟过期 向量数据库Pinecone / Milvus存长期知识 定期把知识蒸馏成规则来减少检索成本。啥时候加记忆 单次独立任务翻译不需要多轮对话客服加短期个性化服务私人助理加长期。注意检索记忆要消耗 token先想清楚 Agent 到底需要记得什么别一股脑全存。2.4 Tool Use——工具调用手脚干啥的Agent 和外部世界打交道的通道。API 调用、搜索引擎、计算器、代码执行器、数据库查询——只要能让 Agent 获取信息或产生效果都算工具。没它行吗没有工具Agent 只能空想。不知道今天天气、不会做精确计算、查不了数据库。工具让它从一个会说话的模型变成一个能干活的助手。底层原理Function Calling。LLM 输出结构化的 JSON描述要调哪个函数、传什么参数Harness 层负责实际执行结果再喂回模型。from langchain_core.tools import tool from pydantic import BaseModel, Field # 工具一查天气 tool def get_weather(city: str) - str: 查询指定城市的实时天气。输入城市中文名返回温度和天气状况。 weather_data { 北京: 晴32°C湿度 45%, 上海: 多云28°C湿度 70%, 深圳: 雷阵雨30°C湿度 85%, } return weather_data.get(city, f没找到 {city} 的天气数据) # 工具二计算器——LLM 做精确计算容易翻车 class CalcInput(BaseModel): expression: str Field(description数学表达式比如 23*4) tool(args_schemaCalcInput) def calculator(expression: str) - str: 执行精确数学计算。输入数学表达式字符串返回结果。 try: import re if not re.match(r^[/d//-/*///(/)/./s]$, expression): return 错误表达式不能有特殊字符 result eval(expression) return f计算结果{result} except Exception as e: return f算错了{str(e)}工具设计 4 条铁律一个工具只干一件事。别把天气和新闻揉一个函数里描述就是给 LLM 看的说明书。描述越清楚模型选对工具的概率越高输入输出定义明确。用 Pydantic Schema 定义参数类型内部要容错。工具内部捕获异常返回友好的错误信息不要直接抛异常啥工具啥时候用 查实时信息用搜索引擎做精确计算用计算器LLM 做三位数乘法都不靠谱跑代码验证用代码执行器查业务数据用数据库需要标准化接口用 MCP 协议——插上就能用跟 USB 一样方便。2.5 四个组件怎么配合四个组件不是排着队接力跑而是随时交织在一起——LLM 随时查记忆、随时调工具、随时修正计划直到任务完成。完整协作流程以分析销售数据找出下滑原因为例用户分析今年销售数据找出下滑原因 │ ├── ① LLM 理解意图 │ ├── ② LLM 查记忆系统 │ └── 记忆返回用户偏好看同比数据 │ ├── ③ LLM 调用规划模块 │ └── 规划输出步骤1加数据 → 步骤2同比分析 → 步骤3定位异常 → 步骤4生成报告 │ ├── ④ LLM 调用工具数据库查询 │ └── 工具返回Q1-Q3 销售数据 │ ├── ⑤ LLM 分析数据发现 Q2 下滑 15% │ ├── ⑥ LLM 调用工具搜索引擎 │ └── 工具返回Q2 行业政策变化 │ ├── ⑦ LLM 把分析结果存回记忆系统 │ └── ⑧ LLM 输出完整下滑原因分析报告每一步 LLM 都在决策下一步该干啥而不是机械地走流程。这就是 Agent 和传统工作流的本质区别。三、常见 Agent 设计模式模型调工具的循环长得不一样就形成了不同的设计模式。以下是业内公认的 7 种模式核心思路一句话判断ReAct想→干→看循环默认起点适合大多数Reflexion自我批评 迭代改进有明确对错的任务写代码、算数学Plan-and-Solve先定完整计划再执行20 步以上的复杂任务Tree of Thoughts树结构探索多条路径谜题、搜索类推理Evaluator-Optimizer生成→打分→优化反复有明确质量标准的内容创作Orchestrator-Workers中央调度 工蚁干活多步骤多领域协作Prompt-Chaining按顺序串起多个专用任务步骤确定、有顺序依赖一句话选型简单任务 ReAct别过度设计超过 15-20 步的复杂任务 Plan-and-SolveReAct 在长链里容易迷路需要多个专业能力协作 Orchestrator-Workers比如一个写代码一个写文档一个跑测试输出质量能量化评估 Evaluator-Optimizer比如生成翻译后让另一个模型打分Anthropic 的建议从最简单的开始。别一上来就搭多 Agent 架构先用 Solo Agent ReAct 跑通看瓶颈在哪里再往上加。四、用 LangChain 5 分钟搭一个 Agent理论讲差不多了上手写个能跑的。我们用 LangChain 2026 年主推的create_agent()API做一个能查天气、能算数的助手。环境准备pip install langchain langchain-core langchain-community定义工具把前面写的天气和计算器搬过来再加一个读文件的。from langchain_core.tools import tool from pydantic import BaseModel, Field # ---- 工具定义 ---- tool def get_weather(city: str) - str: 查询指定城市的实时天气。输入城市中文名返回温度和天气状况。 weather_data { 北京: 晴32°C湿度 45%, 上海: 多云28°C湿度 70%, 深圳: 雷阵雨30°C湿度 85%, } return weather_data.get(city, f没找到 {city} 的天气数据) class CalcInput(BaseModel): expression: str Field(description数学表达式比如 23*4) tool(args_schemaCalcInput) def calculator(expression: str) - str: 执行精确数学计算。输入数学表达式字符串返回结果。 import re if not re.match(r^[/d//-/*///(/)/./s]$, expression): return 错误表达式包含不允许的字符 try: result eval(expression) return f计算结果{result} except Exception as e: return f算错了{str(e)} tool def read_file(filename: str) - str: 读取本地文件。输入文件名返回文件内容。 try: with open(filename, r, encodingutf-8) as f: return f.read() except FileNotFoundError: return f错误文件 {filename} 不存在 except Exception as e: return f读文件出错了{str(e)} # 工具清单——Agent 会根据描述自动选对的工具 tools [get_weather, calculator, read_file]创建 Agentfrom langchain.agents import create_agent from langchain.chat_models import init_chat_model # 1. 初始化模型——Agent 的大脑 model init_chat_model( anthropic:claude-sonnet-4-5, temperature0.3, ) # 2. 系统提示词——定义 Agent 的行为边界 system_prompt 你是一个有用的助手可以 - 查询城市天气 - 执行数学计算 - 读取本地文件 用工具之前先想一想这个任务真的需要工具吗一步步推理用中文回答。 # 3. 创建 Agent——一行代码搞定 agent create_agent( modelmodel, toolstools, system_promptsystem_prompt, )跑起来看看# 执行 Agent观察 ReAct 循环 result agent.invoke({ messages: [ { role: user, content: 北京和上海今天哪个城市更热温差是多少 } ] }) # 打印完整的对话历史 for msg in result[messages]: if hasattr(msg, content) and msg.content: print(f[{msg.type}] {msg.content})实际运行时你会看到这样的 ReAct 轨迹[human] 北京和上海今天哪个城市更热温差是多少 [ai] Thought: 用户想比较两地的温度得先查数据。 [ai] Action: get_weather({city: 北京}) [tool] 晴32°C湿度 45% [ai] Thought: 北京 32°C。再看看上海。 [ai] Action: get_weather({city: 上海}) [tool] 多云28°C湿度 70% [ai] Thought: 北京 32°C上海 28°C差了 4°C。算一下确认。 [ai] Action: calculator({expression: 32-28}) [tool] 计算结果4 [ai] 北京今天更热32°C vs 上海 28°C温差 4°C。 北京湿度也更低45% vs 70%体感会更干爽。代码和理论对号入座回头看前面的理论这段代码怎么对应的组件代码里的体现LLM大脑init_chat_model(anthropic:claude-sonnet-4-5)Planning规划create_agent()内部自动实现了 ReAct 循环Memory记忆这版还没加。加个checkpointerMemorySaver()就能跨轮对话Tool Use工具tool装饰器定义的三个工具一个完整的生产级 Agent 还得加 checkpointer持久化记忆和 middleware日志、重试、人工审批但核心骨架就是这么几行。五、避坑指南问题原因解法Agent 死循环反复调工具工具返回格式不规范LLM 不知道任务已完成返回里加状态标识设recursion_limit硬上限工具被错误调用描述不清LLM 理解错了用途写清楚输入格式、输出类型、适用场景简单任务也走 ReActAgent 对所有请求都习惯性调工具提示词里加一句能直接回答就别调工具Token 消耗爆炸每次循环都传完整历史加 SummarizationMiddleware 自动压缩多步任务干一半断片了没有持久化状态加 checkpointer每步自动保存新手最容易犯的错一上来给 Agent 绑十几个工具。7 个根本用不上反而让 LLM 选择困难。从 2-3 个工具开始跑通了再加。六、收尾Agent 不是什么高大上的新物种它就是一套工程化的设计思路给 LLM 配上规划能力、记忆系统和工具接口从一个会说话的模型升级成能干活的助手。记住三件事就够了核心公式Agent LLM Planning Memory Tool Use。记住这四块就记住了 Agent 的全貌实践路径从 Solo ReAct Agent 起步create_agent()一行代码跑通根据瓶颈逐步加记忆、加中间件、升级模式工程原则先简单后复杂先跑通再优化。别一上来就大搞架构下一步可以看 LangGraph 的图编排适合复杂多步骤工作流、Agent Middleware 的六个 Hook加日志、重试、审批或者多 Agent 协作CrewAI / AutoGen。现在就可以打开终端跑一遍上面的代码——这是你的第一个 Agent。这里给大家精心整理了一份全面的AI大模型学习资源包括AI大模型全套学习路线图从入门到实战、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等资料免费分享扫码免费领取全部内容1. 成长路线图学习规划要学习一门新的技术作为新手一定要先学习成长路线图方向不对努力白费。这里我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。2. 大模型经典PDF书籍书籍和学习文档资料是学习大模型过程中必不可少的我们精选了一系列深入探讨大模型技术的书籍和学习文档它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。书籍含电子版PDF3. 大模型视频教程对于很多自学或者没有基础的同学来说书籍这些纯文字类的学习教材会觉得比较晦涩难以理解因此我们提供了丰富的大模型视频教程以动态、形象的方式展示技术概念帮助你更快、更轻松地掌握核心知识。4. 2026行业报告行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。5. 大模型项目实战学以致用当你的理论知识积累到一定程度就需要通过项目实战在实际操作中检验和巩固你所学到的知识同时为你找工作和职业发展打下坚实的基础。6. 大模型面试题面试不仅是技术的较量更需要充分的准备。在你已经掌握了大模型技术之后就需要开始准备面试我们将提供精心整理的大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。7. 资料领取全套内容免费抱走学 AI 不用再找第二份不管你是 0 基础想入门 AI 大模型还是有基础想冲刺大厂、了解行业趋势这份资料都能满足你现在只需按照提示操作就能免费领取扫码免费领取全部内容