Agent 是什么:从 ReAct 到工具调用的一次拆解

Agent 是什么:从 ReAct 到工具调用的一次拆解 Agent 这个词今年被炒得太热了以至于很多人对它的理解变成了一个无所不能的 AI。好像只要加上 Agent大模型就能自己上网、自己写代码、自己把活干完。我先泼一盆冷水Agent 不是超能力它是一种架构模式。拆开了看Agent 就是大模型 循环 工具 记忆的组合。它之所以看起来能动是因为有人给它设计了一个想一步、做一步、看结果、再想下一步的循环机制。这篇就拿一个最朴素的需求——“帮我订一家今晚能容纳 6 人的川菜馆”——把 Agent 从内到外拆一遍。先忘掉Agent这个词在讲 Agent 之前我想让你先忘掉这个词。我们回到一个基本问题如果让一个大模型直接回答帮我订一家今晚能容纳 6 人的川菜馆它会怎么答它会大概率给你一段建议“你可以在大众点评上搜索附近的川菜馆筛选 6 人以上的包间打电话预约。”这回答有用吗有点用但它没做实事。它只动了嘴皮子没帮你查餐厅、没帮你打电话、没帮你预约。为什么因为大模型本身只能生成文字它不能访问外部系统。它的能力边界止步于键盘打出来的字。Agent 要解决的就是让大模型突破这个边界。具体怎么做给它配工具再让它学会自己决定什么时候用哪个工具。Agent 的四个零件把 Agent 当成一台机器拆开里面就四个核心零件。零件一大脑LLM这是决策中心。所有接下来该干什么的判断都由大模型来做。它不负责执行只负责思考。零件二工具Tools工具就是 Agent 的手脚。每个工具对应一个外部能力查餐厅、查天气、发邮件、调用 API、写代码、执行脚本……工具本身是小函数或外部服务Agent 通过调用它们来干实事。零件三记忆MemoryAgent 跟普通聊天不一样它需要记住任务目标、中间结果、用户的偏好。没有记忆它会每轮都回到原点。记忆又分为短期记忆当前对话里的上下文和长期记忆用户画像、历史记录、知识库。零件四循环Loop这是 Agent 的骨架。循环规定了 Agent 怎么工作想一步、做一次、看反馈、再决定下一步。循环不跑完任务就不算结束。这张图就是 Agent 的全貌。记住少了循环它就是一个会调用工具的单轮模型少了工具它就只能动嘴皮子少了记忆它就走不远。四件套缺一不可。ReAct让模型边想边做现在给这台机器通电。怎么让它跑起来最经典的机制叫ReActReason Act意思是推理 行动交替进行。我用订川菜馆这个需求给你跑一遍 ReAct 的完整循环。第 1 轮理解任务用户说“帮我订一家今晚能容纳 6 人的川菜馆。”Agent 的大脑先想Thought用户要订餐厅。关键信息菜系川菜人数6时间今晚。我需要先查附近有哪些川菜馆并且确认今晚有位。注意这一步模型不是直接回答而是把任务拆解了。这就是 Reason。第 2 轮第一次行动模型决定调用一个工具Action调用search_restaurants(location附近, cuisine川菜, capacity6, date今晚)然后工具返回结果Observation找到 3 家符合条件的川菜馆A 店有包间人均 120、B 店大厅可坐 6 人人均 80、C 店包间已订满。第 3 轮第二次思考与行动模型拿到观察结果继续想ThoughtA 店有包间但贵B 店便宜但大厅C 店已满。用户没说要包间还是大厅我需要问清楚或者根据常见偏好给推荐。为了推进我可以先把 A 和 B 的信息列出来让用户选。于是模型决定不再调用工具而是给出回答Final Answer我查到两家可选A 店包间人均 120B 店大厅人均 80。您倾向包间还是大厅我帮您打电话预约。这就是 ReAct 的完整循环Thought想→ Action做→ Observation看结果→ Thought再想→ … → Final Answer给出最终答案。模型不是一次性生成最终答案而是一步一步地推理、行动、调整。工具调用Agent 的手是怎么长出来的工具调用听起来玄其实机制很朴素。就两步第一步把工具说明书告诉模型。每个工具都对应一段说明书通常用 JSON Schema 描述工具叫什么名字、接受哪些参数、每个参数什么类型、干什么用的。比如查餐厅的工具说明书可能是这样的{name:search_restaurants,description:根据位置、菜系、人数、日期搜索可预订餐厅,parameters:{type:object,properties:{location:{type:string,description:用户所在位置},cuisine:{type:string,description:菜系},capacity:{type:integer,description:用餐人数},date:{type:string,description:用餐日期}},required:[location,cuisine,capacity,date]}}第二步让模型决定要不要调用。模型每次生成时会判断当前任务是直接回答还是需要调用工具。如果需要调用它不生成给人看的文字而是生成一段结构化的函数调用请求比如{name:search_restaurants,arguments:{location:附近,cuisine:川菜,capacity:6,date:今晚}}编排层收到这个请求后真的去执行这个函数拿到结果再喂回给模型。模型看到结果后再决定下一步。关键洞察模型其实并不知道工具怎么实现的。它只看到了说明书和返回结果。它就像个指挥官手里没有地图但通过无线电调度侦察兵、炮兵、工兵。真正的动手发生在工具函数里不在模型里。Agent 什么时候适合用什么时候是杀鸡用牛刀讲到这里必须泼第二盆冷水不是所有任务都需要 Agent。如果你的需求只是帮我总结这段文字那根本不需要 Agent一个单轮大模型就够了。如果你的需求是按固定流程处理 1000 份表格那 WorkFlow工作流更合适因为流程确定不需要模型自己决策。Agent 真正擅长的场景是两类第一类目标明确但路径不确定。比如帮我规划一次三天的北京旅行需要查天气、查景点、查交通、看餐厅每一步都可能根据上一步结果调整。这种任务用 Agent 比写死工作流灵活得多。第二类需要跟外部系统交互。比如帮我查一下这个快递到哪了如果显示签收了就发邮件通知客户。这需要调用快递 API、读取状态、再调用邮件服务。Agent 能把这些串起来。这张图能帮你快速判断该用什么方案单轮问答 → 直接调用大模型固定流程 → WorkFlow多步决策 工具调用 → Agent很多项目之所以把 Agent 用得稀烂就是因为该用 WorkFlow 的地方硬上 Agent结果模型反复纠结、成本失控、还答不对。Agent 离生产还有多远Agent 听起来美好但放到生产环境里还有很多坑坑一循环停不下来。模型有时候会在 Thought/Action 之间打转特别是工具调用失败时它可能反复重试。你必须设置最大循环次数和超时时间。坑二工具调用失败后的恢复。真实世界的 API 会超时、会限流、会返回错误。Agent 必须能识别失败、决定重试还是换方案。这不是模型自动会的需要你在编排层写好错误处理。坑三成本高。每轮 Thought 都要调用一次模型循环多跑几轮token 消耗就上去了。一个复杂任务可能烧掉普通问答十倍的钱。坑四不可解释。Agent 的决策链很长最后给你一个答案但中间怎么想的、调了哪些工具你不一定清楚。做 ToB 或合规要求高的场景必须有日志和 Trace。所以我现在对 Agent 的态度是** enthusiastically cautious热情但谨慎**。它确实能解决一些传统工作流搞不定的问题但别把它当成银弹。动手写一个最小 Agent三十行伪代码看清楚前面讲的都是概念这节我们把它落成代码骨架你会发现 Agent 远没有名字那么玄乎。下面是一个极简版伪代码去掉了错误处理和细节tools {search_web: search_web, # 搜索工具真实调用搜索引擎calculator: calculator, # 计算器执行数学运算}defrun_agent(user_question): messages [系统提示词, 用户问题]for step inrange(最多 8 轮): # 循环骨架# 1. 模型决策这一步该直接回答还是调用工具 response llm.chat(messages, toolstools)if response.想直接回答:return response.内容 # 任务完成退出循环# 2. 执行工具程序干不是模型干 tool_name response.要调用的工具 args response.参数 result tools[tool_name](**args)# 3. 把工具结果回灌给模型 messages.append(工具名tool_name, 结果result)# 4. 回到循环开头模型基于新信息再决策return超过步数上限未能完成任务盯着这个骨架看你会发现 Agent 的本质就是一个带循环的模型调用 工具执行第 1 步是大脑模型决策第 2 步是手程序调工具第 3 步是记忆把结果写回消息列表下一轮模型就能看到第 4 步是骨架循环回去。没有任何魔法。所谓的自主规划“多步推理”不过是在这个循环里多转几圈、多调几个工具。理解了这点你再看那些吹得神乎其神的 Agent 产品心里就有底了——它们无非是在这套骨架上加了更聪明的提示词、更丰富的工具集、更稳的记忆管理。新手常踩的一个误区是想当然以为调了工具模型就自动变聪明。不是的。模型只是按概率决定调哪个工具、填什么参数工具返回什么模型就拿到什么。如果工具本身错了比如搜索引擎返回了垃圾结果模型也会基于垃圾继续推理。所以Agent 的上限由模型决策质量 × 工具可靠性 × 记忆管理三者共同决定哪一环拉胯整个系统就拉胯。给想上手的人一个起点如果你看完想自己搭一个别一上来就套复杂框架。我建议的最小起步路径先用上面那个三十行骨架接一个真实工具比如一个能查天气或查数据库的接口跑通问问题 → 模型决定调工具 → 拿到结果 → 回答这一圈。跑通之后再加第二个工具体验模型在多个工具之间做选择。然后处理真实场景的坑工具失败了怎么办、模型乱填参数怎么办、多轮之后记忆爆了怎么办。这三步走完你对 Agent 的理解会比读十篇文章都扎实。框架LangChain、LlamaIndex、AutoGen 之类是等你理解了骨架之后才需要学的加速器不是入门必需品。Agent 的记忆它怎么记住跨轮的事我们前面提过 Agent 有记忆的笔记本这个零件但没展开。这节补上因为它直接关系到 Agent 能不能干长活。得先说清楚一个前提大模型本身没有记忆。你上一轮跟它说的话它下一轮根本不记得除非你把那些话再喂给它。所以 Agent 的记忆本质是你程序在帮它记账——把历史信息存在对话列表messages里每轮都带着过去的内容一起发给模型。这带来两个问题问题一记太多会撑爆窗口。对话越长messages 越大迟早超过上下文上限。怎么办常见的做法是摘要压缩当历史太长时让模型先把前面聊的内容总结成一段精简摘要再用摘要替换掉原始长历史。就像你开会记笔记聊了三小时最后只留一页要点。问题二记什么、不记什么。不是所有信息都值得长期记。比如用户刚才问了个天气这种一次性信息聊完就丢但用户偏好用中文回答这个项目的数据库叫 orders_db这种得长期留着。所以成熟的 Agent 会分两层记忆短期当前对话的上下文和长期跨会话的用户画像、项目知识长期记忆通常存在外部数据库或向量库里要用时再取。理解了记忆机制你就明白为什么很多 Agent 产品会强调它有记忆——那不是模型天赋是工程师在外面一层层搭出来的。记忆管理做得好Agent 能从一次性问答升级成能陪你干好几天的助手做不好它就会聊着聊着忘了你开头说过什么体验直接回到普通聊天机器人。怎么判断你的场景该不该上 Agent前面讲了 Agent 能干什么、有什么坑最后给一个实用的判断清单。拿到一个需求先问自己四个问题问题一任务能不能一步完成如果模型一次回答就能解决写封邮件、翻译一段文字、解释一个概念根本不需要 Agent。Agent 是为多步、需要工具、需要边做边看的任务准备的。杀鸡用牛刀只会更慢、更贵、更不可控。问题二需不需要外部信息或动作如果任务全程在模型脑子里就能完成不需要查数据库、不需要调 API、不需要操作文件那普通对话就够了。Agent 的价值恰恰在能动手——没有动手需求就别上 Agent。问题三结果允许试错吗Agent 会调用工具、会改东西如果任务涉及不可逆操作比如直接删生产数据、直接发邮件给客户那在让它自动跑之前必须加人工确认环节。否则一个错误的工具调用后果可能很严重。问题四任务的路径确定吗如果流程是固定的先 A 后 B 再 C用普通工作流写死的代码流程反而更稳、更便宜。Agent 适合路径不确定、需要模型临场决策的场景。确定的事交给代码不确定的事交给 Agent——这是最经济的分工。把这四个问题过一遍大部分场景都能立刻判断是普通对话 工具调用就够还是真的需要一套 Agent 循环。别被概念带着走工具是为问题服务的。结束Agent 大模型的大脑 工具的手脚 记忆的笔记本 循环的骨架。ReAct 让这个骨架动了起来想一步、做一步、看反馈、再决定下一步。理解了这套结构你再去看市面上那些 Agent 框架、Agent 平台就不会被概念绕晕了。它们 fancy 的名字背后基本都在做这四件事的排列组合。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】