Nodejs也能写Agent - 6.基础篇 - Agent

前面几篇我们循序渐进地聊了LLM本身、Prompt、Tools和RAG。现在终于到了把这些东西串起来的时候------Agent

回顾一下我们的进度:LLM是个知识渊博但没出过门的毕业生,Prompt是你跟他沟通的方式,Tools给他装上了手脚,RAG让他能翻你的私有资料库。但到现在为止,他依然是一个"你问一句他答一句"的被动角色。

Agent要改变的就是这个局面。你不再需要每一步都告诉他该干什么,而是直接给他一个目标,让他自己规划、自己调用工具、自己多步执行,直到任务完成。

Agent是什么?

Agent,翻译过来叫智能体。你可以把它理解成:给那个毕业生配上了厨具、食谱、手机App和记事本之后,他就不再只是一个答题的,而是一个能上岗干活的厨师兼管家。

你跟他说"小伙子,帮我做一盘鱼香肉丝",他会自己去查食谱、去买食材、按步骤操作、装盘端上来。你不用告诉他每一步怎么做,他拿到目标自己就推下去了。

这和之前讲的Tool Calling有什么区别?Tool Calling是单个动作------模型判断要调哪个工具,你执行,他基于结果回复。Agent是在这个基础上加了一层循环和自主决策。他可以连续调用多个工具,发现结果不对劲会自己重试,缺信息会换一个工具接着查,直到他觉得任务完成了,才给你最终答复。

Agent通常等于这个公式:LLM + Prompt/Context + Tools +(可选)Memory + RAG + 循环执行逻辑。看上去组件很多,但每个部分我们前面都讲过了,Agent就是这些组件的组合和编排。

Agent的本质:不是另一种模型

先澄清一个常见的误解:Agent不是另一种大模型,也不是模型突然有了"自主意识"。它的本质是:在你的程序里,用LLM当决策脑,外面套一层编排运行时------循环、工具、记忆、权限------让它朝着一个目标多步推进,直到交付结果或者放弃。

拆开来看,Agent由这几层构成:

  • 大脑:LLM本身,根据当前Context决定"说什么、调哪个工具、参数填什么"。
  • 手脚:Tools、RAG这些,由你的代码真正执行,模型只发"申请单"。
  • 工作台:Context,本轮能看到的对话历史、工具回执、检索片段。
  • 档案:Memory(可选),跨轮、跨会话取回的历史信息。
  • 节拍器 :Agent Loop和maxSteps,控制"想---干---看"要循环几轮。

所以Agent是工程上的一个角色 ------一种"会自己往下推任务"的LLM应用形态。它和聊天机器人的差别不在模型型号,而在于有没有目标导向的多步循环和可执行的外挂

举个例子对比一下:

  • 纯聊天:你问一句,模型答一句,链路结束。
  • Agent:你给一个目标"把88392订单状态查清楚并写进周报",它内部可能先查订单工具,发现缺字段,再调用户信息工具补全参数,最后拼成一段话给你。你只发了一次指令,它自己在里面转了好几圈。

自主执行:自己决定下一步

自主执行指的是:在你设定好的边界内,Agent自己决定下一步做什么------继续推理、调工具、查RAG、还是向用户提问------而不需要你每一步都打字指挥。

但这个"自主"是有边界的,不是无限自由:

  • 程序边界 :只能调用你注册过的Tools,你的execute函数里可以做鉴权、限流、沙箱,模型碰不到的东西永远碰不到。
  • 步数边界maxSteps、超时、费用上限,防止死循环或者一个任务烧掉太多Token。
  • 人机边界:敏感操作可以要求人工确认,比如删数据、转账这种,Agent提出申请,你点了批准才真正执行。

还是用管家那个比喻:管家可以自主买菜、切菜、下锅,但不能擅自卖掉你的房子 ------钥匙和预算在你手里。技术上也很明确:决策在模型侧 (填工具单),执行在应用侧(你的函数真的跑起来)。

多轮推理:内部转好几圈

多轮推理指:为了完成同一次用户目标,运行时会连续调用LLM多次。每一轮可能伴随Tool Calling,工具结果写回Context,模型根据上一轮的回执再决定下一轮怎么说、怎么调。

这里要区分三种容易搞混的"多轮":

  • 多轮对话:用户和模型交替各说一句,聊天产品里你连续追问就是这种。
  • Agent多轮推理:用户只给一个目标,中间的多轮是系统内部LLM和工具之间的交互,用户看不见,只收到最终答案。
  • 推理模型内部思考:用户也看不见,但它发生在一次API调用里,是模型自己在脑子里"长考",o系列和extended thinking就是这种。

Agent的多轮推理属于外循环:每一圈都是一次Chat Completion,Context越来越厚------多了工具结果、观察笔记------直到模型认为任务完成或步数用尽。

举个例子,一次用户请求内可能发生3轮:

  1. 模型调用query_order({"order_id": "88392"}),你执行后返回"无此单"。
  2. 模型一看不对,调用search_user_orders({"hint": "88392"}),返回真实id是8839201。
  3. 模型查到真实订单状态,用自然语言向用户说明------不再调工具,任务完成。

用户从头到尾只提了一个需求,Agent自己在里面转了3圈。

Agent Loop:干活儿的节拍器

Agent Loop ,智能体循环,是Agent运转的节拍。它不是"想一次就结束",而是反复循环,直到任务完成、模型主动结束、或者触及maxSteps或停止条件。

和一次性问答的区别很直观:

  • 普通聊天:用户一句→模型一句,结束。
  • Agent Loop:用户一个目标→多轮内部推理与Tool Calling→最终给你一个结论或交付物。

你在框架里看到的agent.generate()maxSteps、停止条件这些配置,就是在实现并限制这个Loop。循环太少了任务完不成,循环太多了烧Token,所以maxSteps是实际项目里一个需要反复调的参数。

整个Agent的生命周期可以压成一条链:

用户目标输入 → Prompt/Context组装 → 模型推理(Reason,决定是否调工具)→ Tool Call/RAG(如果有)→ 结果写回Context(Observe)→ 判断是否继续?未完成则回到推理 → 最终输出

Plan → Execute → Observe:经典三步

这是描述Agent Loop每一圈的经典三步,和上面生命周期里的Reason、Tool、Observe一一对应:

步骤 谁在做 做什么
Plan(规划) LLM 理解目标,决定下一步:直接回答、调哪个工具、要什么参数、是否还差信息
Execute(执行) 你的程序 校验参数→跑execute、查库、调API、做RAG检索,产生真实世界的结果
Observe(观察) 运行时把结果塞回Context 成功数据、错误信息、空结果,都作为消息让模型"看见"

然后进入下一轮:模型Observe之后再次Plan------继续调工具、改口追问用户,或者输出最终答案。这个循环一直在转,直到模型判断目标已达成,或者步数规则不允许继续,才从Observe走到Output,Loop结束。

用管家做菜的比喻来对应三步就很形象:

  1. Plan:管家先想"有没有鱼香肉丝食谱?冰箱里缺什么料?"
  2. Execute:去RAG或搜索拿食谱,调用购物工具下单。
  3. Observe:食谱里写要木耳,但购物回执说"木耳缺货"。
  4. 再Plan:管家决定问你"能不能用香菇代替",或者换一道菜------循环直到端上桌。

有一点要注意:Plan不是必须先输出一整份书面计划 。简单任务里,模型可能直接发起tool_calls,规划融在一次生成里;复杂任务可以在System Prompt里要求"先列步骤再动手",那是Prompt策略,不是Agent定义里的硬性要求。


把这几篇串起来看,整个知识体系的脉络就很清楚了:LLM是大脑,Prompt是沟通方式,Context是工作台,Memory是记事本,Tools是手脚,RAG是资料库,Agent是把所有这些编排在一起、让它自主运转的工程框架。

Agent让LLM从只会回答的"参谋",变成了能完成任务的"管家"。而Agent Loop就是管家干活的节奏------Plan、Execute、Observe,一圈一圈推下去,直到事情办妥。

相关推荐
viperrrrrrrrrr71 小时前
强化学习入门笔记
人工智能·强化学习
轻刀快马1 小时前
AI 架构的文艺复兴:用操作系统“内存管理”重构 LLM 状态机 —— 深度解密 Claude Code
人工智能·架构
随身数智备忘录1 小时前
拆解安全生产法三大核心功能,安全生产法如何解决责任不清与事故追责难
大数据·人工智能·安全
子榆.1 小时前
CANN PyTorch适配器深度拆解:从.cuda()到.npu()到底发生了什么
人工智能·pytorch·python
2501_940041741 小时前
纯前端实战:5个高复杂度业务与交互场景
前端
renhongxia11 小时前
从GPT到开源大模型
人工智能·gpt·生成对抗网络·语言模型·自然语言处理·开源
生成论实验室1 小时前
WOLM在自动驾驶和机器人中究竟扮演什么角色?
人工智能·机器人·自动驾驶·创业创新·安全架构
码云骑士1 小时前
Gemini赋能安全工程师:自动生成PoC脚本的技术实践
人工智能·安全
穗余1 小时前
2026 AI x Web3 School共学营笔记-Day4
人工智能·区块链