学习笔记:《深入理解 AI Agent》总结
索引
本笔记摘录并整理了阅读《深入理解 AI Agent:设计原理与工程实践》时觉得有价值的语段,按照书本章节顺序展开。
本文对书中的部分表述做了调整,同时增加了一些个人理解。
学习资料
资料来源(GitHub 仓库):
- ai-agent-book:李博杰编写的《深入理解 AI Agent:设计原理与工程实践》的主仓库,包含全书正文、编译版 PDF 与按章配套代码
第 1 章:AI Agent 入门
Agent 核心结构
Agent 的核心结构可以用下面的公式来概括:
其中
模型即 Agent
模型即 Agent(Model as Agent)指的是把已有的 Agent 运行轨迹记录(trajectory)作为语料,对模型进行后训练,从而将工具调用等能力内化到模型中,提升模型的 agentic 能力。值得注意的是,这里并非让模型脱离 Harness 独立运行;恰恰相反,而是增强模型运用 Harness 解决问题的能力。
这种训练思路广泛用于提升模型的各类能力,例如程序编写、数学推理、GUI 操作等。具体做法是:先让具备基础能力的模型尝试完成某个领域的任务,再通过人工标注打分区分正负样本(有时还需要人工整理或采集优质数据),训练奖励模型(reward model),进而使用 PPO、GRPO 等方法规模化地强化该领域的能力。
由此引出我对 AI 能力发展的一个观点:只要模型具备基础能力,再给出某个领域的优质数据,AI 就能快速达到接近人类专家的水平;但如果没有这笔“启动资金”,单靠模型自身可能难以突破原有的能力边界。例如,AI 在编程和通过指令操作电脑方面进步很快,很大程度上是因为这些领域的资料几乎都能以文本形式存储,而且有大量结构规范的日志和操作记录可用于训练。而在 3D 结构设计领域(例如使用 SolidWorks 等软件),AI 的水平还停留在“中看不中用”的阶段:能生成看上去像模像样的模型,但离投入实际生产还很远。不过,AI 在这一领域已经具备基础能力,一旦有了优质数据,突破也指日可待。现在(2026 年 10 月)各 AI 公司大力推广云电脑、Cowork、个人助手等产品,一个重要目的就是获取模型和人类用户操作 GUI 的运行轨迹。预计到明年,模型的 computer use 能力就会大幅提升。
Agent 能力更新的层次
Agent 能力的更新按发生位置和持续时间,可分为以下 3 个层次:
- 任务内的临场适应(上下文)
- 跨任务的制品更新(文档、Prompt/Skill、程序等 Harness 组件)
- 训练中的参数更新(模型参数)
工程范式的演进
提示词工程 上下文工程 Harness 工程 Loop 工程 Graph 工程,而单个 Agent 循环可以视作执行图(Graph)中的一个节点。
编排模式
设计编排时应遵循简单、可组合的原则:从最简单的方案开始,必要时才增加复杂度。编排模式主要有以下两种:
- 确定性工作流:流程控制严格,安全性更好,但缺乏变通
- 自主 Agent:动态决策,更灵活,但时间和算力成本更高,也引入了更多不确定性
实践中往往将两种模式混合使用,例如:在同一个系统中同时使用工作流和自主 Agent 节点;让自主 Agent 把工作流写出来再执行;将固定的工作流封装成脚本指令,让 Agent 自主调用。
随着模型能力进步,很多固定的工作流也会内化到模型参数中。例如,早期需要借助 Superpowers 等插件来规范模型的开发流程;而现在的前沿模型已经内化了这类能力,即使不特别强调,也会遵循规范的开发流程,原有插件反而会限制模型发挥,还徒增 token 消耗。
护栏和安全
防护位置按被绕过的难度从低到高分为 3 层:
- 上下文层:在内容进入上下文前拦截。例如,Anthropic 的 Constitutional Classifiers 的实现中包含了 3 点核心机制:
- 用自然语言规则合成正向和负向数据,训练分类器,以检测越狱、提示词注入等内容
- 综合上下文联合判断,结合提问和回答识别其中的暗语或者更复杂的提示词攻击
- 使用两级筛查,轻量检查所有对话,可疑之处再复审
- 执行层:对工具调用进行风险评级,并检查输出内容(如过滤敏感信息)
- 数据层:对文件系统等资源的读写权限进行管控;即使前两层被绕过,越权操作仍会在这一层被拒绝,是最终保障
出现以下 2 种情况时,通常需要人工干预,以保证 Agent 安全运行:
- 失败次数超过阈值
- 涉及高风险操作
设计模式
书中提出了以下 5 个贯穿全书的设计模式:
- 提议者-审核者(Proposer-Reviewer):产出和评判分离,评判方只看结果不看过程,以规避自审不可靠的问题
- 渐进式披露(Progressive Disclosure):上下文中先只提供目录索引,再按需加载具体内容
- 只增不改(Append-only):已写入的内容只追加、不修改,保证 KV Cache 前缀稳定
- 边界集 + 保留集(Boundary Set + Retention Set):任何修改需要在“应该改变”和“不应该改变”的样本上验证,防止无效修改和过拟合
- 最小 diff + 可回滚:每次只做最小必要的修改,并保证来源可追溯、可回滚
第 2 章:上下文工程
未完待续……