312. Agent:智能体发展史

2026.07.22

·教程智能体

整段历史可以压成一条线:

312. Agent:智能体发展史 图表 1

第一站:规则系统

符号主义(Symbolism):大型规则引擎

把现实里的概念变成程序能处理的符号,再写规则让程序推理。

对软件工程师来说,它就是大型规则引擎

js
if (发烧 && 咳嗽) {
  return '可能是呼吸道感染'
}
  • 规则少时,稳定、可解释、容易排错。
  • 规则多了,就会出现条件爆炸、规则冲突和大量漏网情况。

专家系统(Expert System)

把某个领域专家的经验写成规则,让程序代替专家做判断。

  • 知识库
    • 存事实和 IF-THEN 规则,像领域规则配置。
  • 推理机
    • 读取事实、匹配规则、推出结论,像规则解释器和执行器。

312. Agent:智能体发展史 图表 2

即使今天的 Agent 虽然用了 LLM,但工具协议、权限、业务校验和停止条件仍然要靠明确代码。规则没有消失,只是不再承担全部智能。

规则系统为什么不够

  • 知识获取瓶颈:专家经验很难完整。
  • 常识问题:人默认知道的事,没写进系统就等于不知道。
  • 脆弱性:输入超出规则范围,系统就可能失效。
  • 框架问题:一次行动后,如果所有变化和不变都要写清,状态规则会迅速爆炸。

根因:开放世界里的输入、状态和例外写不完。

第二站:会说话不等于会做事

规则写不完之后,人们又遇到另一种错觉:系统只要说得像人,就好像真的会理解、会办事。

ELIZA

1966 年的聊天程序。它不理解句子意思,只做两件事:

  1. 用关键词和句式规则匹配用户输入。
  2. 把匹配到的片段塞进固定模板,改写成反问。
text
用户:I am feeling sad.
匹配:I am (.*)
回答:How long have you been feeling sad?

对工程师来说,它就是正则 + 模板字符串。用户感觉在被倾听,程序其实只在改写文本。

ELIZA 效应

人一旦看到流畅、像人的输出,就容易把「说得像」当成「真理解了」。

这个错觉今天还在,只是从聊天升级到了办事:

看起来像实际只说明
回答流畅、态度可靠模型生成了一段像样的文本
模型输出了工具调用它表达了「想调用」的意图
模型说「任务完成」它生成了完成声明

真正成立的只有环境里的状态变化、工具返回值和事先约定的验收条件。Agent 工程要对抗的,正是这种把流畅输出误当成真实结果的习惯。

第三站:模型从数据里学规律

联结主义(Connectionism)

知识不再写成可读规则,而是存在神经网络的参数里。

  • 符号主义:人写规则,程序执行。
  • 联结主义:人提供数据和训练方法,模型自己调整参数。

今天的神经网络、Transformer 和 LLM 都来自这条路线。

Agent 开发者需要知道的三个模型词

名词大白话会不会改变模型参数
预训练用海量通用数据训练出基础模型
微调再用特定任务数据调整模型
上下文学习在 prompt 里给说明和例子,让模型当场照着做不会

Agent 开发通常工作在推理阶段:选择模型、组织上下文、定义工具、运行任务,而不是训练基础模型。

LLM 还不是 Agent

LLM 本质上是一个根据输入生成下一段内容的模型。它可以判断下一步,但它自己:

  • 不知道外部系统此刻的真实状态。
  • 不会自动把一句决定变成真实 API 调用。
  • 不会天然保存完整任务状态。
  • 不知道什么时候才算真正完成。

所以 LLM 是 Agent 的决策核心,不是完整的 Agent。

312. Agent:智能体发展史 图表 3

第四站:Agent 运行时

Agent 开发真正要做的是:在 LLM 外面补齐一个能持续办事的运行时

js
while (!done) {
  const observation = readEnvironment()
  const action = llm.decide({ goal, observation, memory, tools })
  const result = await execute(action)
  memory.push(result)
}

后面会反复遇到的核心名词

  • 目标(Goal):这次任务最终要达到什么结果。
  • 状态(State):任务现在进行到哪里,环境当前是什么样。
  • 感知(Perception):从用户、工具或环境读取信息。
  • 观察(Observation):一次读取或行动后拿到的具体结果。
  • 规划(Planning):把目标拆成步骤,决定下一步做什么。
  • 记忆(Memory):保存后续决策还需要的信息,不等于模型参数。
  • 工具(Tool):Agent 可以调用的外部能力,例如搜索、API、终端和文件系统。
  • 工具调用(Tool Call):模型表达想调用哪个工具、传什么参数;它还不是执行结果。
  • 行动(Action):运行时真的调用工具,改变环境。
  • 反思(Reflection)根据执行结果检查问题并修正下一步,不等于重新训练模型。
  • Agent Loop:把观察、决策、行动和新观察不断串起来,直到完成或触发停止条件。

312. Agent:智能体发展史 图表 4

可以先把现代 Agent 记成:

Agent = LLM + 状态 / 记忆 + 工具 + 执行循环 + 权限和停止边界。

两个后面会遇到,但现在不用深挖的方向

强化学习(Reinforcement Learning,RL)

强化学习解决的是:在和环境不断互动时,怎样靠试错学会更好的决策。

它不是先拿一份标好的答案集去学,而是:

  1. 观察当前状态。
  2. 按策略采取行动。
  3. 环境返回新状态,并给出奖励或惩罚。
  4. 用这个反馈更新策略,让以后更容易选到更好的行动。

AlphaGo 的自我对弈就是典型例子:看棋盘 → 落子 → 按胜负拿奖励 → 改策略。它追求的不是某一步即时奖励最大,而是整局的长期回报

312. Agent:智能体发展史 图表 5

现在先只分清它和普通 Agent Loop:

普通 Agent Loop强化学习
环境反馈怎么用追加到上下文,本轮继续推当成奖励,用来改策略
会不会改模型 / 策略参数不会
影响范围主要影响当前这次任务影响以后同类情况怎么选

两者都在「和环境互动后再决定下一步」,所以容易混。记住一句就够:

Agent Loop 改的是这次任务的上下文;强化学习改的是以后怎么做决策的策略

等读到 Agentic RL,再展开 State、Action、Reward、Policy。现在只要不把「上下文里继续推」误当成「已经在做强化学习」。

心智社会与多智能体

心智社会是 Marvin Minsky 的观点:复杂智能可以由很多只会做一件事的简单单元协作产生。

它启发了多智能体系统(MAS):多个能够独立决策的 Agent,通过分工和通信完成任务。

对工程师来说,先类比成模块或服务拆分:拆得开才有价值。 否则:任务不能真正分工时,多 Agent 只会增加通信、上下文丢失和排错成本。

历史名字,有个影响就行

名字一句话解释需要掌握到什么程度
PSSH智能可以通过符号和符号运算实现的早期假说听过即可
MYCIN用规则辅助诊断感染的医疗专家系统知道规则系统能在垂直领域有效
SHRDLU在积木世界里完成理解、规划和行动的早期系统知道封闭世界有效、开放世界难泛化
ELIZA用模式匹配模拟聊天的早期程序理解 ELIZA 效应
Society of Mind复杂智能来自多个简单单元协作的理论用于理解多智能体思想来源

其实可以忽略

别混淆这些词

容易混淆区别
LLM / AgentLLM 是模型;Agent 是包含模型、状态、工具和循环的完整系统
模型参数 / 记忆参数来自训练;记忆是运行任务时保存的信息
训练 / 推理训练会更新参数;Agent 开发主要在推理时编排模型和工具
工具调用 / 工具执行前者是模型生成调用意图;后者是运行时真的执行
Agent Loop / 强化学习前者在上下文里继续任务;后者通过奖励更新策略
单 Agent / 多 Agent前者一个决策循环;后者还要解决多个主体的通信和协调

历史和易混词先到这里。后面真正要学的,是让模型变成能办事系统的那几块:

  • Agent 范式:
    • 怎样规划、行动、观察和反思。
  • Agent 框架:
    • 怎样保存状态、编排节点和控制循环。
  • 记忆与上下文:
    • 什么信息该留下,怎样送回模型。
  • 工具与协议:
    • 模型怎样安全、稳定地连接外部能力。
  • 评测:
    • 怎样证明任务真的完成,而不是模型自己说完成。

考考你

智能体是怎么发展到今天这种形态?

  • 早期系统靠人把知识写成规则,稳定、可解释,但开放世界的情况和例外写不完。
  • LLM 改成从数据中学习,获得了语言理解和泛化能力;但模型本身只会生成下一步。
  • 现代 Agent 再给 LLM 接上状态、工具、执行循环和安全边界,让模型能读取真实环境、采取行动,并根据结果继续调整。

专家系统和 LLM Agent 最大的区别是什么?

专家系统主要执行人提前写好的规则;LLM Agent 可以根据自然语言目标和当前环境动态决定下一步。前者更确定,适合规则清楚的场景;后者覆盖面更广,但必须用权限、校验和兜底控制不确定性。

LLM 和 Agent 的区别是什么?

LLM 是做理解、判断和生成的模型。Agent 是完整系统:LLM + 状态 + 工具 + 执行循环 + 安全边界。模型说要做什么,不等于系统已经做完。

为什么现代 Agent 是混合架构?

因为不同问题适合不同方法:

  • 大模型:LLM 处理模糊语言和开放问题;
  • 工程:代码、工具协议、权限和停止条件提供确定性;
  • 运行时:把二者串成可执行闭环。

最后记住三句话

  1. 规则系统的问题不是没用,而是开放世界里的情况写不完的,太多了,指数增长
  2. LLM 解决了很多问题不必手写规则,但没有自动解决可靠执行。
  3. Agent 开发就是在模型外面补齐状态、工具、循环和边界,让语言判断变成真实行动。