从LLM到Agent:AI从“会说”到“会做”的必然进阶与工程实践
2026/9/8 20:41:44 网站建设 项目流程

去年有个朋友跟我聊AI,他说了一个挺有意思的观察:ChatGPT刚火那阵,大家天天跟它聊天,问它各种问题,觉得这东西真神了。但新鲜劲一过,问题就来了——“聊天”解决不了实际问题,让它写周报可以,让它把周报发了不行,让它去订个会议室更是不可能。他问我:这东西离真正“干活”还有多远?

我的回答是:ChatGPT这类产品解决的是“LLM(大语言模型)会说”的问题,而下一步所有AI产品要解决的都是“Agent(智能体)会做”的问题。从LLM到Agent,不是某家公司灵机一动想出来的新概念,而是整个AI行业在成本和需求双重压力下必然会走到的一站。这篇文章我就想把这个“必然性”讲透:LLM和Agent到底差在哪,为什么执行时代绕不开,以及现在作为开发者或普通用户,怎么赶上这趟车。

1. LLM是嘴,Agent是手:先搞清楚这俩到底差在哪

1.1 聊天对话本质上是在办公室,真正做事却要跑出办公室

先给一个最直白的类比。LLM就像一个知识渊博的顾问,你问他任何问题,他都能给你一套逻辑通顺、措辞得体的回答。但顾问有个特点:他只对“说话”负责,不对“结果”负责。你问他怎么开一家咖啡店,他能给你列出选址、设备、供应链、人员管理几十条建议,但下一个动作——帮你查一下附近哪个铺面在出租、帮你联系供应商问报价、帮你在工商系统里提交材料——他就完全做不了。

这就是LLM的真实能力边界。它的本质是一个基于海量文本训练出来的概率模型,输入一段文字,输出下一段最合理的文字。所有的知识、推理、创作,最终都落在“生成文本”这一个动作上。你可以让它生成一段Python代码,但运行代码、看报错、改bug、再运行,这一整个闭环它做不了,除非外面套一层东西帮它执行。

而这“外面套的一层东西”,就是Agent。

1.2 Agent在LLM外面多包了什么

我看了下目前社区里对Agent的讨论,大家比较公认的结构是:Agent = LLM(大脑)+ 工具(手脚)+ 记忆(经验)+ 规划(策略)+ 执行闭环(干活的流程)。

  • LLM:负责理解用户意图、做决策推理、生成计划。
  • 工具(Tool Use/Function Calling):这是Agent和纯LLM最本质的分水岭。Agent通过调用API、执行代码、操作浏览器、读写文件等方式,真正去改变世界。
  • 记忆:短期记忆保证多轮对话的上下文连续,长期记忆(通常靠向量数据库+RAG增强)让Agent能记住用户偏好和历史经验。
  • 规划:把一个复杂任务拆解成多个步骤,每一步调用合适的工具,根据中间结果调整下一步方案。
  • 执行闭环:Agent跑起来不是一条路走到底,而是“执行—观察结果—再决策—再执行”的循环,直到任务完成或主动放弃。

你可以这样理解:LLM是那个只会嘴上说“你应该怎么怎么做”的顾问,Agent则是顾问配了一个手脚麻利的助理。顾问动嘴,助理动手。没有助理,顾问的建议永远停留在PPT层面;有了助理,建议才能真正变成结果。

这也是为什么我说,LLM是“嘴”,Agent是“手”。过去两年大家疯狂卷模型的对话能力、写作能力、推理能力,本质上是在把“嘴”磨得越来越利。但随着应用场景深入,所有人都会撞到同一堵墙:光会说,不解决营收问题,不解决效率问题,不解决那个“谁来帮我把文件处理完”的问题。于是,行业集体转向给LLM装“手”。

1.3 一个很容易被忽略的细节:执行层才是用户能感知的部分

很多人问,那我不关心底层是LLM还是Agent,我只关心用起来有什么区别。这里有一个实际体感上的差别:用户对纯LLM的宽容度很高,它对一个任务“说得不好”,你顶多觉得它不够聪明;但用户对Agent的容忍度非常低,因为Agent的任务是“做完”,做一半、做错了、做偏了,用户会有非常直接的挫败感——“让你发邮件,你居然把附件发错了人”。

这也是为什么Agent开发比单纯的LLM应用开发更强调工程化。模型能力下降一点,Agent可以通过好一点的规划来弥补;但工程链路不扎实,Agent连“稳定地做成一件小事”都保证不了。我见过不少团队用同一个LLM做应用,有的做得像智能助手,有的做得像人工智障,差别全在Agent这一层,也就是执行层的设计。

2. 一定会走向执行时代的三个底层原因

2.1 成本结构决定了“只说不动”没有商业未来

很多人讨论技术趋势喜欢聊理想、聊可能性,但我这个人比较务实,先看钱从哪来。过去两年,各大厂商卷LLM,卷的是什么?是上下文长度、是推理能力、是跑分。这些能力确实在提升,但企业客户那边算的账是另一本:我买了你的API,到底帮我省了几个人力,或者多赚了多少钱?

如果AI只是停留在“聊天”层面,它是成本中心,不是利润中心。企业HR不会为了“员工和AI聊天聊得开心”买单。但当AI升级成Agent,能自己查库存、自己生成采购单、自己跟进审批流,这就变成了直接替代人工操作的生产力工具。

我身边真实发生的案例:一个做跨境电商的朋友,之前每天要花3个小时处理客服邮件,后来用Agent搭了一个自动回复+自动创建售后工单的小系统,现在每天只需要花20分钟检查Agent处理不了的异常单。他说了句特别真实的话:模型再聪明,如果最后还是要我手动复制粘贴到后台系统里,那对我没有意义。这个需求一出来,你就知道执行时代是必然的。

2.2 用户对“完成”的容忍度在快速下降

从互联网产品的演进史能看到一条非常清晰的路径:从信息检索(搜索),到信息生成(LLM对话),再到任务执行(Agent)。用户的心智模式变化很快。

最开始大家用搜索引擎,搜出一堆链接,自己点开、自己读、自己总结;后来用ChatGPT,直接给出答案,省掉了自己读网页的环节;但很快大家就会不满意——答案虽然有了,但“做完”还差十万八千里。我让AI帮我做个PPT,它给我一份大纲,我觉得很好,但能不能直接生成PPT文件?能不能配好版式?能不能导出发给我?

这种心理几乎是一种本能:既然AI能理解我要什么,为什么不能顺便帮我把事情办了?当用户一旦产生了“帮我办”的预期,纯文本输出就再也回不去了。Agent正是顺着这个用户预期演进出来的产物。

2.3 Agent是LLM能力的杠杆放大器

最后一个原因,我是从技术效率角度看的。单次LLM调用,哪怕再强,产出的也只是信息。但信息本身是不产生直接价值的,行动才产生价值。Agent让LLM产出的计划和文本,通过工具调用直接作用于真实世界——发邮件、改代码、调接口、操作Excel、控制设备。

打个比方:一个人口才再好,一天能说服多少人是有极限的;但如果他的指令能驱动一条自动化流水线,那影响的就是整个工厂的产能。Agent就是那个把“一个人的智慧”放大成“一条流水线执行力”的杠杆。

这也是为什么今天各大厂都在推自己的Agent框架、Agent平台——因为这个杠杆太猛了。谁掌握了Agent的编排层,谁就掌握了LLM能力通往真实场景的入口。你可以说是商业竞争驱动了Agent爆发,但我更愿意说,是技术成熟度和市场需求同时到达了临界点,Agent作为最高效的“能力放大器”,自然会成为行业重心。

3. Agent开发框架里,真正决定体验的四个组件

聊完趋势,我来点实操层面的东西。现在网上一搜“Agent开发”,能搜出一堆框架,看得人眼花缭乱。但说实话,不管框架怎么换,底层要处理的组件就那几样,把它们理解了,换什么框架都只是API不同而已。

3.1 Tool Use:接入外部世界的那只手

Agent第一次“破圈”脱离聊天框,靠的就是Tool Use(也叫Function Calling)。原理不复杂:LLM在生成回复时,除了输出文本,还可以输出一个“调用工具”的意图,比如识别出用户想查天气,就会生成一个get_weather(city="北京")的函数调用;Agent框架接住这个意图,执行真正的API请求,把结果塞回给LLM,LLM再组织成自然语言回复用户。

这个循环看起来简单,但它是Agent所有能力的地基。我举个具体的例子,订咖啡:

  1. 用户说“帮我订一杯冰美式,送到公司前台”。
  2. Agent里的LLM先识别意图,调search_menu(),找到“冰美式”。
  3. 再调check_price()check_delivery_zone(),确认能否配送。
  4. 让用户确认订单,调create_order()
  5. 成功后调get_order_status(),反馈给用户。

每一步都是一个小工具调用,LLM负责“决定调哪个、按什么顺序调”,Agent框架负责“真正把工具跑起来”。所以你的Agent好不好用,一半看LLM聪明不聪明,另一半看你接的工具顺不顺手、返回的数据结构规不规范。

Tool Use设计里最容易翻车的点:工具的参数说明写得不够清楚。LLM是靠工具描述来理解“这个工具能干什么”的,如果你把一个工具描述写得模棱两可,模型就会在多个工具之间犹豫不决,或者传了错误的参数。我的建议是,每个工具的描述里一定要写清楚:这个工具是干什么的、每个参数的类型和含义、常见错误条件下的返回值。把工具当API文档写,模型的表现会明显上一个台阶。

3.2 Memory:短期和长期记忆决定Agent聪明不聪明

没有记忆的Agent就像金鱼,用户上一句说“我要去上海出差”,下一句问“那帮我看看那边的酒店”,它完全忘了上海这回事,这种体验是不可能被接受的。

Memory分两层:

  • 短期记忆:就是对话历史,直接塞进上下文窗口。现在主流LLM上下文都很大,短会话没问题,但长会话要处理裁剪和摘要,不然上下文一长,成本和延迟都会飙升。
  • 长期记忆:保存跨会话的用户偏好和关键事实。通常的做法是把用户信息向量化,存进向量数据库,新对话开始前做一次语义检索,把相关的历史记忆捞出来,拼进Prompt。这就是RAG增强LLM的典型用法。

在你需要给Agent做长期记忆的时候,不要一上来就整高深的向量检索。我见过很多项目,其实只需要用JSON文件存几个用户偏好字段就够用了,结果非要上向量数据库,运维成本翻了好几倍。先想清楚你的Agent到底需要记住什么、记住多久、遗忘策略是什么,再去选存储方案。记忆不是越多越好,记了一堆垃圾信息,反而会干扰Agent的判断。

3.3 Planning与反思:从“一步到位”到“多步拆解”

早期很多LLM应用是一个Prompt搞定,用户说一句,模型回一段。但真实任务往往是多步骤的:用户说“帮我整理这周所有客户的跟进记录,做成周报发到邮箱”,这中间至少涉及读取CRM、筛选记录、归纳总结、生成文档、调邮件API发送,五个步骤。一步到位地让LLM生成一个周报内容不难,难的是它得自己知道该先去取数、再整理、再发邮件。

这时候就需要Planning。主流的做法有两种:ReAct模式(推理+行动循环)和Plan-and-Execute模式(先定计划再逐步执行)。

  • ReAct:Agent边想边干,每走一步都根据当前观察结果来决定下一步。优点是灵活、能应对突发变化;缺点是慢,Token消耗大。
  • Plan-and-Execute:Agent先把完整计划列出来,然后按计划逐条执行,执行完再评价结果。优点是效率高、可控;缺点是中间如果出现变数,整个计划可能要推倒重来。

实际项目里我建议先快速试ReAct,跑通了再考虑做优化。因为ReAct实现起来最简单,每个主流的Agent框架都内置了支持;Plan-and-Execute听着高级,但计划拆得不好,后面每一步都在还债。

另外一定要给Agent设计“反思”环节。执行完一个任务之后,让它自己评价一下结果质量,哪里没做好、下次怎么改进。很多团队忽略这步,导致Agent每次都在同一个地方犯错。加上一个简单的自我反思Prompt,错误率肉眼可见地下降。

3.4 编排层:把Agent从单人操作变成团队协作

单个Agent搞定简单任务没问题,但复杂工作流往往需要多个Agent协作——一个负责理解需求,一个负责执行查询,一个负责质量检查。这种多Agent协作的调度逻辑,就是编排层(Orchestration)。

我看到热搜里有人搜“harness和agent区别”,这里可以顺带说一下。Harness在AI Agent语境下,通常指“让Agent跑起来的控制框架”,包含执行环境、工具调用、状态管理、错误处理这些底层能力;而Agent本身更偏重“决策与行动的逻辑”。打个比方,Agent是司机,Harness是车和方向盘,二者配合才能把用户送到目的地。

编排层的核心难点是任务拆分和结果汇总。任务拆得太细,Agent之间通信开销大;拆得太粗,单个Agent干不了。我的经验是:先让用户自然表达意图,通过LLM判断任务复杂度,简单任务单Agent直接跑,复杂任务才走多Agent流水线。不是为了“多Agent”而多Agent,那纯属增加复杂度。

我见过最实用的多Agent协作模式,是“主管+专员”模式:主管Agent负责理解用户需求、做规划、把关最终输出;专员Agent各管一块专业领域,比如一个专门调数据库、一个专门做文档排版、一个专门检查合规风险。主管把任务分下去,拿到结果再统一整合。这种结构在客户服务、内容生产、数据分析等场景落地特别顺。

4. 现在想上手Agent,最顺的几条路

我知道光聊原理,读着读着就容易困。这一节上点能直接动手的东西。无论你是程序员还是非技术背景,现在都有对应的路径能跑起来自己的Agent,不必等“时机成熟”再入场。

4.1 开发者路径:从Codex CLI到Agent框架

如果你是开发者,上手成本其实很低。2025年有一个很明显的趋势:Agent开发能力正在下沉到命令行。比如当今很火的Codex CLI这类工具,就是把你本地代码库当作Agent的上下文,然后让LLM直接规划并执行代码改动、跑测试、修bug,等于给LLM装了一双操作你电脑的手。

我自己试过用Codex类的CLI工具处理一个内部脚本的重构。给它一个命令,说“把这个脚本从Python 2语法升级到Python 3,并保证测试通过”,它会自己列出改动计划、逐文件修改、跑测试,遇到测试挂了还会自己回滚重试。整个过程像一个远程结对编程的同事。这种工具的底层就是Agent,只是它把Agent封装成了开发者最熟悉的命令行交互模式。

再往上一步,就是用Agent框架构建更复杂的应用。目前社区里比较流行的包括LangChain、LlamaIndex、AutoGen、CrewAI等等。以LangChain为例,内置了各种工具集成、记忆管理、Agent构建模块,官方文档也养得很壮,新手照着文档搭一个最简单的“上网搜索+生成摘要”的Agent,半小时就能跑通。

我的建议是:不要一开始就追求用最花哨的框架。先用最朴素的代码把Agent的逻辑写明白——定义工具、循环调用LLM、处理工具返回、判断是否结束。等你亲手写过一遍这个循环,你对Agent的理解会超过那些只会套框架的人一大截。

4.2 非开发者路径:Dify这类可视化编排平台

如果你不会写代码,也不用慌。像Dify这类可视化Agent编排平台,已经做到了“拖拖拽拽就能搭Agent”。

在使用Dify的时候,核心流程大概是:先接一个大模型的API,比如GPT系列或国产开源模型;然后配置工具节点,比如HTTP请求、数据库查询、知识库检索;再设置对话流程的走向,什么条件走哪个分支;最后发布成一个对话界面或API接口。

我看到热搜里有人在问“dify里的llm怎么设置”,这里说一下我常用的配置顺序:

  1. 模型选择:先看你要跑的任务类型,简单问答用小参数模型,延迟低、成本低;复杂推理或工具调用密集的任务,选能力更强的大参数模型。
  2. System Prompt设计:这是最容易被低估的一步。把Agent的角色、能力、行为边界、遇到异常情况怎么处理,都写在System Prompt里。Prompt写不清楚,后边怎么调都别扭。
  3. 工具调试:每个工具接进来之后,先单独测试一遍,确认返回数据正常,再串进工作流。很多人上来就把五个工具全接好,一跑就报错,根本分不清是哪个环节出的问题。
  4. 输出设置:需要模型输出结构化内容时,让模型输出JSON,后续节点好做解析和分支判断。

对于非开发者的最简建议是:先用免费的公共Agent应用(各种AI助理、AI编程助手)体验Agent的交互节奏,然后在Dify这类平台上用“搭积木”的方式做一个小型自动化,比如“每日自动整理行业新闻+生成摘要+推送到飞书/钉钉”。跑通一个小循环,你才能真正体会到Agent的能力边界在哪,而不是停留在看文章的空想层面。

4.3 一个最简Agent Demo的拆解:从输入到输出

我用伪代码的形式描述一个最经典的Agent循环,方便你理解无论用哪个框架,底子都是这套逻辑:

function run_agent(user_input, tools, memory_store): messages = memory_store.load(user_input) # 加载历史记忆 while True: response = llm.chat(messages, tools=tools) # 让模型决策,可能包含工具调用意图 if response.tool_calls: for tool_call in response.tool_calls: result = execute_tool(tool_call) # 执行工具调用 messages.append(tool_result(tool_call, result)) # 把结果塞回上下文 else: return response.text # 模型认为任务完成,输出最终回答

核心要义就一句话:LLM决定,框架执行,结果回填,循环往复。你把这个循环吃透了,其他所有花哨的框架都是在给它加缓存、加记忆、加并发、加容错。

我第一次在项目里亲手实现这个循环的时候,最大的感慨是——Agent没有想象中那么神秘,它就是一个“带工具的while循环”。但恰恰是这么简单的一个循环,让AI产品第一次从“回答问题”迈向了“完成任务”。这个转变的意义,怎么强调都不过分。

5. Agent落地时常见的几个大坑

讲完了怎么做,我再讲讲哪些地方容易翻车。Agent开发比传统软件工程更容易掉坑,因为Agent的行为是概率性的,不是你写一行逻辑它就固定执行那行逻辑。

5.1 工具权限边界模糊会让Agent“越权”

这是所有Agent项目里最危险的问题。传统软件每个接口有严格的权限校验,但Agent是动态决定调用哪个工具的,如果你不限制工具的权限范围,它可能拿着你的生产库权限去做危险操作。

解决思路有两个层面:

  • 最小权限原则:给Agent的工具只开放本次任务所需的最小权限。比如做数据分析的Agent,只给只读数据库账户,绝对不给drop表的权限。让Agent发邮件,就只开通草稿箱权限,发送前先要人工确认。
  • 操作确认机制:高风险操作(发送、删除、修改)必须加一道人工确认卡口。我认识一个做电商自动化团队,给Agent加了“订单创建前找管理员审批”的流程,虽然多了一步,但把事故率降到了几乎为零。

这也是所谓“屏幕上的一层保护垫”——你可以让Agent飞快地干活,但碰到关键步骤,必须要有一个“人进来点头”的环节。执行力和安全性之间,永远要做权衡。

5.2 幻觉在“持有执行权”时会被放大

纯LLM的幻觉,顶多让你读到一段胡编的答案,一笑而过。但Agent的幻觉,会让工具去执行一个瞎编的计划,后果可能很严重。比如Agent在查询库存时幻觉出了一个不存在的SKU编号,然后拿着这个编号去下采购单,整条供应链就被污染了。

我踩过一次很深的坑:一个自动生成报告的Agent,在引用客户名称时,把两个名字相似的客户搞混了。因为这个错误出现在中间环节,后期人工检查只看了汇总数据,没有回查原始数据,导致错误报告发出去。后来我们加了双重校验:一开始工具返回的数据要做schema校验,模型生成的关键字段也要跟源数据做交叉比对,不一致就重新生成。

所以你在设计Agent时,一定要在关键步骤上做强制校验,而不是全盘信任模型的输出。模型说得再自信,工具返回的数据才是“地面真相”。坚持“工具先行、文本复盘”的原则,能让Agent的可靠性上一个台阶。

5.3 可观测性不足导致排查困难

传统软件bug是确定性的,出错了按日志逐行查;Agent出错是概率性的,这次错在这,下次错在那,没有日志你根本不知道它到底基于什么上下文做的决策。

这就引出Agent工程化的一个重要命题:可观测性。跑Agent的时候,一定要记录完整链路,包括每一步LLM的输入输出、工具调用的参数和返回值、决策分支的触发条件。市面上有一些专门的Agent观测平台,也可以用LangSmith等工具做追踪。

我自己的习惯是,即使是最小的Agent Demo,也先把日志打全。每轮循环都输出当前消息数、模型选择、调用了哪个工具、工具返回了什么、模型下一步决定是什么。有了这些日志,出了任何问题,你能很快定位到是上下文丢了、工具返回异常、还是模型跑偏了。没有日志的Agent项目,排查问题的体验跟大海捞针一样。

5.4 “每个人都会用”背后的新门槛:问题拆解能力

回到题目本身:为什么每个人最终都会使用Agent?我觉得不只是因为Agent技术会成熟,更因为Agent的交互方式天然更接近人的协作方式。你不需要学编程,不需要学API,你只需要会说一句“帮我把这件事办了”,Agent就能开始干活。这种交互门槛极低,甚至比搜索引擎还低——搜索还需要你提炼关键词,Agent只需要你表达目标。

但我也要泼一点冷水:会用Agent的人很多,但用得好的人会形成明显的差距。差距不在技术,而在问题拆解能力。同样让Agent“帮我做个市场调研”,有的人能说清楚背景、目标、范围、输出形式,Agent返工三次就交付了;有的人需求含糊其辞,Agent理解偏了,来回折腾一天还没个结果。

以前我们把这种能力叫“提需求的能力”,现在它变成了“指挥AI干活的能力”。Agent越是普及,结构化表达、明确目标、拆解任务、验收入口这些能力就越值钱。这不是技术门槛,而是一种通用的“AI协作素养”。

我在实际使用中的体会是,和Agent打交道,更像带一个新来的实习生。你不能只说“把这件事处理好”,你得告诉它背景是什么、优先级是什么、边界在哪、遇到什么情况要停下来问人。你把“实习生”带顺了,它给你的回报远超一个简单的搜索工具。这大概是过去一年我在Agent实践里最重要的一条心得。

回到最开始那个朋友的问题——AI离真正“干活”还有多远?我的看法是:从LLM到Agent,中间那堵墙正在被快速拆掉。也许用不了多久,“让AI办件事”就会跟“发条微信”一样普通。到那时候再回看这篇文章,你会庆幸自己早一步看懂了这一天为什么会来。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询