Agent 的前世今生
从 1956 年的"自动定理证明",到 2026 年的 Claude Code 和 Hermes。 四年时间里"Agent"这个词的含义变了什么?
Agent 这个词,在不同年代意味着完全不同的东西。1956 年达特茅斯会议上, 人们说"agent"指能解逻辑题的程序;1990 年代说"intelligent agent"指浏览器里 那只爱屁屁的小狗 Clippy;2017 年 AlphaGo 也是 agent;2022 年底 ChatGPT 突然让 这个词又火了,到 2026 年它几乎成了"LLM 干活"的代名词。
但要真正理解今天的 Agent,你得明白它继承了什么、又抛弃了什么。这一章我们快速 梳理从 1956 到 2026 的关键节点,最后落到 Hermes 站在这条时间线上的什么位置。
1.1"Agent" 到底指什么
这个词在不同语境下指代不同对象。读 paper 或者 doc 时务必看上下文:
| 语境 | 含义 | 典型例子 |
|---|---|---|
| 强化学习 | 在环境里采取行动以最大化奖励的实体 | AlphaGo、Atari DQN |
| 分布式系统 | 跑在节点上的一个守护进程 | Datadog Agent、SSH Agent |
| 多智能体系统 (MAS) | 有自主性、社会性、目标导向的软件实体 | Belief-Desire-Intention 模型 |
| LLM 时代 (本书) | 用 LLM 做决策、用工具改变外部状态的循环系统 | AutoGPT、Claude Code、Hermes |
本书全文谈的是第 4 种。但要理解为什么 LLM 时代的 Agent 长成这样,前三种的影子无处不在。
1.2LLM 之前的 Agent (1956 – 2022 简史)
把这段历史压缩到一页纸是欺骗读者,但本书重点是 LLM 时代的工程,前史一带而过:
1956–1980:符号主义 Agent
达特茅斯会议奠定 AI 学科。早期的 Agent 是专家系统——一堆 if-then 规则 + 推理引擎。1965 年的 ELIZA 是第一个能跟人聊天的程序,本质是字符串模式匹配。 没有"学习",规则全靠人写。
1980–2010:BDI、Subsumption、强化学习起步
Rodney Brooks 1986 年的 Subsumption Architecture 让机器人 agent 抛弃中央 规划器,用分层的反应式行为堆叠。Belief-Desire-Intention (BDI) 模型把 agent 形式化为 "信念-愿望-意图"三元组。同期 RL 兴起:Q-learning(1989)、TD-learning。
2010–2022:深度强化学习黄金期
Atari DQN (2013)、AlphaGo (2016)、StarCraft II 的 AlphaStar (2019)、 OpenAI Five 在 Dota 上击败人类。但这些 agent 的"目标"由奖励函数硬定义, 环境是封闭游戏,泛化能力有限。它们能下棋但不能"帮我写个 commit"。
如果你想正经回顾 LLM 之前的 agent 理论,第 2 章对 agent 的形式化定义、 第 17–22 章关于规划与多 agent 的内容仍然有效。 但本书后面不再回到这些抽象层——LLM 时代有自己的工程惯例。
1.3ReAct:2022 年的关键论文
时间线突然来到 2022 年 10 月。Princeton 和 Google 的 Yao 等人发表了 ReAct (Synergizing Reasoning and Acting in Language Models)。这篇论文之于 现代 Agent,相当于给 LLM 加上手脚的奠基工作。
核心想法:让 LLM 交替生成"Thought"(推理)和"Action"(动作),
动作执行结果作为下一轮 prompt 的一部分。这套
Thought → Action → Observation → Thought → ... 循环,
就是今天所有 LLM Agent 的祖宗。
ReAct 的 prompt 长什么样
读懂这个 prompt,你就懂了为什么后来的 Function Calling 是它的"工程化升级版":
# ReAct 的经典 few-shot prompt(节选)
Question: What is the elevation range for the area that the eastern
sector of the Colorado orogeny extends into?
Thought 1: I need to search Colorado orogeny, find the area that the
eastern sector extends into, then find the elevation range.
Action 1: Search[Colorado orogeny]
Observation 1: The Colorado orogeny was an episode of mountain building
(an orogeny) in Colorado and surrounding areas.
Thought 2: It does not mention the eastern sector. So I need to look up
"eastern sector".
Action 2: Lookup[eastern sector]
Observation 2: (Result 1 / 1) The eastern sector extends into the High Plains...
Thought 3: The eastern sector of Colorado orogeny extends into the High Plains.
I need to search High Plains and find its elevation range.
Action 3: Search[High Plains]
...
注意几个细节:
- "Action" 是用纯文本表达的:
Search[xxx]、Lookup[yyy]。 框架解析这段文本,提取动作名和参数,调用实际工具。 - "Observation" 也是用纯文本插回 prompt——没有标准化的 message role。
- 整个交互通过"补全"实现:LLM 生成下一段,框架截到
Action N: ...就停下来执行工具,再把结果以Observation N: ...拼回去继续补全。
ReAct 的精神在 Hermes 里仍然在——只是工具调用从"纯文本解析"升级成了 OpenAI 标准的 function calling 协议(结构化 JSON)。整个循环骨架完全没变:
flowchart LR
subgraph React["ReAct (2022)"]
R1["Thought
text"]
R2["Action
text parse"]
R3["Observation
text"]
R4["loop until
no Action"]
R1 --> R2 --> R3 --> R1
R3 -.-> R4
end
subgraph Hermes["Hermes (2026)"]
H1["Assistant message
text + tool_calls"]
H2["tool_calls
JSON"]
H3["tool message
JSON"]
H4["loop until
no tool_calls"]
H1 --> H2 --> H3 --> H1
H3 -.-> H4
end
React ==>|"工程化"| Hermes
classDef accent fill:#fbfaf6,stroke:#8b1538,color:#8b1538
class H2,H3 accent
这种思想上的连续性,是我让你先看 ReAct 的原因——读 Hermes 的 conversation_loop.py
时,你会一直在心里翻译成"哦这就是 ReAct 的 thought-action-observation 三件套"。
1.4AutoGPT 时刻(2023 春)
2023 年 3 月底,AutoGPT 在 GitHub 上线,三周冲到 100k star。它的 pitch 是"给 LLM 一个目标,它会自己规划、执行、迭代"。一时间 Twitter 上 全是"我让 AutoGPT 帮我开公司"的截图。
但 AutoGPT 几乎不能干任何真事。它的失败模式很经典:
- 无限循环:LLM 想出一个子任务,开始执行,结果不好,调整目标,又生成新子任务。
- 幻觉行动:执行了不存在的命令,把假结果当真,继续向前。
- 资源燃烧:一个简单任务跑掉 50 美元 token。
- 无记忆:每次循环重读所有历史,context 很快爆炸。
但 AutoGPT 的市场教育价值巨大:它让全世界一夜之间相信"LLM + 工具 + 循环"
这条路。BabyAGI、AgentGPT、GPT-Engineer 接踵而至。LangChain 借此推出
AgentExecutor 抽象,把 ReAct prompt 模板化。
1.5工业化阶段 (2023–2024)
2023 下半年开始,行业进入"擦屁股"阶段——把 AutoGPT 留下的烂摊子修干净。
OpenAI Function Calling (2023 年 6 月)
GPT-3.5/4 加上 functions 参数(后改名 tools),
从 API 层面支持结构化工具调用。从此 LLM 输出工具调用不再依赖 prompt 模板,
而是 protocol-level 保证。模型微调过、被训练成会返回 well-formed JSON。
ReAct 的"解析 Action 字符串"成为历史。
# 现代 function calling API
response = client.chat.completions.create(
model="gpt-4o",
messages=[...],
tools=[
{
"type": "function",
"function": {
"name": "web_search",
"parameters": { /* JSON schema */ }
}
}
]
)
# response.choices[0].message.tool_calls 是结构化 JSON
Hermes 全栈构建在这个协议上。所有 LLM provider 都被适配成 OpenAI 兼容协议。
LangChain / LlamaIndex 框架化 (2023)
这两个框架试图给 Agent 加上"工程化"的抽象:Memory class、VectorStore、 RetrievalQA、AgentExecutor、Toolkit……结果是过度抽象。 Anthropic 在 2024 年底的博客里直接吐槽:
"Frameworks make it easy to get started, but they often add layers of abstraction that can obscure the underlying prompts and responses, making them harder to debug."
从 2024 年起业界共识转向"少抽象、多代码"。
Hermes 也是这条路线——它没有 LangChain 风格的 Agent / Chain
/ Memory 基类层叠。所有逻辑都在 conversation_loop.py 一个
长函数里展开,方便审计和调试。
Anthropic Computer Use (2024 年 10 月)
Claude 3.5 Sonnet 公测 computer use——能直接看屏幕截图、移动鼠标、 敲键盘。这次第一次让"Agent 真的能做任意 GUI 任务"从 demo 变成普通 API。 虽然准确率不高,但开启了多模态 Agent 的窗口。
OpenAI Assistants API → 退场 (2023–2025)
OpenAI 2023 年底推了 Assistants API,想把"thread + tool + retrieval" 做成托管服务。但 2025 年它被官方标记为 deprecated,转而推 Agents SDK, 原因是开发者不希望 state 在 OpenAI 那边、调试体验差。这个挫折让行业意识到: Agent 的状态必须在你自己手里。
1.6标准化与协议层 (2024+)
MCP — Model Context Protocol (2024 年 11 月)
Anthropic 在 2024 年 11 月发布 Model Context Protocol。这是 Agent 历史上一个关键转折——它把工具的接入标准化了。
MCP 是一个开放标准,定义了三种角色:Host(Agent 应用,比如 Claude Desktop / Cursor / Hermes)、Client(host 内部 与 server 通信的库)、Server(暴露工具/资源/prompts 的 外部进程,比如 GitHub MCP server、Slack MCP server)。
协议本身基于 JSON-RPC,定义了工具发现、调用、资源读取、prompts 模板四类 标准 RPC。Anthropic 从 day-one 开源协议,Microsoft / OpenAI / Google DeepMind 在 2025 年陆续宣布支持。到 2026 年它已经事实成为工具接入的 USB-C。
对 Hermes 的意义:Hermes 支持作为 MCP host 接入任意 MCP server。 这意味着只要市面上有个 GitHub MCP server,Hermes 立刻拿到 GitHub 工具集—— 不用 Hermes 自己写。第 7 章会讲 Hermes 怎么处理 MCP 工具的注册与刷新。
Anthropic "Building Effective Agents" (2024 年 12 月)
这篇博客是 2024 年最被引用的 Agent 工程指南。核心观点:
- 把系统分成两类:Workflow(LLM 在预定义代码路径里被编排) 和 Agent(LLM 自己决定下一步)。
- 大多数任务用 Workflow 就够了。Agent 只在"任务复杂度未知"时才需要。
- 核心构建块是 augmented LLM:LLM + retrieval + tools + memory。 所有更复杂的模式都是它的组合。
- 列出 5 种经典模式:Prompt Chaining、Routing、Parallelization、 Orchestrator-Workers、Evaluator-Optimizer。
第 2 章我们会展开这个分类。Hermes 是典型的 Agent,但内部用了多个 Workflow 模式。
Anthropic Context Engineering (2025)
到 2025 年中 Anthropic 提出"context engineering 取代 prompt engineering"。 核心问题:长任务下 context 窗口会满,怎么管理?他们的答案有三招:
- Compaction:当 context 接近窗口上限时,让 LLM 总结当前会话, 用总结开启新窗口。Hermes 第 5 章会看到一模一样的机制。
- Just-in-time context:不预加载所有信息,而是把"指针" (文件路径、ID)放在 context 里,需要时调工具拉。
- Tool result clearing:把旧的工具调用结果清掉,只留 assistant 总结。最近 Anthropic 把它做成了 API 一级功能。
SWE-Bench Verified 成为黄金标尺 (2024)
OpenAI 在 2024 年 8 月推出 SWE-Bench Verified——500 个被人工核对过、 确认可解的真实 GitHub issue。从此"代码 Agent 强不强"有了客观标尺。 2026 年初的最强分数(Claude Opus 4.5)是 80.9%。
| 系统 | 底层模型 | SWE-Bench Verified |
|---|---|---|
| Claude Opus 4.5 / 4.6 / 4.7 | 自家 | 80.9% / 80.8% / 80%+ |
| GPT-5.2 | 自家 | 80.0% |
| Cursor (Sonnet 4.6) | Anthropic | 65.7% |
| Devin 2.0 | 自家 + GPT | 45.8% |
1.72025–2026 的三件大事
本书写作于 2026 年 5 月。从 2024 年底到现在又发生了三件让 Agent 工程发生重大变化的事, 值得单独标出来——它们是"教科书化"正在发生的现场。
① Skill 标准化 (2025.12)
Anthropic 把 SKILL.md 格式作为开放标准发布。OpenAI 在两周内宣布 Codex CLI 和 ChatGPT 采用同一格式。这是 MCP 之后第二个跨厂家 Agent 标准。 Hermes 的内部约定突然变成行业标准——本书第 8 章会专门讲。
② Reasoning Model 全面铺开 (2025–2026)
2024.09 OpenAI o1 单点突破,2025.01 DeepSeek-R1 把 reasoning training 方法 (GRPO)开源给世界——之后每家都发了 reasoning model。到 2026 年 5 月, Claude Opus 4.7、GPT-5.2、DeepSeek-R2、Qwen Thinking、Kimi Reasoning 都进入主流。 对 Agent 工程的影响:很多边界处理(幻觉工具名、JSON 错、空响应)开始被训进模型本身, harness 代码长期会变薄。
③ Multi-Agent Framework 大洗牌 (2025–2026)
OpenAI Swarm 在 2025.03 archive,转推 Agents SDK;Microsoft AutoGen 在 2026 初转 maintenance mode,新的 Microsoft Agent Framework (MAF) 1.0 在 2026.04 接班; LangGraph 仍是生产级首选。整个领域共识:少 framework,多代码。 这也是本书选 Hermes 作为教材的原因——它走的就是这条路。
三件事的共同主题
把三件事串起来:Agent 工程从"用框架包装能力"走向"把能力变成开放标准 + 训进模型"。 框架的角色被压缩;标准(MCP / Skill)和模型本身的能力放大。 Hermes 作为 2026 年的样本,正是这个新平衡的产物—— 没有臃肿框架抽象,但把所有现代标准接口都做完。
1.8Hermes 站在什么位置
把上面的时间线压成一张图:
timeline
title Agent 时代关键节点
section LLM 之前
1956-2022 : 符号 AI / 专家系统 / BDI / 深度强化学习
section 2022 — 萌芽
2022.10 : ReAct 论文 (thought-action-observation 循环)
2022.11 : ChatGPT 发布
section 2023 — 泡沫与基建
2023.03 : AutoGPT 泡沫
2023.05 : Voyager (skill library)
2023.06 : OpenAI Function Calling
2023.10 : MemGPT (分层记忆)
section 2024 — 标准化
2024.10 : Anthropic Computer Use
2024.11 : MCP 发布 (工具协议)
2024.12 : Anthropic Building Effective Agents
section 2025 — 上下文工程
2025.06 : Context Engineering 系列
2025.10 : SWE-Bench 80%+ (代码 Agent 实用化)
section 2026 — 集大成
2026.05 : Hermes Agent : 集成 OpenAI 协议 + MCP + harness : 30 provider + 20 平台
Hermes 不是一个"突破性研究"系统——它的价值是把过去三年 Agent 工程的最佳 实践整合成一个能跑、能改、能学的开源项目。每一个设计决策背后都对应一段 或者几段历史教训。这是为什么这本书值得写: 看 Hermes 就是看 2022–2026 这段时期 Agent 工程的全部沉淀。
Hermes 的定位
| 维度 | Hermes 的选择 | 为什么 |
|---|---|---|
| 架构 | 单进程、不分布式、状态本地 | 避免 OpenAI Assistants 那种"状态在云端"的调试痛点 |
| 抽象层 | 少 — 直接的 while 循环 + 工具字典 | 遵循 Anthropic "less abstraction" 共识 |
| 工具系统 | 本地工具 + MCP server 双轨 | 本地工具控制力强;MCP 提供生态 |
| 模型 | OpenAI 兼容协议 + 30 个 provider profile | 不锁厂家、不锁模型 |
| 记忆 | Skill (程序性) + Memory (情景) + Curator (维护) | 融合 Voyager + MemGPT + Generative Agents 的范式 |
| 多面 | CLI + 20 个聊天平台共享同一核心 | 用户体验跨设备一致 |
本章带走的
- "Agent" 在不同语境下含义不同,本书谈的是 LLM 时代的工程化 Agent。
- 2022 年 ReAct 论文奠定了"思考-行动-观察"循环,至今未变。
- 2023 年 AutoGPT 暴露了三个工程问题:循环控制、错误传播、记忆管理——本书后面所有章节都在回应这三个问题。
- 2024 年起行业进入标准化阶段:OpenAI tools、MCP、Anthropic 的工程指南。
- Hermes 是 2026 年这条线上的工程集大成品,它的代码值得当 textbook 读。
章末练习
- Easy 用一句话总结 ReAct 和 OpenAI Function Calling 的关系。提示:协议层 vs 思想层。
- Easy AutoGPT 失败的三个工程问题里,哪个你认为最难解决?为什么?
- Medium 读 Anthropic Building Effective Agents 原文(2024-12),列出它说的 5 种模式, 并各举一个你熟悉的现实例子(不必和 LLM 相关)。
- Medium 查阅 MCP 的官方文档 modelcontextprotocol.io, 画出 Host / Client / Server 三角,把 Hermes、VS Code、GitHub MCP Server 分别放进去。
- Hard 如果让你给 SWE-Bench Verified 设计一个新的"15 个百分点突破"——固定模型,只能改 harness——你会从哪个方向下手?写 200 字思路。