什么是 Agent:从"会聊天"到"会做事"

前面四篇,你已经在和模型"对话"了。但 Agent 不是对话,是做事。这一篇不写代码,只建立正确的概念地图------什么是 Agent、它和聊天机器人差在哪、由哪几部分组成。概念清楚后,后面三篇手写代码会非常顺。


一、一个例子看出区别

任务:查一下北京明天的天气,如果低于 10 度,提醒我穿外套。

聊天机器人怎么做?

它没有查天气的能力。它只能基于训练数据编 一个答案:"北京明天大约 5 度,建议穿外套哦。"------数字是瞎编的,看起来却很自信。这叫幻觉(hallucination) ,根源是:模型唯一的能力是"预测下一个 token",它没有渠道获取真实世界的实时信息。

Agent 怎么做?

arduino 复制代码
1. 模型思考:这个任务需要先查天气 → 我有"查天气"工具可用
2. 发起调用:get_weather("北京") → 返回真实数据:8℃
3. 结果喂回模型,模型思考:8 < 10,需要提醒
4. 输出:明天北京 8℃,低于10度,记得穿外套。

区别一目了然:Agent 可以调用真实的功能(工具),并根据工具返回的真实结果决定下一步。

二、Agent 的定义:一个公式

Agent = LLM + Planning(规划) + Memory(记忆) + Tools(工具),跑在一个循环里

拆开看每一项:

部件 干什么 对应系列篇目
LLM 大脑:理解、思考、决策 01~04 已学
Tools 手:查数据、算数、执行代码、发邮件 06~08
Planning 拆解复杂任务、动态调整 09~10
Memory 记住历史、偏好、中间状态 14
循环(Loop) 心脏:把上面的一切转起来 07

新手最常见的误解是把 Agent 理解成"很会聊天的高级机器人"。错。判断标准只有一条:它能不能在循环中调用工具、并根据结果调整行为。 没有循环和工具,就不是 Agent。

三、Agent Loop:一张图看懂

Agent 的核心是一个不断重复的循环,学名 ReAct(Reasoning + Acting,推理与行动):

markdown 复制代码
        ┌──────────────────────────────────────┐
        │                                      │
        ▼                                      │
   ① 接收任务                                  │
        │                                      │
        ▼                                      │
   ② 模型思考下一步                ┌── 思考完毕,给出最终答案 ──→ ⑤ 结束
        │                         │
        ▼                         │
   ③ 需要信息?→ 调用工具          │
        │                         │
        ▼                         │
   ④ 工具结果喂回模型 ────────────┘(回到②继续思考)

用"新员工上岗"类比:

  • LLM 是聪明但哪儿都没去过的员工(只读过书,没碰过你们公司的系统)

  • 工具是他工位上的电话、电脑、打印机

  • 循环就是他的工作方式:接到任务 → 想想缺什么信息 → 打电话问(调用工具)→ 拿到答复 → 继续想 → ...... → 干完了,汇报结果

关键在第④步:工具结果要"喂回"给模型。模型看到新信息后重新思考------这就是"根据结果调整策略"。如果调用完工具不喂回去,等于员工打了电话不听答复,白打。

四、Agent 和聊天机器人的三步演进

makefile 复制代码
阶段1: 聊天机器人
  用户问 → 模型答 → 结束
  能力: 只能靠训练时学过的知识回答

阶段2: 聊天机器人 + 记忆(02篇实现的多轮对话)
  历史重传 → 模型知道你们聊过什么
  能力: 记得住对话,但依然做不了事

阶段3: Agent
  循环 + 工具 + 规划 + 记忆
  能力: 能查真实数据、执行真实操作、能拆解多步任务
  ← 本系列的目标

你现在处于阶段 2。接下来三篇(06、07、08)把你带到阶段 3。

五、主流 Agent 产品都在这个框架里

用这个公式套一套你听过的产品,会有通透感:

产品 工具是什么 循环怎么表现
ChatGPT(带联网/代码执行) 搜索引擎、Python沙箱 你看到它"正在搜索..."就是在循环
Claude Code / Cursor 读写文件、执行终端命令 编码 → 运行 → 看报错 → 改 → 再运行
Coze / Dify 搭的 Bot 平台提供的插件 插件节点按需触发

它们看起来很神秘,拆开都是同一个 Loop。第 07 篇你将亲手写出这个 Loop 的原型------大概 100 行,是这些产品的骨架。

六、为什么 Agent 是现在这个架构(一点设计思想)

三个"为什么",帮你想通而不是背下来:

为什么工具不由模型直接执行? 模型只是文本生成器,它在物理上碰不到你的数据库。所以协议设计成:模型"申请"调用(输出结构化请求),你的代码"批准并执行"。附带的好处是安全------权限控制在你的执行层,模型想干什么都得经过你(08 篇详解)。

为什么需要循环? 复杂任务无法一次想清楚。比如"对比三个产品价格":先查 A,看到结果才知道 B 查什么口径。信息是逐步浮现的,决策必须跟着信息走,所以需要"做一步、看一步、再决定"的循环。

为什么需要记忆? 循环每转一轮、每开一个新会话,LLM 都是无状态的(02 篇)。记忆系统(14 篇)负责把该留的信息留下来、在合适的时机塞回上下文。

七、本篇小结(记住这几句)

  1. 判断是不是 Agent:有没有"循环 + 工具调用 + 根据结果调整" ,会聊天不算

  2. Agent = LLM + Planning + Memory + Tools,跑在循环里

  3. ReAct 循环五步:接收任务 → 思考 → 调工具 → 结果喂回 → (完成则)回答

  4. 工具是"模型申请、代码执行",安全边界在你手里

  5. 循环存在的原因:信息逐步浮现,决策跟着信息走

八、思考题(下篇揭晓)

  1. 模型只会输出文本,它怎么"告诉"你的程序该调用哪个工具、传什么参数?(提示:想想 02 篇说的"结构化数据")

  2. 循环怎么知道该停了?如果模型永远"再查一下"怎么办?

下一篇:06 手写 Agent Loop(上):准备工具 ------ 先把"手"造出来:工具函数、工具描述、以及模型怎么看懂它们。

相关推荐
岁月宁静22 分钟前
AI 应用开发工程师简历怎么写:HR 初筛、技术复筛、面试追问,三道关卡各看什么?
人工智能·python·面试
来让爷抱一个1 小时前
Python 异步里混用同步库,事件循环被卡住的全过程
开发语言·python
老金带你玩AI1 小时前
全球股市跌麻了:AI在进化,牛马在买单
人工智能
小肝一下2 小时前
3.基础语法(3)
python
我qq不是451516523 小时前
WorkBuddy下载体验
人工智能·经验分享·ai·workbuddy
深蓝AI3 小时前
Python 子进程树:父进程被杀后,孙进程为何还在跑?
python
IT_陈寒3 小时前
Redis雪崩把我坑惨了,这是5年经验的教训
前端·人工智能·后端
心祭丫丫4 小时前
【每天一个 Python 小案例17】Python 实现通讯录
开发语言·人工智能·笔记·python·学习