Agent 是什么——LLM 只是“嘴”,Agent 才有“手”
Agent 是什么——LLM 只是嘴Agent 才有手这是「Agent 工程化」系列的第一篇。本系列从概念讲到生产落地每篇都能独立阅读。这篇我们用最朴素的方式把Agent 到底是什么讲清楚不需要任何前置知识。标签#AI智能体 #Agent工程化 #大语言模型 #LLM #人工智能 #AI开发 #ReAct #LangChain #AI应用 #技术博客从一个真实场景说起先看一句话需求“帮我订一张下周五上海飞北京的机票要早班机。”把它分别丢给三种AI看看它们各自的表现。第一种普通 LLM比如打开 ChatGPT 直接聊LLM 很聪明它会告诉你“建议选早上 8 点前的航班比如东航 MU510107:00 起飞。” 它甚至能帮你列出推荐清单、避坑指南。但然后呢没有了。它不会真的去订。因为它只是个聊天大脑——只会输出文字没有手、没有腿碰不到真实的订票系统。第二种RAG 应用比如一个懂行的旅游知识助手它比普通 LLM 强一点可以接入最新的航班信息、机场攻略回答里带着来源看起来更可靠。但同样是只动嘴不动手。你问它哪班最早它答得头头是道你说帮我下单它只能摊手。第三种Agent一个真正的 AI 旅行助手它收到这句话后会自己展开一连串动作调查航班工具下周五上海→北京有哪些早班机对比几个候选航班的价格和时间调下单工具帮你订票返回订单号“已订好东航 MU510107:00 起飞”中间不用你操心它自己决定下一步干什么、什么时候结束。这三种 AI 的区别在哪普通 LLM / RAG 回答的是知道Agent 干的是做到。差距不在懂不懂在能不能动手。Agent 到底是什么一句话定义Agent LLM大脑 工具手脚 自主决策循环灵魂拆开看LLM大脑负责理解你说的话、推理、做决策。但它有个天生的限制——只会输出文字碰不到真实世界。工具手脚查航班、查天气、下单、发消息……把 LLM 的想法变成对外界的行动。这是 Agent 和聊天机器人的分水岭。自主决策循环灵魂思考 → 行动 → 观察结果 → 再思考。任务没完成就继续循环直到做完为止。这里多说一句工具并不神秘。它就是一个普通的函数或 API比如search_flight(出发城市, 到达城市, 日期)返回航班列表book_ticket(航班号, 人数)返回订单号。你天天写的那种。Agent 做的事情就是让 LLM 来决定在什么时候、用什么样的参数去调用这些函数。用一张表看普通 LLM 和 Agent 的区别普通 LLMAgent输入一句话一个目标过程一次推理就回答多步推理 反复调用工具输出一段文字完成任务的最终结果订单号、诊断结论……能力边界只有训练时见过的知识训练知识 实时查数据 动手操作还有个常被问的问题Agent 和 RAG 是什么关系RAG检索增强生成解决的是带资料回答LLM 回答前先查资料库引用着说。Agent 解决的是动手解决问题调工具、做动作。两者不冲突经常一起用。一个 AI 旅行助手既需要 RAG 去查退改签政策这类文档也需要工具去真正下单。后面系列会展开讲。Agent 的自主性是分级的很多人以为 Agent 等于全自动其实自主是有梯度的。业界通常分 L0-L5级别名称例子旅行助手L0无自主纯聊天只会回答北京几点有早班机L1工具调用会调查天气工具但只做这一件事L2链式调用查完机票接着查酒店按固定顺序走L3条件分支看价格贵的走推荐经济舱分支便宜的走直接订分支L4自主规划自己把订机票订酒店排行程拆成计划再执行L5多 Agent 协作机票助手、酒店助手、行程助手分工合作现实是大多数产品停留在 L1/L2。越往上越强大也越需要工程化手段兜底后面系列会讲。下次看到自主智能体这种词先问一句它到 L 几了Agent 的核心架构就一个循环无论多复杂的 Agent核心骨架都是同一个循环没完成完成用户提出目标思考下一步调用工具观察结果任务完成?输出最终结果用伪代码看更直白while任务未完成:llm 输出{思考,要调用的工具,参数}执行工具调用 把结果放回对话历史 判断任务是否完成回到订机票的例子这个循环大概长这样轮次思考thought行动action观察observation1得先查下周五有哪些航班查航班(上海→北京, 下周五)3 个早班机候选2挑最早的看下价格和余票查票价(东航MU5101)经济舱 ¥890有票3信息齐了直接下单下单(东航MU5101, 1人)订单号 TD2026XXXX4完成了告诉用户结束—就这么简单。所谓 Agent本质就是让 LLM 在一个循环里反复思考、动手、看结果。第二篇我们会手写一个最小可运行的 Agent50 行代码到时候你会发现它真的就只有一个 while 循环。但生产环境的 Agent没那么简单上面的循环能跑通 Demo但离好用还很远。我拆了 6 个实际问题——它们正好是本系列的骨架怎么防止 Agent 乱来万一它把下单工具连点十次或者花光你的预算还在循环——需要护栏第 9 篇怎么知道它干了什么、花了多少钱每次调工具、每次消耗 token都要记账和可观测第 9、10 篇聊着聊着就失忆了上下文窗口装不下太多内容——需要上下文管理第 4 篇怎么让它记住上次聊过的事今天说的明天还认得——需要记忆系统 Memory第 5 篇怎么让它懂退改签政策这些不在训练数据里——需要RAG 知识库第 6 篇复杂行程一个循环搞不定规划 5 日游要拆步骤、能并行——需要编排模式与多 Agent第 8 篇三个常见误区误区一Agent 调大模型 API不少人觉得我接了大模型接口我就在做 Agent 了。不是的。只做你说一句它答一句那是聊天机器人有了工具、有了循环能真正动手完成任务才叫 Agent。误区二Agent 必须用 LangChain 这类框架框架只是实现方式之一。50 行手写代码也能跑一个像样的 Agent而且能让你真正理解原理。用框架不等于懂 Agent第 2 篇会现场演示手写版。误区三Agent 是万能的它有幻觉可能一本正经胡说上下文窗口有限聊太多会失忆给它的工具如果没护栏它可能真的给你乱下单。越能干的 Agent越需要工程化手段兜底——这是整个系列最想传达的一件事。下篇预告下一篇我们不再讲概念直接动手用 50 行 Python 手写一个最小可运行的 ReAct Agent。它只有一个 while 循环 几个简单的工具却能自己完成这个任务“帮我看看北京明天天气下雨的话提醒我带伞。”到时候你会发现它跑起来的每一步都能对上今天讲的循环轮次思考行动观察1先查北京明天的天气查天气(北京, 明天)小雨18-22℃2要下雨提醒用户带伞结束—框架只是包装循环才是原理——下一篇我们亲手把它写出来。本系列路线从 0 到 1Agent 是什么 → 手写最小 ReAct → Function Calling 与工具设计 → 上下文管理 → Memory 记忆系统 → RAG 知识库 → Skill 自学习 → 编排模式与多 Agent → 给 Agent 装护栏 → 生产部署与可观测 → 评测与回归