# 引子 · 什么是 Agent，什么不是 · Agent 实战 · 从零构建完备智能体

**作者** Aklman · **章节** 01 / 19 · **首发** 2026.07 · **语言** 中文为主, 中英双语
**原文** https://library.aklman.com/books/build-agent/01-intro
**全书 markdown** https://library.aklman.com/books/build-agent/llms.md
**下一章** https://library.aklman.com/books/build-agent/02-minimal-loop/llms.md

> 本章来自 Aklman · Library, 完整免费阅读。允许 AI 摘读、引用、问答; 转载请保留作者署名与原文链接 (CC BY-NC-ND 4.0, https://library.aklman.com/license)。

---

> Agent 不是更大的 prompt，不是更长的对话。它是一个循环 —— 感知、决策、行动、观察，然后再来。

你大概已经写过一个套壳聊天框，调过几次 API，也许还试过 AutoGPT —— 看着它自己跟自己聊了二十轮、烧了五美元、绕回原地。现在「agent」是 AI 圈最被滥用的词：每个框架都说自己在做 agent，每条推都在发 agent。这一章不教你建，先帮你把线画清：agent 到底是什么，以及更有用的那一半 —— 它不是什么。

这本书是一个从零动手的项目：从一个只会聊天的 LLM 出发，一章加一种能力，直到它能在真实环境里干活。但动手之前，得先有判断 —— 不然你会把一个本该是一行函数的活，建成一个会绕圈的 agent。

动手有动手的对象。这本书从头到尾建同一个东西：一个研究 / 分析助手 —— 你给它一个问题，它去搜、去抓网页、在沙箱里跑分析代码、记住中间结论，最后回一份带引用的报告。每一章给它加一种能力，到最后你手里是一个完整、能跑的 agent，不是一堆零散片段。

这本书分两部分。**第一部分**把 agent 从 20 行循环建到能上生产 —— 工具、记忆、推理、MCP、多 agent、安全、评估、部署、选型。到那时它「能跑」。**第二部分（企业篇）**回答一个不同的问题：怎么让它**值得被放进一家公司**。这两件事的差距，不是一个更强的模型，而是一整层工程 —— 让 agent **可信地、规模化地、在别人的数据上、留得下审计地行动**。这一层有八根支柱：身份鉴权、带权限的检索、对抗性安全、治理审计、常设评测、失败工程、控制平面、多租户。它们不是功能清单，是「能跑」到「企业级」之间那道差集。

> 起步只要两样：Node 24（或 22.19+）和一个模型 provider 的 key（`ANTHROPIC_API_KEY` 或同类）。第二章那 30 行就是这个助手的种子，后面每一章都在它上面接着长。

### I · Agent 不是更大的 prompt

把 prompt 写长、把对话拉长，都不会变成 agent。分界只有一条：下一步是谁决定的。

Anthropic 把这类系统分两种：**workflow** 是「LLM 和工具被预定义的代码路径编排」，**agent** 是「LLM 自己动态决定流程和工具用法」。[^1]区别不在规模，在自主权 —— 流程图是你写死的，还是模型在运行时自己挑的。

多数人以为自己要的是 agent，其实要的是 workflow。Anthropic 的建议很直接：先找最简单的方案，只在复杂度确实改善结果时才加。[^1]一个能用固定步骤说清的活，写成 agent 只会更慢、更贵、更难调。

---

### II · Agent 是一个循环

剥掉所有框架，agent 就是一个循环：感知、决策、行动、观察，然后再来。

每一轮，模型看到目标和当前的观察，决定调哪个工具；工具的结果回灌成下一轮的观察，直到任务完成或触发停止条件。ReAct 把这个循环写成「推理和行动交替」。[^2]用伪代码写出来就这么短：

_Agent 的本质：一个循环_
```text

```python
while not done:
 decision = model(goal, observations) # 决策：下一步做什么
 if decision.is_final: # 模型认为完成了
 return decision.answer
 result = run_tool(decision.tool, decision.args) # 行动
 observations.append(result) # 观察，喂回下一轮
```

```

循环本身很小 —— 这就是为什么第二章用 20 行代码就能写出一个能工作的 agent。难的不是循环，是循环里的每一格：工具怎么定义、记忆放哪、推理怎么不跑偏、安全怎么兜底。[^3]这本书剩下的章节，就是逐格把它做实。

这套「循环外面的每一格」，2026 年的行业有一个统一的名字：**harness** —— 包住模型的全部运行时工程，循环、工具、上下文管理、恢复策略都算。它的分量，Anthropic 自己测过：即便 Opus 4.5 这样的前沿编码模型，跑在官方 Agent SDK 的循环里、跨多个上下文窗口，只给一句高层 prompt，开箱也造不出一个生产质量的 web 应用 —— 模型没变，差距全在 harness 给没给它结构。[^6]所以行业的注意力正在从「谁的模型强」移向「谁的 harness 能把模型的强兑现」：模型一年一跳，harness 才是同代产品真正拉开差距的那一层。Anthropic 的年度趋势报告把这场转移压成一句 ——「软件开发正在从写代码，转向编排写代码的 agent」。[^7]这本书教你亲手搭的，正是这一层。

---

### III · 什么时候不该建 Agent

agent 不是默认选项，是最后选项。能用一次 LLM 调用解决的，别上循环。

循环是有代价的：每一轮都可能跑偏，多轮意味着更多 token、更高延迟、更难复现的 bug。判断标准是步骤数固不固定 —— 步骤固定、路径已知，那是 workflow 或一个函数；步骤数取决于中间结果（比如「修一个还不知道在哪的 bug」），才轮得到 agent。[^1]

把这条判断展开，就是 2026 年通行的决策框架：步骤能预先枚举、判定标准明确、错了代价高的活，交给确定性工作流 —— 它给你可预测和一致；路径没法预先写死、要一边探索一边调整的活，才交给自由循环的 agent —— 它拿更高的成本和会累积的误差换灵活性，所以要配上沙箱测试和护栏、放在可信的环境里跑。[^1]而真实的生产系统大多两者都有：工作流做骨架，把其中开放式的子任务挖出来，交给 agent 去填。这本书把 agent 这一格教扎实，是为了让你把它嵌对位置 —— 不是把所有东西都改写成 agent。

反过来，什么时候它才值得建？OpenAI 的实践指南给了三类信号：要细腻判断（带例外、看情境的决策）、规则多到难维护、或重度依赖非结构化数据 —— 它把规则引擎比作一张清单，把 agent 比作一个会权衡情境的老练调查员。三样都不沾，确定性方案就够了。[^4]

所以这本书每一章都会先问一句「这一格值不值得建」，再教你怎么建。建得出来和该不该建，是两回事 —— 把这条记到每一章里。

这条「先问值不值」背后，是 AI 七十年的苦涩教训：能随算力扩展的通用方法（搜索与学习）终究大幅胜过人工堆进去的领域知识。落到 agent —— 拿不准时，把判断交给模型的通用推理加工具，别用一摞写死的逻辑去模拟它。Sutton 的原话是「我们要的是能像我们一样去发现的 AI，而不是装着我们已发现之物的 AI」。[^5]

动手 · 在写任何代码之前，先做一次分类：

- **写下 3 个你想用「agent」解决的真实任务**:
 从你自己的工作里挑，越具体越好（不是「帮我处理邮件」，是「每天把 X 类邮件归类并起草回复」）。

- **给每个任务贴一个标签**:
 三选一：**(a) 其实一次 LLM 调用就够**、**(b) 是固定步骤的 workflow**、**(c) 步骤数不固定、真需要 agent**。

- **数一数有几个真落在 (c)**:
 大概率多数是 (a) 或 (b)。剩下真正属于 (c) 的，才是你读这本书要建的东西 —— 其余的，省下循环的钱和麻烦。

> 把 prompt 写长不会变成 agent，
> 让它自己决定下一步才会。

## 引用与参考

01 · Anthropic · 「Building Effective Agents」（Erik Schluntz、Barry Zhang，2024-12-19）—— 区分 workflow（LLM 与工具被预定义代码路径编排）与 agent（LLM 自己动态决定流程与工具）；建议「find the simplest solution possible」，只在复杂度确实改善结果时才加。并给出取舍：workflow 为定义清晰的任务提供可预测性与一致性，agent 以更高成本与误差累积（compounding errors）换灵活性 —— 宜配沙箱测试与护栏、在可信环境运行。  (Anthropic · Building Effective Agents)
02 · Yao et al. · 「ReAct: Synergizing Reasoning and Acting in Language Models」（2022，arXiv:2210.03629）—— 把推理（reason）与行动（act）交替成一个循环，是 Agent 循环的奠基论文之一。  (arXiv · ReAct (2210.03629))
03 · Lilian Weng · 「LLM Powered Autonomous Agents」（2023-06）—— 把 Agent 拆成 planning / memory / tool use 三块的高引用综述，作者时任 OpenAI 研究员。作为概念地图使用。  (Lilian Weng · LLM Powered Autonomous Agents)
04 · OpenAI · 「A Practical Guide to Building Agents」（2025-04）—— 何时该建 agent 的三类信号：需细腻判断、规则多到难维护、重度依赖非结构化数据；并把规则引擎比作清单、把 agent 比作一个会权衡情境的老练调查员。  (OpenAI · A Practical Guide to Building Agents)
05 · Richard Sutton · 「The Bitter Lesson」（2019-03-13）—— AI 七十年最大的教训：能随算力扩展的通用方法（搜索与学习）终究大幅胜过人工编入的领域知识；「我们要的是能像我们一样去发现的 AI，而不是装着我们已发现之物的 AI」。落到 agent：靠模型通用推理 + 工具，别堆手写逻辑。  (Richard Sutton · The Bitter Lesson)
06 · Anthropic · 「Effective harnesses for long-running agents」（2025-11-26）—— harness 决定长时程表现的实测：「Out of the box, even a frontier coding model like Opus 4.5 running on the Claude Agent SDK in a loop across multiple context windows will fall short of building a production-quality web app if it's only given a high-level prompt」（开箱状态下，即便 Opus 4.5 这样的前沿编码模型，只给一句高层 prompt 也造不出生产质量的 web 应用）；解法是给结构 —— 初始化 agent、feature list、增量推进。  (Anthropic · Effective harnesses for long-running agents)
07 · Anthropic · 「2026 Agentic Coding Trends Report」—— 年度趋势坐标系，主题句：「Software development is shifting from writing code to orchestrating agents that write code」（软件开发正在从写代码，转向编排写代码的 agent）。截至 2026-07。  (Anthropic · 2026 Agentic Coding Trends Report)

---

*引子 · 什么是 Agent，什么不是 · Agent 实战 · 从零构建完备智能体 · Aklman 著 · CC BY-NC-ND 4.0 · https://library.aklman.com/books/build-agent/01-intro*
