跳到主要内容

阅读笔记:shen-ru-li-jie-ai-agent(李博杰《深入理解 AI Agent》)

行号 = library/shen-ru-li-jie-ai-agent/text/xx.txt:N

02-fm.txt 引言(2025-08~10 图灵实战营讲稿扩写;开源 github.com/bojieli/ai-agent-book)

  • N5: 成书缘由;把 Agent 设计从「感觉驱动」变「原则驱动」
  • N7: whisper coding 口述式写作,用 Pine 自己的语音 Agent;语音带宽约为打字 4 倍
  • N9: 2025 初 DeepSeek R1 后进入工程落地深水区;Agentic RL 把工具调用训进参数;GPT-5.2→5.5 半年;产品层 Manus/Claude Code/OpenClaw;「代码生成+文件系统」范式
  • N11: 实践在前,命名在后(Skill/harness/loop engineering 是 Anthropic 事后提炼)
  • N13: Pine AI 首席科学家;第一个自主与真人交互、处理涉钱长程任务的通用 Agent(打电话协商账单/退款/取消订阅)
  • N15-19: 三个「早在概念流行之前」: 动态加载提示词/命令行工具/系统状态栏;类 Claude Code 方法;提议者-审核者(proposer-reviewer)
  • N25: 两条赶在名词之前的方法: 真实业务反馈;评估机制
  • N31: Sutton 四阶段演化;Agent 能自举/自我进化
  • N33-39: 核心公式 Agent = LLM + 上下文 + 工具 = 大脑+眼睛+手脚 = Policy/Observation Space/Action Space
  • N43-65: 全书十章结构(构建 2-5 / 评估进化 6-8 / 交互协作 9-10)
  • N77-81: 实验 X-Y 星级;配套代码仓库
  • N83: 术语约定: reasoning→思考, inference→推理
  • N95: 前置: Python、LLM 使用经验、AI 编程工具、软件工程常识
  • N113-119: 致谢: 图灵梦鸽/刘美英, 国科大刘俊明, Pine AI 同事, 太太孟佳颖

03-ch01 AI Agent 入门(概念地图章)

  • N5-7: 五个产品例子(Cursor/Deep Research/Manus/豆包手机助手/Pine AI)
  • N15-23: 公式三组件广义理解;LLM=预训练+后训练
  • N27-46: RL 对应表(策略/观察空间/动作空间)
  • N49-79: 五产品三维表(感知/行动/策略);共同特征: 开放式动作空间、内部思考、持续交互
  • N85-97: 工具五类: 感知/执行/协作/事件触发/用户沟通;MCP 让工具接入像装插件
  • N99-120: 工具调用四步 + get_weather JSON 例(N105-117);通用工具优于专用(计算器→Python 解释器)
  • N124-130: LLM 大脑: 解析意图/拆解/内部思考;零样本泛化/少样本适应
  • N134: 模型即 Agent;Harness=马具;模型越强 Harness 越关键
  • N138: 苦涩的教训;本书立场「方向认同,节奏务实」——训练以月计,模型能力边界=Harness 价值所在
  • N140-151: Agent 学习三路径: 上下文适应(任务内)/外部产物 artifact 更新(跨任务)/参数更新(训练周期);三者不同时间尺度协同
  • N154-166: 上下文五部分: 系统提示词/工具定义/用户消息/模型回复(reasoning+content+tool_calls)/工具执行结果;前二=静态前缀
  • N168-176: 实验1-1 消融: 去工具定义→丧失行动;缺工具结果→无限循环;剥思考→前后矛盾;无历史→失忆重做
  • N184-231: ReAct;轨迹 trajectory;多币种汇总例: 3 次迭代 4 次工具调用,伪代码 N192-224;上下文=静态前缀+轨迹
  • N237-241: 实验1-2 Kimi K3: 2.8 万亿参数 MoE、100 万上下文;200~300 次工具调用稳定;RL 内化的是决策策略,不是把搜索引擎装进权重(N239);编排循环从客户端移到服务端
  • N245-253: 实验1-3 GPT-5.6: Sol/Terra/Luna;自由格式工具调用(type:custom,省 JSON 转义);意图澄清机制
  • N259-273: Harness 工程: Agent = Model + Harness = LLM + [上下文+工具+约束+验证+纠正];退款 Agent 无/有 Harness 对照(N271)
  • N275-317: 五功能表(上下文/工具/约束/验证/纠正);Claude Code harness 绝大部分是约束验证纠正: 流程状态管理/多层压缩/权限分类/熔断器/错误恢复
  • N319-325: 五波演进: 软件工程→提示工程→上下文工程→Harness 工程→Loop 工程(层层包含);LangChain Terminal Bench 2.0: 52.8%→66.5%(只改 Harness);OpenAI 3 工程师 5 个月百万行 1500 PR 约 10 倍
  • N329-361: 五功能核心原则: 信息充分性/接口清晰/默认关闭/输入隔离/不暴露中间态
  • N363-371: 三原则: 保持简单/保持透明/ACI(Agent-Computer Interface)+防呆 Poka-yoke(SIM 卡缺角/微波炉门)
  • N375-389: 模型选型: 御三家;国内(豆包延迟低/Kimi/Qwen/DeepSeek);必须选思考模型(多步决策);输出速度: 20 轮每轮慢 2 秒=多等 40 秒
  • N391-435: 编排: 工作流(订机票四节点,确定路径,攻击面限制在单节点) vs 自主 Agent(ReAct 循环+停止条件);混合(n8n);框架对比表(OpenAI Agents SDK/Claude Agent SDK/LangChain/n8n/Dify/CrewAI/OpenClaw)
  • N495-515: 护栏三层: 输入侧(相关性/安全/内容审核/规则;越狱 vs 提示注入的区别)/执行侧(风险评级)/输出侧(PII);Constitutional Classifiers(宪法生成合成数据/上下文联合判断/两级筛查探针)
  • N517-527: 人工干预: 超失败阈值/高风险操作
  • N531-585: 1.2.7 本书=Harness 实践指南;各章映射表;Anthropic 初始化 Agent+执行 Agent(交接产物)
  • N587-601: 小结五条;安全是架构问题
  • N607-625: 思考题 10 道(二次方成本/无限循环检测/动态风险评估等)
  • N627-631: 脚注: Bitter Lesson 2019;GitHub issue #30;Constitutional Classifiers 2026

04-ch02 上下文工程(全书最关键章)

  • N5: 上下文=每次对话 AI 实际看到的全部信息;上下文工程=Harness「上下文与工具」层核心实现
  • N11-23: 天才新员工类比;Coding Agent 三类信息: 实时代码/流程规范/环境信息=最低信息需求;中等模型+好上下文 > 顶级模型+信息匮乏
  • N25-29: 上下文工程先是技术问题更是组织问题;远程友好团队对 AI 友好;AI Agent 是永远的新员工;构建 AI 原生团队首先是文档化运动
  • N31: 翁家翌: 「人和模型一样,最重要的是 Context」
  • N39-51: 消息四角色 system/user/assistant/tool + tools 独立字段
  • N53-84: 单轮调用 JSON(Qwen3-0.6B 示例);每次调用无状态,信息必须完整提供
  • N86-228: 温哥华时间+天气两轮交互全 JSON(N94-226);三个关键细节: 完整历史回传/assistant 原样放回/tool_call_id 关联;模型决策、框架执行
  • N230-339: 20 行 while 循环(N234-308);生产代码必须加轮数上限(N283-285 注释: agent 会陷入重复调同一工具);messages 列表逐轮变化跟踪(N314-338);框架核心工作=管理 messages 列表
  • N341-349: 上下文构成: 静态前缀+轨迹;「前面不能动、后面可以压缩」是后续一切的基础
  • N351-387: 实验2-1 本地 LLM: 0.6B 模型在好提示词下也能可靠工具调用;M2 上 100+ token/s;token=中文 1-2 个/英文单词 1-3 个(N363);输出顺序: 思考→文本→工具调用(N377);端侧 Agent 时代更近(N385)
  • N389-407: KV Cache 直觉+客服 Agent 时间戳故事: 10 万次对话/天,加 Current time 一行→首 token 延迟 0.5s→3-5s,月账单几乎翻倍(N393);三条核心结论: ①系统提示词和工具定义一旦确定不要改 ②动态信息永远追加末尾 ③用标准 API 格式别自行拼接(N397-403);做菜类比(N405)
  • N409-465: 实验2-2 注意力可视化: Query/Key/Value 表(N419-435);北京天气例子权重 0.55/0.35/0.05(N443);热力图三角形(不能偷看);注意力储存池 Attention Sink: 首 token 吸收 >70% 注意力,softmax 权重和必须=1(N455-457);位置偏好: 关键信息放开头结尾(N463);上下文学习 In-Context Learning(N465)
  • N467-485: Chat Template=信封格式;<|im_start|>/<|im_end|>;Qwen3 思维链保留: 检测到新用户查询会清空草稿纸(N483);DeepSeek R1 剥离全部历史思考→V4 反转为强制回传 reasoning_content 否则报错;Kimi K2/GLM-5 同;Claude thinking block 带签名回传;「从剥离到强制回传」说明: 思考不是废料,是状态(N483)
  • N487-499: KV Cache 原理: 无缓存 prefill 注意力计算量平方级;[A,B,C,D]+E 例;解码仍要遍历全部缓存 KV,线性增长——长上下文解码慢的根源(N497);多层串联→改 1 个 token 全层重算(N499)
  • N501-515: 实验2-3 错误模式: 动态系统提示词/动态用户配置/工具定义动态排序(固定顺序对能力几乎无影响但性能显著)/滑动窗口(丢关键工具结果→循环)/文本格式化(USER:...ASSISTANT:...,主因是偏离训练格式非缓存)
  • N517-521: KV Cache(单次推理内) vs Prompt Cache(跨请求);缓存读取约为全价十分之一(Anthropic/DeepSeek/GPT-5;GPT-4o 五折;GPT-5.6 写入 1.25 倍加价);Anthropic 需显式 cache_control,最小 1024 token,TTL 约 5 分钟
  • N523-537: 缓存作为架构约束(Claude Code): 提示词结构由缓存边界决定(N 个二值条件=2^N 缓存键);子 Agent 必须与父 Agent 字节级对齐;工具结果替换字符串首次出现即冻结
  • N539-549: 前沿延伸: KV Cache 可编辑可组合「笔记」(作者论文 arXiv:2606.17107);prefill 在做笔记,字段 token 自身 KV 贡献 <1%;编辑需 CoT 传播;RoPE 重定位拼接 O(L²)→O(L);p90 首 token 延迟降几十到几百倍,命中率 98.5%;仍是研究阶段,三条结论仍是生产默认
  • N551-557: 三条线索: 提示工程+注入+Skills / 状态栏 / 压缩
  • N559-569: 提示工程=优化系统提示词;聪明新员工检验标准;语气: 大写 NEVER 比 Please 注意力强但会稀释
  • N571-575: 结构化: XML 标签名自带语义;XML(机器精确)+Markdown(人机共读)双层
  • N577-601: 流程驱动 vs 规则堆砌: SOP 五步例(N583-600);异常时按阶段处理而非遍历规则
  • N603-623: 业务规则细化: Pine 打电话 Agent 计费三模式(按省钱提成 20%/按服务 tip/难办预收款);模糊规则→行为不稳定(退衣服算不算省钱?);退款取消绝不按提成 NEVER use percentage...;成功率 >60% 可退款模式、<30% 拒绝;话费 $0.05/分钟四舍五入整美元;「节省」只基于现有账单,不然把避免涨价算成省钱;提示词由产品经理设计,工程师只编码
  • N625-631: Few-shot: 难以规则化的(风格/格式/语气)给例子;放系统提示词 vs 伪造 user/assistant 首轮;示例要字节级稳定(动态检索=缓存失效);2-3 个好例子 > 10 个雷同
  • N633-645: 工具定义: Claude Code 例子(使用边界/具体示例/性能提示/协作关系);2026 起「按需披露」已是 API 原生能力: OpenAI tool_search+defer_loading;Anthropic tool_reference,Claude Code MCP 默认延迟加载;Codex CLI tool_search(BM25)默认开启;完整 schema 追加到轨迹末尾、只在被发现那轮追加、此后固定原位置(N641-643: 因果注意力→追加不破坏缓存;TTL 过期/修改重排才重算);需模型训练时见过( GPT-5.4+/Claude 4.5+)
  • N647-659: 实验2-4 提示工程消融(Tau-Bench 航空客服+零售): 语气风格(Trump/Casual)影响有限;打乱信息组织→成功率降超 30%(先验证再退款被拆散就跳过验证);移除工具描述→调用错误率+45%;方法论: 表现不佳先做消融,别凭感觉重写
  • N661-679: 提示注入: 定义=通过外部内容劫持;比聊天机器人危险因有工具;攻击面=每个感知工具;不可见元素/PDF 元数据/EXIF;防御: 来源标记 external_content/结构化角色/输入清洗(辅助);Skills 与状态栏本身是新注入面(Skill=把外部内容当指令加载的制度化;状态栏被高度信任→可被污染数据源反向利用);上下文防御只是第一道
  • N681-695: 实验2-5 注入攻防: 直接注入/间接注入(总结网页藏写文件指令)/记忆注入(跨会话);防御四级对照
  • N697-755: Agent Skills: 渐进式披露三层(元数据 name+description 数百 token/核心流程 SKILL.md/细则子文档);description 要写成路由条件,Use when/Don't use when+反例,没反例路由准确率明显下降(N715);捆绑可执行代码;类 pip/npm 生态;PPTX Skill 例(markitdown/解压 XML)
  • N727-751: 三种实现: ①注入 system(遵循最强但缓存废) ②普通文件读取(缓存好但中间指令遵循难) ③生产=路由执行分离,元数据提前+按需加载;「对缓存友好」=一次性写入永久受益,首次 emit 仍要付;对比塞 system prompt 每次数万到数十万 token cache_creation
  • N753-755: Skills+通用执行器→工具数量始终少(第五章仅需 7 个核心工具)
  • N775-939: Agent 状态栏: 手机状态栏类比;与系统提示词区别(员工手册 vs 实时仪表盘)
    • N789-805: 理论: 上下文学习更像检索而非推理;上下文窗口是只有一半的检索引擎(缺提炼层);打电话例子: 数不清几次→第 4 次;在工具结果里加「第 3 次呼叫」→错误率大降;显式状态 vs 隐式状态;末尾=高注意力
    • N807-821: 实验2-7 热力图对照: 无状态栏→思考 token 数数;有状态栏→直接用结论;Qwen3-0.6B 无状态栏违反约束,有则稳定遵从
    • N823-839: 上下文蒸馏(Context Distillation)基准: 3 类任务/11 模型/2.4 万次评测;弱模型准确率+40~54 个百分点,2B 追平前沿;强模型省思考/延迟/花费各约一个数量级;思考量从随 N 增长变恒定;键值对格式优于散文;三条经验: ①状态栏用代码维护(20 行正则>前沿 LLM 批量统计,LLM 逐条抽取+代码汇总) ②删原文前确认状态栏覆盖所有问法(三者交叉问题 Claude 100%→7.6%;把新增问法当改表结构;多跳推理别指望) ③状态栏准确率当生产指标(模型无条件相信;错 10% 内尚可;不能来自可污染源)
    • N841-849: 更深层: 状态栏有效因为喂进模型自己想不出来的信息;三条路: 想得更久/试得更多(都在脑子里打转) vs 交互(第三轴)——外部仪器观测写回上下文;Interaction Scaling(作者论文 arXiv:2607.11598);尺子必须扎根真实观测否则循环空转;Loop 工程=交互的工程化;「循环的瓶颈在验证器不在模型」
    • N851-863: 构成四类: 任务规划 TODO/侧信道信息(时间/位置/间隔)/环境当前状态/可用能力清单;侧信道和能力清单一经添加不变,缓存友好
    • N865-891: 位置: user 角色消息插入末尾(借 user 槽位,非真实用户);<agent_status> 标签;紧邻新 token=最高注意力
    • N893-901: 两种更新: ①每轮替换(末尾几轮缓存失效,失效范围小) ②持久追加(Claude Code ,只增不改,陈旧累积);长轨迹选②,短轨迹或大状态选①
    • N903-919: 实验2-8 五技术: 时间戳前缀/工具调用计数器(模式识别+成本感知)/TODO 列表(Manus 复述操纵注意力;启用 TODO 15 次迭代完成 vs 禁用 21 次且遗漏)/详细错误信息(四层: 类型/参数 JSON/调用栈/修复建议;替代方案成功率 60%→95%)/系统状态感知(cd 后自动更新工作目录);组合涌现
    • N921-935: 时间感 time sense 三轴: 紧迫度(预算轴)/坚持度(终点轴,真墙假墙)/警觉度(监控轴,500ms 该 5s 跑了是信号);关键发现: 光给读数不够,四条件实验: 只给时间戳≈什么都不给(+2-3pp);操作手册把通过率从一成拉到四五成(+19~+49pp);「到顶了就停」规则显然所以计数器单独有效;读数+操作策略成对给;四厂商六模型都趴地板→后训练普遍漏掉;蒸馏进权重留到第七章(稀疏结果奖励学不会,逐 token 稠密信号才学会)
    • N937-939: 设计哲学: 人类可读可检查;无侵入不需微调
  • N941-975: 压缩: 两个动机(长度成本 + 提升思考质量);10 次搜索例;宠物店 100 笼子例: 不开思维链数不清/开思维链每次重数/提前总结直接检索;上下文腐化 Context Rot: 装得下但找不到了(vs 溢出);位置偏好/大海捞针;Karpathy: 记忆差是 feature 迫使抽象;上下文学习=快速适配非真学习(理论研究: Learning without training)
  • N983-993: 压缩与 KV Cache 互补: 压缩发生在两次调用之间;静态前缀永不动;压 tool results,替换点后缓存失效;接近阈值时批量压,别每轮压
  • N997-1017: 实验2-9 六策略(OpenAI 联合创始人职业状态追踪,Kimi K3 限 128K): ①无压缩: 7 次搜索 367K 字符,第 5 迭代 165K token 溢出失败 ②个体摘要 10.9% 压缩率 12 迭代 276K token 碎片化 ③组合摘要 4.3% 10 迭代 93K 截断丢尾 ④上下文感知压缩 3.0% 7 迭代 40K;148K→2K 字符仍保关键;不同阶段不同信息密度 ⑤带引用 4.1% 223K 溯源(有损压缩+无损索引) ⑥自适应窗口化: 80% 阈值(102,400)触发,实测 135,600 触发批量压 10 个工具消息,[COMPRESSED] 防重复
  • N1021-1035: 生产五层: 工具结果预算控制(存磁盘+摘要,决策冻结)/噪声直接删除(对噪声做摘要浪费)/API 层微压缩(服务端移除,一次缓存重建,快溢出时用)/归档式摘要(git log 非 squash)/全量压缩(最后手段,熔断器——大量会话困在反复压缩失败循环)
  • N1037-1047: 四原则: 信息价值非均匀/语义完整性(Sutskever 2024 年 5 月离开 OpenAI 不能压成「离开」)/任务相关性/压缩即理解
  • N1049-1067: 架构启示: 压缩模块需接近主模型理解力(模型调模型);token 减 75%+;保留优先级: 架构决策不摘要/变更记录完整/验证状态/TODO 回滚笔记必须留/工具输出只留 pass-fail;UUID/hash/IP/端口/URL/文件名原样保留(错一位后续调用失效)
  • N1069-1075: 隔离优于压缩: 子 Agent 上下文隔离;支付回调函数搜索例: 主 Agent 数万 token vs 子 Agent 只回传两条消息;隔离让噪声不进主上下文;代价: 任务描述必须自包含;Claude Code Task 工具
  • N1077-1085: 小结: 给模型看什么怎么组织比模型多聪明更重要;状态栏是五个组成部分的补充注解非新类别
  • N1087-1105: 思考题 9 道
  • N1107-1127: 脚注: Lost in the Middle TACL 2024;作者三篇论文(KV 可编辑 2606.17107/上下文蒸馏 01.me/交互扩展 2607.11598/物理时间 01.me);OpenAI tool_search 文档;Anthropic MCP tool search;Codex CLI 源码;Anthropic Skills/PPTX

05-ch03 用户记忆和知识库

  • N5-11: 两个尺度: 用户记忆(个体,懂你的助手)/知识库(群体,领域专家);同一问题不同尺度;共用向量检索/知识压缩;共同麻烦: 冲突/过期/检索不准
  • N17-37: 用户记忆=主动持续学习,构建关于用户的预测模型;订机票对话例(N23-35): 提取四条记忆;三特征: 选择性/抽象化/结构化;与上下文学习对比(持久可审查 vs 临时)
  • N39-73: 评估: LoCoMo 基准(约 300 轮/35 会话,arXiv:2402.17753);八项能力(笔者归纳);三层次框架: 基础回忆/多会话检索(两辆车/贷款/洛杉矶之旅)/主动服务(护照过期预警/手机保障整合/报税);实验3-1 每层 20 用例,每用例约 50 轮
  • N75-89: 三维拆分: 放哪里/怎么存/存什么;轨迹(append-only 流水账) vs 用户长期记忆(反复改写的档案) vs 业务状态
  • N91-117: 四种存储格式: Simple Notes(O(1),关联丢失)/Enhanced Notes(叙事完整,冗余/更新复杂/长段落嵌入不准)/JSON Cards(三层嵌套,部分更新,刚性)/Advanced JSON Cards(+backstory/person/relationship/time;「张医生」消歧:自己的牙医还是父亲的心脏科医生);根本张力: 简单性 vs 表达力;实践: 关键少量用 Advanced,大量非关键用 Simple,混合模式
  • N119-173: 进阶表示谱系(由外及内): User as Code(带类型 Python dataclass+函数;预写日志+周期检查点;聚合统计 6-43%→99%;药物过敏冲突检测;护照 180 天约束)/User as Engram(写进哈希 N-gram 槽位,免训练;解决「存了不会用」)/Parametric Multimodal User Memory(ArcFace/CLIP 感知向量→标记词嵌入;不经文字;超过向量检索);作者 3 篇论文(arXiv:2606.16707/2606.19172/待发表)
  • N175-207: 认知科学: 工作记忆(=上下文窗口)/情景记忆(具体事件)/语义记忆(一般知识)/程序记忆(行为流程);三套分类体系正交: 层次(存哪)/格式(怎么存)/认知类型(存什么)
  • N209-233: 框架案例: Mem0(提取—对比—决策;ADD/UPDATE/DELETE/NOOP 四决策;「搬到上海」UPDATE「住在北京」;Mem0-g 图变体)/Memobase(用户画像槽位+事件记忆;缓冲批处理摊薄成本);参考架构(笔者概括非实现);轨迹 vs 工作记忆: 不可变完整序列 vs 筛选激活的动态子集
  • N235-247: 记忆压缩: 重要性评分(访问频率/时间衰减/情感强度/独特性;具体例子: 访问5次3天前强情感 vs 访问1次90天前重复3条)/聚类摘要/抽象泛化;冲突版本化(地址只留最新,工作经历留全史);边界: 本节=存储层整理,第二章=会话内窗口,第八章=行为进化
  • N249-257: 实验3-3 日志脱敏: 本地 Qwen3-0.6B(云端脱敏违背隐私初衷);结构化/半结构化/自然语言敏感内容;LLM 召回率 95%+;混合策略: 正则快滤+LLM 深析
  • N261-300: RAG 基础: 检索器+生成器;维基百科量子纠缠例+公司退款例;检索器质量决定效果
  • N302-318: 分块 Chunking: 必要性(嵌入长度限制/多主题稀释;与 Enhanced Notes 同源);三策略: 固定大小(重叠 50-100 token)/递归结构感知(生产默认)/语义切分(断崖处下刀);256-1024 token,重叠 10-20%;伏笔: 分块切断上下文联系(「该公司」指代谁)
  • N320-341: 稠密嵌入: 定义;向量空间=高维地图;king-man+woman≈queen;余弦相似度(方向非长度);3 维手算例(N330-332: 养猫 0.99 vs 股票 0.25);Word2Vec 静态→BERT/BGE-M3 上下文感知(苹果公司 vs 两斤苹果);自注意力;BERT 512 token 上限
  • N342-376: 实验3-4 ANN 索引: ANNOY(树,构建快/内存低/不支持增量) vs HNSW(图,较慢/较高/支持增量但建议定期重建/精度极高)
  • N378-412: 稀疏嵌入: 词袋 BoW(「猫追狗」=「狗追猫」);TF-IDF: 「模型」60 篇 vs 「蒸馏」3 篇;BM25: k1 词频饱和(20 次≠10 次的 2 倍)/b 长度归一化;实验3-5 从零实现: 倒排索引(术语索引页类比: 查 TCP→45/112/203 页);N=10 语料日志: 模型 IDF=0.76,蒸馏 IDF=1.22;doc_1: 蒸馏贡献 2.15>模型 1.52,总分 3.67;学习型稀疏检索 SPLADE/BGE-M3 稀疏分支(术语扩展)
  • N414-450: 混合检索: 稠密懂语义漏关键词(HTTP-403)/稀疏精确不懂同义(kitty 找不到 cat);三阶段: 并行检索/融合(得分不可比;RRF Σ1/(k+rank),k=60)/神经重排序(跨编码器,前 50 精排);猎头(双编码器初筛) vs 面试官(跨编码器深谈)比喻;融合与重排序不互相替代
  • N426-442: 指标: recall@k(该找的找到了吗;本书实为命中率 hit rate,脚注 7 说明)/MRR(够不够靠前)/nDCG(整列质量);检索失败率=1−recall@20
  • N454-476: 多模态提取三路: 原生多模态(ViT 图像块=视觉单词;保真最高)/提取为文本(OCR/转录;成本最低丢版式)/工具化分析(analyze_image 按需深入);实验3-7 各有胜场
  • N478-492: 超越扁平文本: 字典随机词条读小说类比;案例一: 黑猫白猫计数问题(100 案例文档,top-k 截断/分数参差/跨文档聚合错位;预生成摘要一次检索);案例二: Xfinity 优惠规则(护士 vs 医生语义相近错推;检索器没召回案例 C);注意力=软检索非思考引擎,必须在索引阶段投入提炼
  • N494-526: 结构化索引: RAPTOR(自下而上聚类+递归摘要;SSE 指令例;跨层穿梭)/GraphRAG(实体-关系-实体三元组;(北京,是首都,中国);多跳推理(用户→医生→医院→地址);实体消歧(两个张医生=不同节点;区别于词义消歧 bank);社区发现);局限: 三元组语义降级(下雨取消海边计划的条件逻辑丢失);提取错误→知识污染;分层互补策略;实验3-8 英特尔手册;判断标准: 找片段用混合检索就够,跨文档综合/多层次导航才上结构化(代价: 大量 LLM 调用)
  • N528-544: 文件系统范式 OpenViking(字节火山引擎): viking:// URI;L0 摘要 100 token/L1 概览 2000/L2 全文;与 Skills 渐进式披露如出一辙;Markdown 纯文本(可读可编辑/Git 版本控制/write_file 自主记录);关键前提: 文件间必须建链接与索引(像 Wikipedia 双向可达),不同模型主动建链意愿不同,提示词必须写明
  • N546-554: 治理: 知识过期与增量更新(ANNOY 重建 vs HNSW 增量);失效检测(版本号/生效失效时间,检索阶段过滤);权限过滤必须下推到检索层(进上下文就难保证不泄露);租户隔离防串味
  • N556-590: 智能体化 RAG: 传统=单向管道;图书馆一次搜索 vs 研究员反复查阅;ReAct 主导;知识库检索封装成工具;RAG 安全边界: 检索文档=间接注入最典型载体;知识库投毒;防御: 指令数据分离(来源标记)+不让检索内容直接触发高风险操作;实验3-9 中文司法问答: 简单问题非智能体化更快够用;复杂量刑问题多轮迭代(并行三查询→评估缺累犯信息→二次查询→综合)
  • N592-654: 反哺用户记忆: 实验3-10 对话历史当知识库(每 20 轮分块);两辆车用例二次搜索;矛盾转账用例暴露局限(三条独立矛盾指令);实验3-11 上下文感知检索(Anthropic Contextual Retrieval): 索引前生成前缀摘要;与第二章上下文感知压缩划清界限: 一个索引期做加法,一个运行期做减法;同时增强稀疏(可匹配关键词)和稠密(语义背景);prompt caching 成本可控(每百万 token 约 1 美元);检索失败率降 49%,加重排降 67%;实验3-12: 「好的,就订这个吧」需上文;矛盾转账三前缀([妻子设立初始电汇]等);双层记忆架构: Advanced JSON Cards 常驻=概览 + 上下文感知检索=细节 → 主动服务落地
  • N656-682: 从数据集提取隐性知识: 司法判例(法官权衡经验=医生直觉);两阶段: 知识提取结构化(JSON Schema)+因子分析重要性建模;实验3-13 CAIL2018: 自下而上因子发现(不预设模式);独热编码(盗窃=[1,0,0],不用 1/2/3 免得误以为严重 3 倍);聚类案件原型;按重要性顺序引导提问
  • N684-694: 小结;本章=陈述性知识,第八章=行为知识
  • N696-714: 思考题 9 道
  • N716-730: 脚注: User as Code/Engram/Multimodal Memory(作者论文);跨编码器 [CLS][SEP];recall@k 实为 hit rate;Anthropic Contextual Retrieval

06-ch04 工具

  • N5-13: 两个核心挑战: 工具选择(数千工具撑爆上下文)与异步事件;本章结构
  • N15-55: 五类工具表(调用方向/作用对象): 感知(web_search/read_file)/执行(shell_exec/write_file)/协作(spawn_subagent/list_agents)/用户沟通(reply_to_user/send_card_to_user)/事件触发(set_timer/monitor_shell/connect_channel;注册时主动、触发时外部回调)
  • N57-75: 通用原则一: 能力表达形式: 专用代码工具(结构化 schema,数百 token/个) vs Skill+通用执行器(自然语言文档+少量通用工具;部署应用 Skill 例: npm run build→docker build→kubectl apply);三维决策: 参数复杂度/变更频率/模型能力
  • N77-83: 粒度权衡: 超 100 个工具即使最先进模型也易出错;extract_pdf/docx/pptx→统一 read_document+file_type;OCR 与视频解析不合并(参数形态/延迟差异大)
  • N85-91: 通用性: code_interpreter+沙盒(sympy/numpy/pandas)>四则运算计算器;边界: 跨平台 grep 语法不同→专用工具更好
  • N93-107: 描述艺术: 核心是「什么时候用」而非「能做什么」;列边界(做不到什么)比描述能力更重要——多数调用失败的根因是不知道工具不能做什么;参数用例子(RFC3339+例子;E.164+8613888888888);返回值描述;耗时注明(5-10 秒,考虑 get_page_metadata);1-5 个真实调用示例,准确率 72%→90%;调试原则: 选错工具先查描述别怀疑模型
  • N109-119: 参数传递保真性: 静默输入转换——Cursor 弯引号→直引号,模型「明明看到却找不到」死循环;写入方向同样篡改;静默参数注入(git commit 自动附加参数,旧版 Git 报错);原则: 模型感知的世界与工具操作的世界不能有系统性偏差;规范化必须写进描述并告知
  • N121-127: 三代演进: 一代 API 直封装(过细);二代 ACI(对应 Agent 目标;对标 HCI);三代: 示例驱动调用/动态发现/代码编排(领导写操作手册比喻;token 降约两个数量级)
  • N129-167: MCP: Anthropic 2024 年底开放标准;插座标准比喻;客户端-服务器;JSON Schema 描述;stdio 本地+Streamable HTTP 远程(SSE 已弃用);三原语: 工具/资源/prompts;三个递进挑战:
    • 局限: 请求-响应式;notifications/progress/sampling/elicitation 都在单会话内;无法跨会话唤醒;MCP 管单次调用,框架在上层管事件队列
    • 上下文开销: 5 个 MCP 服务器≈55,000 token(200K 窗口的近三成);Cursor 方案: 工具描述同步到文件夹,A/B 测试总 token 减 46.9%
    • 层次化: 搜索/读取/解析/查询四类;Anthropic: 按需检索使 Opus 4 准确率 49%→74%
    • MCP→Skills: MCP 管互操作,Skills 管选择过载(把工具选择问题变成知识检索问题)
    • 信任模型四风险: 工具描述投毒(description 进上下文,提示注入变种,每次会话生效)/恶意或被劫持服务器(供应链攻击)/同名工具遮蔽 tool shadowing/凭证管理;缓解: 接入前审查/锁版本/最小权限凭证;Sidecar 最后防线;致命三要素(访问私有数据+暴露于不可信内容+对外通信,Simon Willison)
  • N169-201: 感知工具: 输出超阈值自动上下文感知压缩(10000 字符);搜索返回结构化候选列表+分页游标;read 类 offset/limit+截断必须显式可见(静默截断危险);只读红利: 可缓存可并行;多模态: 文本提取 vs 保留图像(布局敏感保留);实验4-1 五类感知 MCP 服务器
  • N203-333: 执行工具: 多层安全:
    • 输入验证: 路径遍历 ../../etc/passwd;快速失败不智能修正
    • 权限控制: 工作目录/黑名单(rm -rf /,dd if=/dev/zero;黑名单只是最基础层)
    • 提议者-审核者: 事前审批(银行双签);模型选不同家族相似能力(认知多样性;Haiku 审 Opus 不可靠——审查者跟不上;Claude Opus 与 GPT-5 互审);底层规则一致关注点不同;拒绝理由作为工具结果入轨迹;风险分级+人工升级
    • 事后验证: 模态切换(代码→渲染视觉;配置→沙盒实际运行)
    • Sidecar: 与主模型流式输出并行但门控;只看结构化数据不看自由文本(防话术操纵);bash("rm -rf /tmp/data") 例;数百毫秒;与提议者-审核者区别: 审查对象是结构化分类问题,轻量模型够用;拒绝熔断器
    • 自动验证: write_file 后自动 linter,错误列表返回(执行-验证-反馈闭环)
    • 长输出: 头 50 行+尾 50 行+中间提示+文件引导(/tmp/execution_output.txt)
    • 沙盒: venv 不是沙盒(只隔离包依赖);OS 级(Seatbelt/seccomp/namespaces)<容器(共享内核)<microVM(Firecracker,独立内核);资源配额
    • 可观测性: 日志/审计/指标/告警
    • 幂等性: 转账超时重试可能重复转账;idempotency key/先查询后变更;不可幂等(邮件/电话/转账)→预检-确认两段式+确认令牌
  • N335-381: 协作工具: 子 Agent=专业化分工;提示词要素: 角色清晰/上下文来源标注([FROM_MAIN_AGENT]/[FROM_USER]/[TOOL_RESULT],防注入)/任务边界/输出标准化(JSON);三组原语: 启动取消/消息传递/发现(list_agents);四种形态: 同步/异步/流式/多轮;HITL: 超时降级(5 分钟无响应采用保守策略)/优先级队列/反馈循环(批准拒绝→经验或后训练数据,不能未经归纳直接推广)
  • N383-427: 事件驱动异步:
    • 为什么: 同步=排队柜台 vs 异步=灵活秘书;根本矛盾: LLM 训练假设同步(工具调用后下一条必须是结果),部署要求异步——「训练同步/部署异步」
    • 事件流统一建模;轮询 vs 触发
    • OpenClaw 三机制: Hooks(生命周期)/Cron(定时,0 9 * * 5=周五 9 点)/Heartbeat(每 N 分钟);局限: 只有 Cron/Heartbeat 是时间驱动,第三方事件源无即时通道;PineClaw Channel 机制: 实时身份验证 OTP/三方通话确认/降价方案确认;分钟级→秒级
  • N429-439: 事件触发工具三类: 定时器(一次性/循环)/后台任务监控(monitor_shell,Claude Code monitor 工具)/外部事件通道
  • N441-455: 用户沟通工具: OpenClaw「活人感」,session 对用户透明;生成式 UI;类别边界: 通知审批者=协作工具,通知最终用户=用户沟通;多渠道召回
  • N457-469: 虚拟身份与隔离执行: 独立账号(秘书有自己的办公电话);虚拟电脑/手机;反自动化: CAPTCHA/住宅代理;HITL 认证(VNC/RDP 用户亲自登录,会话令牌复用);共享文件系统卷挂载(/workspace/shared,传路径不传内容)
  • N471-518: 事件处理: 事件循环(goroutine/channel 类比);事件只在轮次边界消费,取消在安全点检查(ctx.Done);结构化事件四维: 来源/渠道/内容/上下文(退款邮件 JSON 例);三种策略: 取消式(紧急,提前制造安全点: 停止→清队列→追加→重调 LLM;「停止!我说错了」)/队列式(常规,批量处理;「只看最近一个月」)/并行式(独立轻量;「今天天气怎么样」);紧急度分类;轻量分类 LLM 做事件路由
  • N520-550: 实验4-4 邮件处理 Agent: 事件源六类;三封邮件场景(会议邀请查日历/投诉高优先级/广告归档)
  • N552-634: 工程实现:
    • 五条规则: ①输出立即记录 ②工具完成才记录 result ③执行中打断→占位符(「工具正在后台执行」) ④思考中打断→丢弃思考 ⑤非打断事件队列批处理
    • search_contacts 打断例完整走查;常态=完美同步轨迹;占位符是必要妥协;加剧幻觉风险(编造工具结果),只在真正紧急时打断
    • 异步工具接口: initiate_phone_call(启动/完成解耦;名称和描述传达异步语义)
    • 注意力分散: 只关注最后一个事件;状态栏标记 [未处理事件 1/4]+末尾汇总
    • 深层矛盾: 下一代模型需异步 RL 三能力(理解乱序轨迹/恢复被打断任务/批量综合);VLA 指方向
    • 持续思考(continuous-time): 约两百行编排,强行合上 块注入观察再续写;等待=白赚的算力;边等边想(抢先思考,零样本复现)/边做边想;训练关键: LLM 当裁判→模型藏思考换好评,客观指标更差;可验证+信息覆盖度目标才有效——「编排让行为成为可能,训练让行为变好」(作者论文 Never Stop Thinking 待发表)
  • N636-648: 实验4-5: 异步执行/批量处理(日语网页)/打断取消/三脚本并行取消(3%/2%/1% 每秒,33 秒后查状态,取消 <50% 的)
  • N650-702: 主动工具发现: 全量注入上千工具失效;检索预筛选局限(一次性匹配初始查询);MCP-Zero: 主动声明缺口,两层语义路由(服务器级→工具级),2800 工具省 98% token;Anthropic Tool Search Tool;层次化匹配+降级(明确返回未找到);动态加载与 KV Cache: schema 追加末尾,状态栏维护工具名列表;OpenAI tool_search/defer_loading,Claude Code tool_reference,Codex CLI 默认开启;「追加只在发现那轮,此后固定原位置」;弱模型需 RL 训练;Skills=更轻思路: 目录→按需查阅(维基百科查词条);可组合 KV Cache(RoPE 粘贴,skill 变缓存对象)
  • N676-692: 实验4-6: Qwen3-4B+120 工具;全量 50K token→指令遵循退化;实验组只留 3 个工具+discover_tools 返回 3-5 候选
  • N704-726: 小结;异步架构决定能否在真实世界可靠运行
  • N728-748: 思考题 7 道;脚注: Never Stop Thinking/MCP-Zero arXiv:2506.01056/KV Cache 可编辑

07-ch05 Coding Agent 与代码生成

  • N5-13: 核心判断: 通用 Agent 核心是 Coding Agent+文件系统(Manus→OpenClaw 验证);代码=元能力(运行时创造新工具);思考上严谨(age > 18 and is_verified 无歧义)/表达上可验证
  • N17-57: 七个核心工具: Code Interpreter/Bash/读文件/写文件/编辑文件/Glob/Grep;TODO 整理例: Grep(3 处)+Write 即完成;注意: 与第四章五类工具分类的关系(七工具主要覆盖感知+执行,协作等由框架处理)
  • N59-85: Manus 到 OpenClaw: Deep Research/Computer Use/Coding 三能力融合;为什么 Coding 是核心而非其他: PPT=OOXML 代码、GUI 操作可固化为 RPA、Deep Research=代码驱动;代码是效率最高成本最低可复用最强的基座;销售报告执行流(读记忆→调工具→写代码→产物→更新记忆);文件系统=中枢: MEMORY.md+日期 Markdown;Markdown 而非向量库: 用户可直接改/Git 回滚/天然时间顺序;适用边界: 开放任务型以 Coding 为核心,垂直客服以业务流程为核心但 coding 仍是底线
  • N87-95: Sessionless: 无安装登录,消息平台直达;前提=大模型作为智能基座(类 OS 屏蔽硬件);工程难点: 状态跨消息存活——文件系统持久(挂载沙盒外)/进程状态按需保活或重建(销毁前序列化到工作区文件)
  • N97-149: 安全:
    • 致命三要素(Simon Willison): 访问私有数据+暴露于不可信内容+对外通信;作者补充第四: 持久记忆(放大器,跨会话潜伏);四类边界: 数据/输入信任/输出影响/跨会话
    • Claude Cowork 保守权限;单靠输入过滤挡不住;关键操作由上下文外机制复核
    • 三点增量: 命令语义解析/沙盒网络出口/持久记忆跨会话防线
    • 沙盒四项: 网络出口默认断网白名单代理(掐断外传通道比识别注入确定)/源码只读+凭证不挂载/资源限额+结构化超时错误/持久会话不逃逸沙盒
    • 语义解析: $(echo rm) -rf / 绕过黑名单;find -exec rm;curl -o /etc/crontab
    • 推测性执行: 展示与放行拆开;不同于 CPU 推测执行(无副作用 UI 提示,无需回滚)
    • 委托方忠诚 principal loyalty: 「谁说话帮谁」是危险默认;光谱两端: 太老实(抖底价 12000)/太多疑(拒绝正当请求);跷跷板;忠诚度守则: 保护私密/拒绝不念清单/私下底线≠对外立场/只执行明确指令/顶住施压(作者论文 arXiv:2606.30383)
    • 信任边界下移: 应用层当不可信;权限内嵌数据对象(schema 自带权限规则);访问上下文: Agent 以 scoped principal 受限身份运行;零违规 vs 其他方案数十次;每次写入约 2 毫秒;条件: schema 写全+堵死绕过路径(作者待发表论文)
  • N151-189: 整体流程: 项目文档化(CLAUDE.md/AGENTS.md/.cursorrules=项目级系统提示词,SOUL.md vs MEMORY.md;最经济的稳定前缀)/AI-ready 代理指标(远程新人能否只靠仓库工作)/任务理解/设计文档(审查文档比审查代码容易)/测试驱动(「测试通过」而非「代码写完」=完成标准)/自我审查/文档同步
  • N191-248: Harness 实践: 四组件: 验收基线/执行边界/反馈信号/回退手段;四象限: 目标明确+自动验证=最佳;目标模糊+自动验证=高效跑偏(linter 优化「代码质量」);目标明确+人工验证=吞吐受限;两者都缺=难启动;Coding 成熟度高因软件工程基础设施=天然 Harness;三案例(大规模迁移: 知识在代码库/约束进 Linter CI/全链路自动化;LangChain 用 Agent 分析失败轨迹;Anthropic 初始化+执行双 Agent);四原则: 约束优先于指导/验证自动化/反馈快且结构化/回退可靠;约束另一层: 防过程性错误(删库重建;reward hacking 日常形态);RLVP 呼应第七章;故障边界: 只在同批并行调用内传播
  • N250-286: 故障与错误恢复:
    • 四层故障: API(429/超时)/工具(幻觉调用/参数畸形/重复同错)/上下文(溢出/压缩失败/轨迹损坏)/控制流(死循环/死亡螺旋)
    • 检测: 先分类(可重试 vs 不可重试)再计数;重复调用指纹(工具名+参数);连续失败计数;静默卡死(水管通着不出水)→空闲看门狗;「每个长连接都需要活性信号」;完整性监控自动修复配对;产品模式宽容/训练模式严格(占位符污染训练数据)
    • 恢复分级: 静默重试(指数退避+抖动;前台后台区分防「重试放大」)/降级接续(提升上限→元指令断点接续→备用模型需剥离私有格式块)/暴露给用户;工具层错误变成模型输入;边界是整个恢复循环,恢复期扣留错误消息
    • 终止: 每条路径熔断上限;Claude Code 压缩熔断「连续 3 次」来自产线: 一个会话连败 3000+ 次,全球每天浪费约 25 万次 API 调用;死亡螺旋防护: 错误路径禁用副作用+递归深度计数;全局: 最大轮数/预算上限/人工升级
    • 「Agent 的可靠性不取决于它犯不犯错,而取决于每类错误是否都有对应的检测、恢复与终止路径」
  • N288-332: 实现技巧: 并行工具+流式执行(参数一完整即启动)+级联中止;行号标注(精确引用 src/main.py:42);环境信息状态栏注入(工作目录/git 分支/提交记录/变更概览);持久终端会话(cd 后不回根目录;venv 激活只在会话内有效);即时语法反馈(IDE 红线类比)
  • N334-356: 搜索工具四种: grep/ripgrep(正则,不懂语义)/glob(文件名,快)/语义搜索(结构感知分块+混合检索;路线之争: Claude Code 不建索引(grep+glob 现场) vs Cursor 建索引;取舍=基础设施与数据外发代价 vs 跨文件语义召回收益)/LSP 符号级(定义 vs 调用;重构关键);组合: 从粗到细从语义到语法
  • N358-374: 文件编辑五方案: 差异描述+Apply Model(Cursor fast-apply,推测解码每秒千 token)/Old String→New String(Claude Code,存在且唯一则成功)/行号定位(模型数行号易错)/类 Vim(重组高效但学习负担)/字符串首尾匹配(边界几行,大段删除经济);建议: 自建从 old/new 起步
  • N376-398: 元能力六方向(由内向外): 思考工具/业务规则/多媒体/系统适配器/生成式 UI/自举
  • N400-433: 代码作思考工具: 40 学生例(自然语言 24-10=14 错 vs 代码 8 对);Wolfram 符号计算(2√2 精确)与 LLM 互补;实验5-1 AIME;实验5-2 K&K Puzzle 90%+;模型与脚手架此消彼长: 模型强脚手架薄;弱模型代码辅助增益大,强模型收敛到零——评估技术时要看模型前提
  • N435-524: 业务规则约束: 「7 天」自然日还是工作日;提示词规则(解释/变通)与代码校验(守门)互补;*τ-bench cancel_reservation 完整代码: 三重保障——①参数作 checklist(expected_ 自报仅供比对审计)②服务端真值校验(舱位/保险/时间全查库,时钟取服务端)③提示词规则;「最后一道防线必须建立在模型无法伪造的数据之上;独立性不仅指独立模型,更指独立数据来源」**;实验5-3 Qwen3-4B
  • N526-584: 多媒体: PPT=代码(Slidev Markdown/HTML);提议者-审核者: Proposer 生成 Slidev 代码,Reviewer 渲染截图+Vision LLM 结构化建议(「第 7 页字体增大到 14pt」);双 Agent 优势=上下文管理(单 Agent 数十页渲染图会超限);视频: Blender API/FFmpeg;两步定位(每 10 秒粗/每秒细);子 Agent 避免截图占上下文
  • N586-622: 系统适配器: 万能胶(读文档/观察响应→生成适配代码);RPA=极端形态;日志自适应解析(失败→报告 Agent→生成代码→虚拟浏览器测试→热更新);生产日志诊断(回归测试引用轨迹 ID 重放;MCP 对接 GitHub 建 Issue)
  • N624-703: 生成式 UI: 文本交互低效;A2UI 声明式协议: 只输出 JSON 界面描述清单,客户端用受信组件渲染(餐厅菜单: 只能点菜不能进厨房);成因是提示注入,效果类似 XSS,不能把攻击叫 XSS;AG-UI 是事件/传输协议非界面语言,可承载 A2UI 载荷,互补;HTML 交付取代 Markdown(交互演示/可视化/活文档;作者研究网站 01.me/research;内科指标=训练损失/梯度范数/困惑度/KL 散度);级联表单澄清意图;SQL Artifact 模式: 数据从库直达界面,绕过 LLM 中间人(LLM 抄写数据易错);ERP 十问;Imagine with Claude;半定制+HMR
  • N705-756: 自举: 与第八章分工(本章=怎么写代码构造,第八章=什么证据触发修改);OpenClaw doctor: 确定性检查覆盖高频(与传统运维脚本无异)+LLM 兜底长尾;编写 Agent 的关键: 基于范例生成(复制自己再改,基因复制加变异;常见缺陷: 上下文随意/工具不规范/选型滞后/生态脱节);实验5-12
  • N758-810: 小结;思考题 10 道;脚注: 忠诚度论文/信任边界论文/故障分析基于 Claude Code 源码研究/研究网站

08-ch06 Agent 的评估

  • N5-31: 开篇: 评估=Harness「验证」功能核心;评的对象是模型与 Harness 的组合体;模型替换实验(model swap)区分瓶颈在模型还是 Harness(换强不涨=瓶颈在 Harness);消融=关组件,模型替换=只换模型;「为未来模型开发产品」策略;核心: 评估体系首要价值=快速可靠跟上模型演进(数小时切换决策)
  • N35-88: 退款例完整走查(#12345 ¥299,2026-04-07 买,10 日退);Rubric 四维(操作正确/政策合规/信息完整/幻觉否决);幻觉是否决项因与质量正交;边界场景(15 天前订单/谎称客服批准)
  • N90-145: 自动评估环境五要素: 数据集/环境状态(真实性 vs 可控性: 重置到相同初始)/工具(原子操作迫使规划)/Rubric/执行协议;Verifiers 层次: SingleTurnEnv/ToolEnv/StatefulToolEnv/SandboxEnv;并行采样+轨迹缓存
  • N147-185: 人机交互型: 渐进式信息透露(现实中用户很少一上来就清晰;「我的航班好像有问题」);τ-bench 用户模拟(LLM 扮演,固定脚本可复现);组件级多维检查(数据库状态+关键信息字符串)+任务层二元奖励(Pass^k);τ²-bench: 双控环境(用户模拟器也能操作共享环境,技术支持场景)/更精确任务规范
  • N187-271: 数据集设计:
    • 五挑战: 明确 vs 开放(GAIA)/真实 vs 可控(SWE-Bench→Verified 人工筛 500)/多样 vs 系统(AndroidWorld 116 任务 20 应用标能力标签)/成本 vs 覆盖(466 题三级)/数据泄漏(GAIA 独特附件;SWE-bench-Live 收训练截止后 issue;τ² 动态参数;AndroidWorld 参数化;Terminal-Bench canary GUID)
    • 精确性: GAIA 格式规定(千位分隔符);τ² 情境化(表面问题/性能期望/约束/隐含情绪);Terminal-Bench 全元素机械化验证(build-linux-kernel-qemu,启动日志出现自定义 printk);OSWorld 多解性+环境不确定性(Verified: 离线快照/锁版本/显式等待)
    • 层次化: GAIA 三级(93.9% vs 30.3%/91.8% vs 9.7%/87.3% vs 0%);τ² 业务复杂度;Terminal-Bench 双维(200 余任务,2.0 版 89 个)
    • 可验证性: FAIL_TO_PASS/PASS_TO_PASS 双重;τ² 多层检查+双控验证;OSWorld 134 个评估函数(查 DOM/cookie/直连数据库);Terminal-Bench 容器标准化
    • 分布: 陷阱任务(谎称已批准);OSWorld 双维矩阵跨三 OS(跨 OS 能力强相关);Terminal-Bench 跨技术栈
    • 质控: SWE-Bench Verified: 93 名开发者,2294 抽 1699 评,仅 500 过(29%);OSWorld-Verified: 15 个月暴露 300+ 问题,四类(环境/描述/验证逻辑/初始状态),约 10 人修两月,AWS 50 倍并行(10+ 小时→几分钟),Google Drive 初始化 50%→95%+;轨迹公开 HuggingFace
    • 评估环境与后训练环境同源(RLVR: 判分脚本=奖励脚本);红线: 环境构造机制可复用,评估题目必须与训练数据隔离
  • N273-319: 指标词典: 过程(行动合法率/工具调用正确率/路径效率: 步数冗余回退/检索覆盖率/成本延迟);Pass@k(至少一次成功,能力上限) vs Pass^(k)(全部成功,稳定性) vs Best@k;60% 单次: Pass@5≈99% vs Pass^5≈7.8%;安全合规零容忍;鲁棒性;轨迹 vs 结果双重覆盖(订票例: Agent 利用政策漏洞找到更便宜方案,轨迹层面判失败结果层面是成功);人工抽检+评判者校准(金标集 100-200,Cohen's kappa>0.7);红队;多评委
  • N321-459: LLM-as-a-Judge: 长度偏差三防(Rubric 惩罚冗长/长度控制/审计相关性);Rubric 四准则(Scale AI): 专家指导/全面覆盖(含陷阱 Pitfall)/重要性权重(必要/重要/可选/陷阱;一票否决 Veto)/自包含(「引用至少两个权威理论」非「展示深刻理解」);儿科医生 Rubric 完整例(跨两次对话: 女儿=Lily+Lily 的医生=Dr.Chen);奖励作弊 Reward Hacking 防范;同源模型问题: 古德哈特定律(度量变目标就不再是好度量);多源异构评判(不同家族偏见正交);多模态 Judge: TTS(准确性/自然度/情感/音色)/ASR(语义影响: 转账一千变一万)/UI(提议者-审核者)/视频关键帧
  • N443-459: 配对比较: Elo(1200 vs 1000→胜率约 76%;爆冷调整大);Bradley-Terry;Chatbot Arena 匿名盲选(局限: 取决于用户问什么);位置偏差: 交换顺序各评一次,不一致送人工;GRPO 伏笔(省的是价值网络非奖励信号)
  • N463-489: 模型选型: Prefill→TTFT(首字延迟)/Decode→tokens 每秒(50 tokens/s 生成 2000 思考 token=40 秒);p95 尾部延迟;成本-性能比(便宜但重试多反而贵);RE-Bench 人机对照(2 小时 Agent 4 倍于人类,8 小时人类反超,32 小时人类 2 倍——短预算领先不能外推长时运行);多模型协同
  • N491-561: 成本分析: 三层(模型推理/工具调用/基础设施);上下文累积: 1000+2000+3000=6000 非 3000;思考 token 计费;工具结果 2000-5000 token 每轮反复计费;三轮退款成本表(2,500/3,200/3,800 输入,缓存命中 2000/3200,合计 $0.022;无缓存 $0.036);思考模式成本翻 3-5 倍;优化核心=控制轮次和上下文增长,不是选便宜模型;KV Cache 降 30-60% 输入成本;压缩;模型分层路由;异步批处理;成本上限防循环
  • N563-587: 持续迭代: Gemini vs Claude 案例(简单任务迁新模型降本,复杂任务留原模型);差异需超噪声带宽
  • N589-599: 统计显著性: 标准误 √(p(1-p)/n);100 用例 70%→±4.6%,95% 置信 ±9pp;3pp 差异在噪声内;差值标准误≈√2 倍(保守上界);同批任务用配对分析(McNemar);样本 100→400 噪声才减半;预期收益 2-3pp 而评估集几十个用例=测不出,先扩评估集;多次运行取均值(3-5 次不同种子);多重比较: 6 假设 95% 置信至少一个假阳性=1−0.95^6≈26%;Bonferroni 或独立复跑
  • N601-631: 可观测性: 医生诊断类比;trace/span 树(OpenTelemetry/OpenInference);LangSmith/Langfuse/Arize Phoenix;A/B 测试/提示词版本管理;闭环: 生产轨迹筛失败案例→脱敏→沉淀为评估集新用例和回归测试(活资产);挑战: 数据量与隐私/因果归因/多 Agent 追踪
  • N633-687: Benchmark→改进: 先检查评测系统本身再动 Agent(评分器 bug/环境资源/用例脱节都表现得像模型退化);AndroidWorld 案例: 逐任务表+能力标签矩阵(transcription/math_counting/complex_ui_understanding);三层假设(表层 H1-H2 低成本/中层 H3-H4/深层 H5-H6 条件启动 2×2 对比);假设数据: H1 0→75% +8% token;H3 0→80%;H4 0→70% 但延迟 4→12 秒成本 3 倍(88→91% 总体,只有 8% 任务涉计数=杀鸡用牛刀);H6 17→52% 优于 H5 17→35%(瓶颈在信息不在模型);H5+H6=68% 仅关键异步任务;H2 不可扩展;改进后 88%→94%,新失败模式出现(H7 条件化思考/H8 扩手势);每周跑一次
  • N689-749: 内部评估基础设施(OpenClaw): 消融总开关(「特性债务」;启动路径极早期注入)/AB 多臂而非二元+机制指标 vs 目标指标(缩短计划文件≠降低成本,可能更多编辑循环)+护栏指标+基线统计;双层特性开关(编译时物理移除/运行时服务端下发+本地缓存;曝光每会话最多记一次);提示词敏感性评估(可确定性渲染/版本化快照/变更跑回归);隐私感知分析(类型系统: 类型名=审计线索)
  • N751-773: 仿真环境: 评估→训练桥梁;交互频率数百万次/随机化/即时反馈;Rubric/验证器=RLVR 奖励函数;训练新要求: reset 语义(梯度被残留状态污染)/吞吐;AWorld(GAIA: 26 MCP 服务器 126 工具;7695 秒→525 秒 14.6 倍);RoboTwin2 双臂+动作分块;领域随机化(sim-to-real;各种光照下练抓取)
  • N775-803: 小结;思考题 8 道;脚注 RE-Bench

09-ch07 模型后训练

  • N5-29: 聚焦优化 LLM 大脑;面向零基础;三阶段: 预训练(数千万美元,地基)/SFT(几千几万条示范,便宜快稳)/RL(样本成本常是 SFT 几十上百倍);两条主线: ①SFT 记忆,RL 泛化(可测量) ②数据和环境比算法更重要
  • N31-83: 三阶段表;预训练=预测下一个词;模型输出本质是概率分布,训练=调整分布;SFT 本质=换了数据的预测下一个词,loss masking(损失屏蔽问题部分);SFT 固化协议(格式/风格/流程)非事实知识;LoRA: 低秩补丁 1-5% 参数;应用到所有主要权重矩阵(尤其 MLP);学习率约为全参 10 倍;SFT rank 64-256,RL 8-32 甚至 1
  • N85-93: 为什么先 SFT 后 RL: 奖励函数要能解析输出;SFT 先把「形」立起来,RL 追求「神」=先形后神;边界: DeepSeek-R1-Zero 强基模直接 RL 可行但可读性差→R1 加回冷启动 SFT(往返=先形后神注脚)
  • N95-149: SFT vs RL 本质表(7-2): 极大似然 vs 期望奖励;唯一标准答案 vs 多条+奖励;固定映射 vs 可迁移策略;样本效率高 vs 低;mode-seeking(寻峰,RL 反向 KL,赢者通吃) vs mass-covering(覆盖式,SFT,雨露均沾);RL 上限更高的三理由: ①离线天花板是数据,在线天花板是任务 ②验证比生成容易(RLVR 威力来源) ③在线让模型从自己错误里爬出来(协变量漂移: 纯模仿误差随 T² 增长,在线约 T);SFT=临摹地图,RL=拿指南针探路
  • N153-305: 可选阅读经典 RL: 累积奖励/轨迹/价值函数(棋手直觉);凡是 Agent 无法任意改变的都属于环境;试错搜索+延迟奖励;探索利用权衡;五要素(动作空间/策略/奖励/价值函数/环境模型);小羚羊/扫地机器人/棋类/客服/代码助手对比表;传统 RL 动作空间封闭,LLM Agent 开放+内部思考;MDP 马尔可夫性质;贝尔曼方程 Q*=r+γmaxQ*;TD 学习;实验7-1 Q-learning 寻宝: 10000 episodes 达 100% 胜率(10 秒仿真,但真实世界 10000 次试错不可接受);内部思考作为动作: 不改变环境/无即时奖励/不限次数/成本低;CoT 来自预训练语料人类思考过程;OpenAI 三阶段(算法中心→环境→先验觉醒;先验>环境>算法);实验7-2 LLM Agent 一局 18 步通关 vs Q-learning 10000 局(悖论: 仿真里 Q-learning 便宜,现实里交互成本高)
  • N307-333: 预训练基础: tokenization;实验7-3 MiniMind 1 亿参数 14 小时 34 美元,QK Norm+Muon 收敛快 3 倍(预算受限时算法改进比堆规模性价比高);实验7-4 VLM: 冻结 LLM 只训投影层(灾难性遗忘);实验7-5 韩语继续预训练(80% 韩+20% 英混数据防遗忘);记大量新领域知识靠继续预训练而非 SFT
  • N335-381: SFT: 数据三条路: 人工专家(种子)/教师模型合成/模型自举(拒绝采样);「与其堆十万条脏数据,不如精修一万条」;实验7-6 语音 SFT(风格协议;说话者过少一个腔调/标记过拟合机械笑);实验7-7 多语言思考(reasoning language: German;零样本跨语言泛化——但来自多语言预训练共享表征,SFT 只是激活);实验7-8 Prompt 蒸馏(大到小/思考到非思考 20-30 倍提速;继承教师边界);实验7-9 CoT 蒸馏(恢复 70-80%;思维围墙: 闭源改写 CoT;开源教师够用: 教师「明显高于学生」即可,200B 以下用开源 SOTA;拒绝采样 RFT: 生成候选—验证过滤—只留正确轨迹,介于 SFT 与 RL 之间)
  • N383-401: 何时 SFT 何时 RL 决策顺序: ①需要后训练吗(Harness 工程能解决就不训) ②先试 SFT(格式/协议/风格;不适合注入事实知识) ③SFT 不够加 RL;「无论怎么增加示范数据,新场景表现仍上不去」=转向 RL 的临界点
  • N403-441: 单轮 RL: 策略梯度直觉(奖励高多走);PPO 裁剪;GRPO 组内比较;实验7-10 AdaptThink(NoThinking 简单题相当甚至更好;响应长度减 45-64% 准确率不降;重要性采样解决冷启动);实验7-11 GeneralPoints(Chu 2025, arXiv:2501.17161): 24 点游戏;规则 OOD: RL +3.5% vs SFT −8.1%;视觉 OOD: RL +17.6% vs SFT −9.9%;RL 还改善了视觉编码器;Llama-3.2-Vision-11B 未 SFT 直接 RL 完全失败;验证迭代 10 次 +5.99% vs 1 次 +0.48%
  • N443-477: RLHF: InstructGPT 三段式(SFT→RM→PPO);奖励模型 Bradley-Terry 损失;比较而非打分(A/B 哪个好可靠,7.3 分无法一致);KL 惩罚四问: ①KL 散度=分布差异,per-token 逐位算进奖励 ②反向 KL(当前在前)惩罚跑到参考模型认为不该去的地方 ③mode-seeking=挑少数高分峰→RL 后模型更笃定多样性低 ④不加则 RM 分数变无依据外推(防 reward hacking+分布崩塌);奖励模型过优化: 代理奖励单调升,人类评估先升后降(Goodhart);DPO: 跳过显式 RM,偏好对直接变分类损失,离线;RLHF vs RLVR: 奖励从哪来(学到的 RM vs 规则验证器);叠加使用: RLHF 管对话安全,RLVR 管推理 Agent
  • N479-566: 算法比较: 最重要的话: 算法会选对就行,决定成败的是数据和环境;在轨(On-Policy,只用自己新采样)/离轨(Off-Policy,Q-learning);SFT=离轨模仿;REINFORCE(整条轨迹回报,方差大;RLOO/REINFORCE++ 带基线是主流,GRPO=组内基线 REINFORCE);PPO(裁剪+价值网络,稳定,多轮长轨迹);GRPO(组内相对,无需价值网络,单轮短任务;优势均摊到所有 token=信用分配粗糙);DPO/KTO(离线偏好);Best-of-N(推理时,能力不沉淀);PPO/GRPO 对奖励来源不挑剔(RLVR 或 RLHF 都行),差异在优势估计
  • N568-618: 数据与环境比算法更重要(全章最想记住):
    • 环境: 失真则策略必废(应试策略);高保真环境常比训练更贵;奖励函数是环境的另一半
    • 造不出环境→模型扮演: ZeroSearch(LLM 扮演搜索引擎+课程式加噪);DreamGym(环境动态蒸馏进经验模型);风险: 模拟器的偏差就是训练天花板,RL 会找模拟器漏洞 reward hacking;稳妥=混合+真实环境定期校准
    • 数据: 质量胜过算法;很多场景 SFT 数据到位就不需要 RL;Anthropic 2025 前配方=海量高质量 SFT+RLAIF(宪法 AI),不怎么用 RLVR,Coding 模型仍然出色——数据决定你能到哪,RL 决定还能再高多少;数据质量三维度: 覆盖面/多样性/标注准确性;拒绝采样流程(k=4-16 候选→验证器→留对去重限数→SFT;STaR/RFT 自举循环);Autodata Agentic Self-Instruct(challenger/弱求解器/强求解器/verifier 四角色;改任务分布而非预算分配;元层闭环仍前沿);第九章呼应: 语音识别标签用上帝视角标→该不该收话摇摆;数据比架构关键
    • 算法位置最后: 先强基模→环境数据→算法边际优化
  • N620-688: 多轮: 信用分配(10 轮客服好评归第 2 轮还是第 7 轮)+部分可观测性+长距离依赖;多轮=ReAct 循环物理形态;奖励两维度: 密度(二元/稀疏/过程)+形式(标量/向量/生成式);SWE-Gym(评估环境改训练;Verified 500 题必须隔离);Pine Xfinity 例: 二元奖励 100 次尝试才偶然成功;Silver&Sutton Era of Experience: 当前 RL 只能从最终成败学习,无法从环境丰富反馈学习;过程奖励(黑盒→白盒;标注成本高+过度约束);奖励范式谱: 标量 7.2 分(无诊断)/半标量 6.5/向量(体检报告: 信息收集 6/10 定位问题)/生成式(自然语言诊断,多次采样;DeepSeek: 推理时扩展持续提升,超越扩规模标量);生成式 RM 三步训练(自动生成评价原则/逐条评价/系统检查评价准确性;泛化=学会「定标准做评价」元能力;透明防偏见);PRM(Let's Verify Step by Step) vs ORM;RLVR 规则验证器=ORM 特例
  • N690-718: 信用分配工程: γ 多轮 LLM RL 直接设 1;PPO 用 GAE(价值网络每步估计);GRPO 轨迹级均摊(第 2 轮精准提问和第 7 轮寒暄同信用);turn-level 分摊=常见折中;实验7-12 V-IRL: 规则 OOD RL +11% vs SFT −79.5%;视觉 OOD RL 16.7%→77.8%(+61.1%);过程奖励每步反馈(+1/−1/−1.5);SFT 平衡: 不训 RL 起不来,过训 RL 救不回——「格式稳定能力初具」即止
  • N706-718: 实验7-13 SimpleVLA-RL: 二元结果奖励+三探索增强(动态采样/裁剪界[0.8,1.28]/温度 1.6);LIBERO 97.6%;冷启动 1 条轨迹 SFT 17.3%→+RL 91.7%(+74.4pp);涌现「推切」pushcut: 保持低位水平推动,省去抬起——RL 超越人类演示的直接证据;GRPO+动态采样=自然课程学习;动作分块;过程奖励 vs 结果奖励: 中间步骤可定义→过程高效;最优路径未知→结果有潜力
  • N720-778: RLVP(验证路径惩罚,作者论文 arXiv:2607.07435): 奖励结果,惩罚路径:
    • 问题: outcome-neutral 约束(不反复拨打/不跳过验证/不 rm -rf/不改测试文件);违反约束常让表面成功率更高→纯结果奖励反向激励违反(几乎每局踩线)
    • 核心洞察: 真实环境是不对称验证器——检测坏动作便宜可靠,判定进展昂贵易错→环境能可靠提供的密集信号是「路径惩罚」不是「进展奖励」
    • R=O+β·Φ;Φ=确定性规则引擎(对动作+前置状态的纯函数,非学出来的裁判);−λ 惩罚违规动作 token/+μ 守规奖励或部分奖励;各自归一化再合并
    • 统一解释: 组内方差。GRPO 优势=组内方差,全败组(训练早期)和全胜组(后期)方差为零=零梯度死局;惩罚永远能补方差(坏动作可查);进展奖励只在可达时有条件补(reachability-gated);DAPO dynamic sampling 直接丢零方差组,RLVP 换问法: 补回方差
    • 惩罚用法四原则: ①只惩罚可验证动作绝不惩罚没进展(否则教成什么都不干) ②结果奖励始终主驱动(纯惩罚成功率塌到零——不作为陷阱) ③每个 −λ 配对应 +μ(指出路不只堵) ④合规路径可达+惩罚靶子无法钻空
    • 实验7-14: TerminalBench 违规 3.71→0.66(约 6 倍)成功率持平;miniF2F 0.9 成功率迭代 7.0→4.4;全败组 65%→8%;进展不可达场景无收益
    • RLVR 验证结果,RLVP 额外验证过程
  • N780-828: 工具调用 RL: 三层挑战(单工具/多工具选择/工具链编排);两条路线: Search-R1(检索增强)/SWE-Gym(软件工程);loss masking: 环境反馈 token 不计入策略梯度(否则模型学「预测沙盒输出」);实验7-15 ReTool: SFT 预热 1 小时+PPO 9 天 400 步;AIME24 25%→110 步 52%(Bo30 85%)→400 步 67% vs 纯文本 RL 1080 步 40%;涌现: 代码自我修正/工具调用从后期验证转早期探索/长度减 40% 准确率升;DAPO 四改进: Clip-Higher(放宽探索上限)/Token-Level Loss(去掉样本级归一化,长思考不被稀释)/Dynamic Sampling(20-80% 可学习区间加采样)/Overlong Reward Shaping(惩罚冗长);实验7-16 AWorld-train: Qwen3-4B+26 服务器 126 工具 MCP 沙盒;开放式实验跑通链路
  • N830-864: 样本效率前沿:
    • ReTool RL 是 SFT 200 倍以上(9 天 vs 1 小时);model-free 浪费环境反馈
    • On-Policy Distillation(Thinking Machines Lab 2025): SFT 短板=Learner-Sampler Mismatch(教师走学生看,偏差状态不会回正轨);RL 短板=信号稀疏;OPD=在轨+稠密信号(学生自己走+教师逐 token 打分分布,KL 对齐);同等性能训练步数约纯 RL 1/10;缓解过拟合
    • 时间感后训练对照(作者): DPO+四种 RL 各踩一个失败模式(稀疏性/目标错位/rollout 形状不匹配/训练崩溃),没有一种越过 SFT 天花板;OPD(冻结 Qwen3-32B 教师)通过率 +23~47pp——「卡住后训练的往往不是奖励函数不够巧,而是信号本身不够密」
    • OPSD(在轨自蒸馏): 同一模型分饰两角,教师看特权信息(标准答案),学生只见题;「对着答案讲题」比「独立解题」容易(与验证-生成不对称同构);不依赖可验证奖励;边界: 特权信息带不来额外能力就没信号;丢失思考风格需正则(Purified OPSD)
  • N866-894: 完整图景: 先形后神;八陷阱(后训练记事实该用 RAG/格式未稳就 RL(解析失败率超 20%)/奖励黑客/仿真失真/过训泛化降/价值崩溃/低估成本 10-100 倍/数据质量);先小规模验证关键假设,快速失败;ICL/RAG/后训练协同: 按能力能否被外部符号表达选择
  • N896-930: 小结;思考题 14 道
  • N932-958: 脚注: LoRA Without Regret/InstructGPT/Reward Overoptimization/DPO/ZeroSearch/DreamGym/Autodata/Era of Experience/Let's Verify/RLVP/On-Policy Distillation/物理时间/OPSD/Purified OPSD

11-ch09 多模态与实时交互(2026-08-27 补读)

  • N5-21: 边界划定: 静态图像理解已融入感知工具;本章聚焦实时性变难的三场景: 语音/GUI/机器人;共同约束=多模态+延迟敏感(语音停顿 2 秒焦躁/机器人毫秒级抖动碰撞);共同方向=串行流水线→端到端;两处理论重点: 思考架构(快慢协作)+Latent Bridge
  • N23-29: 语音带宽=打字 4 倍;两类产品: 语音输入法(Typeless)vs 语音 Agent(Pine/ChatGPT Voice);whisper coding 作者团队十余篇论文以此完成
  • N31-43: 三范式(GPT-Live 三分法): ①级联 Cascaded(VAD-ASR-LLM-TTS,最早 ChatGPT Voice)②端到端全模态 Omni(轮次式,AVA;Qwen3-Omni)③全双工 Full-Duplex(Moshi 2024 先声→GPT-Live 2026 1.5 亿用户);主线=如何摆脱 VAD 的轮次假设;GPT-Live 第二变化=实时交互与深度思考解耦(委派 GPT-5.5)
  • N45-67: 级联延迟瀑布: VAD 500-800ms 静音阈值+ASR 50-200ms+LLM TTFT 100-500ms(开思考 5-10s)+TTS 200-500ms=0.9-2s 理想值;排队论: 总延迟≈空载×1/(1-利用率),利用率 80%=5 倍
  • N91-103: 全链路流式化: ASR 边听边转/LLM 按句切分/TTS 句级流式→600-800ms;但 VAD 静默等待压不掉
  • N105-147: 流式语音感知替代 VAD+ASR: 三问题(延迟累积/信息丢失二值信号/准确率下降 john dot smith 切片段误识别);流式=编码器因果或分块+解码增量;Whisper 不能流式因编码器要整段 30 秒;新路线=LLM 骨干流式听觉感知(Ultravox/Qwen2-Audio),识别+理解合一,继承世界知识;轻路线=轮次判断塞进识别器(LoRA 小模型)+「该不该收话」摇摆根源=训练标签上帝视角标注(用了决策点之后的音频),改成只用当下信息标注则摇摆消失——数据比架构关键(作者待发表论文);声学事件 token: <speak_start/end>////;实验9-3: 分块模拟增量识别 100-200ms vs 传统 800-1100ms;停顿场景 VAD 误截「大概两点」→「零点」
  • N149-165: Omni: 隐空间传递副语言信息;自级联 self-cascade 对照: 答案由语义决定时自级联不差甚至更好(弱感知模型尤甚),依赖非语言线索时端到端才占优——优劣可按任务性质事先判定;把中间文本升级为带副语言标记的结构化表示,端到端优势收窄(作者论文 The Cascade Gap);OpenAI Realtime API=模型端到端+VAD 控制的中间方案;Qwen3-Omni Thinker-Talker,首包约 234ms;Step-Audio 2 副语言基准 83.09% vs Qwen2.5-Omni 44.18%
  • N167-181: 全双工: 同声传译/节奏游戏无「一轮」可言;Moshi 双音频流+内心独白 200ms;Thinking Machines Lab 交互模型 Interaction Model: 交互性要随智能扩展就必须成为模型本身的一部分;微轮次 micro-turn 约 200ms 一段持续读入生成;GPT-Live 每秒多次交互决策;委派后台 GPT-5.5
  • N183-213: 思考架构三方案: ①快慢并行(快 500ms 应付+慢 5-10s 深思;两问题: 简单问题过度思考/快慢不一致自相矛盾,套餐例子)②快交互慢提醒(状态栏递纸条;GPT-Live 委派/Pine;局限: 快思考不听指挥/看不到中间思考/无法边想边说)③端到端内化(Step-Audio R1)
  • N215-273: Step-Audio R1: 文本代理思考 Textual Surrogate Reasoning: 思考链越长性能越差,根因=用文本转录代替声学特征分析(CoT 数据由文本模型生成);MGRD 模态锚定蒸馏三步(生成多条思考筛选真听声音的「语速快 40%/音量升高」→重训→RL);MPS 双脑 Mind-Paced Speaking(构思脑+表达脑并行,t=0 分析/t=200ms 第一段思考/t=350ms 首音节);实验9-4: 基线 70.6%/Speak-First 92.8%/Think-First 93.9%/完整 TBS 93.0%(Spoken-MQA);Speak-First 损失极小因 CoT 开头只是复述问题;产业分野: 前沿产品押方案二(可换大脑),方案三适合极致自然度
  • N275-283: Latent Bridge: 快慢接口不只文字;冻结双模型只训几千万参数小桥,慢模型隐层投影成潜 token 拼进快模型输入;Atari 部分游戏 +26%~+82%,每步多 5ms;边界: 慢思考本来就比快反应强时才有用(相关性 r≈0.9)
  • N285-303: 更像人的 TTS: 完美流畅暴露机器身份;控制标记 [THINKING]/[SEARCHING]/[EMO:happy]/[SPEED:0.8x];实现两路: 自研原生支持 vs voice cloning 数十条参考语音(ElevenLabs/Fish Audio);实验9-5: 24 条参考语音库 3-10 秒零样本克隆
  • N305-406: Computer Use: 感知-思考-行动循环(截图→多模态模型输出思考+动作→执行→再截图);动作空间三类(computer/bash/str_replace_editor;type 每字符 12ms);视觉定位三路线: ①Set-of-Mark 纯视觉标注(SAM/SEEM 切区域编号)②结构化元素索引(DOM/Accessibility Tree;browser-use 四步;选择题比填空题容易)③纯坐标预测(SeeClick/Claude;分辨率匹配: Claude 训练用 XGA 1024x768/WXGA/FWXGA,2560×1440(16:9)→FWXGA 1366×768,输出 (683,384) 反向映射≈(1280,720);硬拉伸 16:9→4:3 坐标系统性偏移);实验9-7 browser-use 5 步 20 秒
  • N390-397: AOI 观察接口(作者论文): 帧间关键帧捕获(像素门+小模型)/音量门控转写/帧叙述成持久文字——反直觉发现: 起作用的不是选哪几帧而是文字留存,文字才是 LLM 最擅长模态;8 模型 +17~+48pp 无需重训
  • N398-406: 移动端: 技术差异(无障碍服务 API/触摸手势)vs 生态壁垒(手机厂商集成 AI 操作微信淘宝被封);商业模式冲突: Agent 绕过广告流量变现链路,结构性利益冲突短期难调和
  • N408-416: 实时性: OSWorld 准确率接近人类但 OSWorld-Human: 步骤更多+每步推理延迟随上下文增长;根源: 不会「提前想」;快慢解耦绕过: 快语音 Agent+慢电脑 Agent 靠纯文本契约(滚动状态摘要;确认完成前不许说办好了),回应快约 15 倍(0.58s vs 8.64s)成功率不降;抽掉文本契约成功率塌到 0——那份契约本质就是 Agent 状态栏
  • N418-502: 机器人: 遥操作反证(XLeRobot <1000 美元+VR 遥操作流畅完成家庭任务,延迟 100-200ms)→硬件不是瓶颈(边界: 触觉/灵巧手仍是硬件短板);双层架构: 长程规划(做什么)+VLA 控制(怎么做)——对应快慢思考(非 MPS 思考/表达);动作分块: 传统控制 50-1000Hz vs VLA 推理 1-10Hz 差两个数量级;一次生成 0.5-1 秒动作块(50Hz 下 25-50 个动作)后台异步生成下一批,像视频缓冲;代价=拿反应性换平滑性;VLA 两条路线: 离散动作 token(RT-2/OpenVLA;Open X-Embodiment 20+平台预训练)vs 连续轨迹(π₀ flow matching,画家勾曲线);Sim2Real: 领域随机化两个工程环节=随机化范围标定(实测真实分布,掉点再扩)+视觉对齐(摄像头位姿+greenscreen 背景替换);实验9-10 RGB 零样本抓取五步
  • N504-550: 小结/思考题;脚注: GPT-Live 三分法出处/收话标签论文/Cascade Gap/Interaction Models/Latent Bridge arXiv:2606.24470/AOI arXiv:2606.29472/Talking While Acting

12-ch10 多 Agent 协作(2026-08-27 补读)

  • N5-7: OpenAI 五等级(Level 5 Organizations=能力级别非架构要求);群体智能可高于个体;DeepMind《从 AGI 到 ASI》把大规模多 Agent 集体列为通往 ASI 关键路径
  • N9-41: 两维度: ①上下文是否共享(共享=线程继承完整轨迹/不共享=进程显式通信)②协作拓扑;通信三机制对应 IPC: 工具调用参数+消息总线=消息传递,共享文件系统=共享内存;Go 谚语「不要通过共享内存来通信」;表10-1 选择依据(子任务数/窗口/并行度/隔离/成本;不共享总 token 高数倍到一个数量级;经验法则: 预计超窗口 50%→不共享);多数实际系统=阶段切换式
  • N73-83: 拓扑三形态: 对等协作(2-3 个迭代改进)/管理者(中心调度)/去中心化(无运行时中心);共享上下文时拓扑退化
  • N85-125: 何时多 Agent 真优于单 Agent——核心判据只有一条: 协作是否引入单个 Agent 生成时无法获得的新信息(表10-2: 自我审查无效/辩论等计算持平/执行反馈+视觉反馈+工具反馈显著提升);RLEF(WebGen-Agent 26.4%→51.9% 接近翻倍靠截图反馈);解释矛盾: 学术比较的是「多个 Agent 看同一段文本讨论」,工程有效的是「含外部反馈环路」;预算感知: 300 步预算仍浅层搜索饱和(Google Budget-Aware);Anthropic 多 Agent 研究 token 15 倍,token 用量解释 80% 性能差异
  • N127-245: 共享上下文: 多阶段角色转换(需求澄清→实现→审查;换系统提示词+工具集;阶段边界=质量门控;本质是进程换代码段非多进程,算不算多 Agent 的定义之争);实验10-2 transfer_to_agent 五角色(triage/research/coding/data_analysis/writing)
  • N247-370: 不共享上下文: 表10-3 OS 对应: 静态前缀=程序/轨迹=内存/LLM=CPU/内核=运行时/系统调用=工具调用/fork=spawn_subagent/退出码=结构化摘要;换更强模型 Agent 还是原来那个——身份记忆在前缀与轨迹里不在权重里;Actor 模型 1970s=LLM 版;唯一失效: 进程传字节逐位保真,Agent 传语义每次转述都可能失真;虚拟文件系统四区域: Scratchpad 专属工作区/Shared Workspace 共享空间(乐观锁/worktree)/外部挂载(只读为主)/系统内置 Skills(只读);路径字符串作通用接口(传路径不传内容);控制平面四能力: 消息传递(信封格式)/状态查询(轮询 get_status 实际没用——子 Agent 不像批处理作业在状态间流转;正解=消息问答或读轨迹文件/约定 progress.md;轨迹持久化=预写日志,轨迹即 Agent 全部状态,崩溃恢复=session resume 原理)/执行终止(SIGTERM vs SIGKILL;优雅优先;Go context 级联取消防孤儿)/资源调度(token/资金/并发额度;抢占)
  • N372-410: 对等协作: 三种过早终止(偷懒式假完成/过早放弃/假成功;Pine 例: 电话被拒就放弃/口头同意但 App 未确认);Loop 工程(Addy Osmani 2026-06 命名;Boris Cherny「我的工作是写 loop」);核心共识: 循环的瓶颈在验证器不在模型;提议者-审核者(Huang ICLR 2024: 无外部反馈自我修正准确率反降——改错比改对多;CRITIC 移除工具提升消失);Debate 争议(Tran&Kiela 2026: 等思考 token 预算下单 Agent 持平甚至更好;数据处理不等式: 串行传递只可能丢信息;边界: 不否定独立采样聚合/生成-验证不对称)
  • N412-424: 管理者模式: Agent 互为工具;子 Agent 返回结构化摘要而非全量轨迹(Manager 上下文随子任务线性增长);Plan-and-act: 弱规划者是瓶颈,最强模型给 Planner;与第四章不冲突: 审查场景要求能力相近,规划-执行分工要求强者规划
  • N426-566: 实验10-3 书籍翻译(Glossary/Translation/Proofreading/Manager 只维护文件索引);消息总线(Redis Pub/Sub 即发即收 vs RabbitMQ 持久化);灵台 Lingtai 产品化(主器灵/分神 daemon/分身 avatar;凝蜕 molt=压缩;器灵即其文件);实验10-4/10-5 电话+电脑双 Agent(并行 ReAct 循环;[FROM_COMPUTER_AGENT] 标记字段);实验10-6 并行搜索+级联终止(竞态条件: 锁+幂等保证只结算一次)
  • N568-618: 去中心化: 编排 vs 编舞;移交包三部分: 任务描述+已确认事实与约束+结构化产物引用(路径非内容);刻意不传全量轨迹(试错过程对接收方是噪声);MetaGPT=SOP 流水线+消息池订阅(控制流并非去中心化,贡献在通信解耦);AutoGen group chat=共享记录+中心调度(活锁风险);OpenAI Swarm/Agents SDK=真对等移交(成环风险: 移交次数上限);A2A 协议(Agent Card 名片/任务生命周期状态机/不透明协作;MCP 管 Agent-工具,A2A 管 Agent-Agent;跨信任边界才需要)
  • N620-672: 失败模式: MAST 分类(7 框架 150 轨迹 14 种失败三大类;ChatDev 简单修复仅 +15.6%);拜占庭故障: Agent 故障天生拜占庭式——不停工作但给错误信息,错误不主动声明自己是错误;确定性外部反馈是唯一不会说谎的部件;并发冲突: 丢失更新(Git 合并冲突)/语义冲突(图片重编号例);乐观锁(版本号检查)/worktree 工作副本隔离(copy-on-write;与第二章隔离优于压缩同源);错误级联放大: reasoning→「推理」术语例,一个术语错误经三个 Agent 传播后因「一致性」获得更高可信度;校对 Agent 反而认为质量高;断链=交叉验证(独立视角看原始证据)+确定性工具;循环失控三失败: token 失控/理解债/认知投降
  • N674-712: Agent 社会: 涌现行为(蚁群);斯坦福 AI 小镇(25 Agent;记忆流+反思+规划;情人节派对: 无任何显式组织代码,自下而上涌现;关键=没有派对组织代码)
  • N740-754: Agentopia(复旦 2026): 100 Agent 10 年;周制四阶段;文件式长期记忆;生活奖励(马斯洛;PageRank/主观满足/净资产);进步最大 25% 轨迹拒绝采样微调→被尊重 +24.2% 泛化 CoSER +15.6%——模拟社会经验=可再生的训练数据
  • N756-788: Moltbook 150 万 Agent(涌现龙虾教 Crustafarianism/机器原生协作协议);Vending-Bench Arena(价格战/价格同盟——一边承认不道德一边照做);Pinchwork(Agent 互雇市场)/RentAHuman(Agent 雇真人=肉身层);狼人杀(法官+信息权限控制=中心化对照)
  • N830-862: 小结/思考题 12 道;脚注: From AGI to ASI/RLEF/WebGen-Agent/Actor 1973/Loop Engineering/Tran&Kiela/Plan-and-Act/灵台/Agentopia/Agoric 1988

13-fm-agent-llm 后记(2026-08-27 补读)

  • N5-15: 全书结构回收: 三层次非独立书架;第八章=汇合点(无轨迹知识则经验无处保存/无代码能力则无法修改 Harness/无评估则无法判断进步)
  • N17-29: 两朵乌云(开尔文类比): ①实时流式交互(轮次请求-应答 vs 边听边想;两路: 快慢分离架构+推理变快——MiMo 1T 模型 8 卡 1000 token/s;Taalas HC1 固化 8B 进芯片 17000 token/s 响应 <100ms,代价=只能跑固化模型)②从成败持续积累经验(「记性极好却学不会新东西的天才」);小世界假设(几万亿参数装得下通用知识,瓶颈在数据;编程最强因最开放)vs 大世界假设(具体用户/公司知识不在语料且时时变,只能上岗后持续学)
  • N31-41: 飞轮: harness 层层兜底记录模型做不稳处→下一代内化→代码删掉;模型吃掉 Harness 但永远吃不完三理由: 训练以月计业务等不起/业务约束无法全部内化/每代模型打开新前沿而前沿正是做不稳处;Harness 随模型向新前沿迁移——《苦涩的教训》Agent 时代读法: 通用方法终将胜出,但「终将」二字里每段路都是 Harness 铺出来的;Claude Code 模型与 harness 互相喂养=最深护城河;52.8%→66.5% 只改 harness(杠杆大恰因模型没到那步);应用层长久护城河在技术之外(数据/渠道/信任/网络效应);三问题不过时: 看到什么/能做什么/如何验证
  • N43: 开源仓库;「读懂和做出来之间隔着一条只能靠双手跨过的河」

10-ch08 Agent 的持续进化

  • N5-15: 能力悖论: 零样本解决复杂任务,却在一万次相似任务后第二天仍犯第一天的错误;保存经历≠从经历中学习(学习发生在评价、对照、归纳、验证之后);第三章=用户与世界是什么样,本章=什么条件下应该怎样行动;为什么不让模型每任务后自训: 生产环境少有干净学习信号(满意≠合规,测试通过可能源于删失败用例);先把「学习」构造成模型外围的自主系统
  • N21-85: 学习信号: 起点=评价非总结;结果验证器(测试/数据库状态)/过程验证器(业务规则/权限/动作序列)/质量验证器(Rubric)三层;越靠下越靠代码环境真值;客服 Rubric 七维(任务结果/规则遵从/隐私边界/事实可靠性/承诺—行动一致性(声称完成 vs 真实调用)/表达质量/合规变通);验证结果不压缩成标量=结构化诊断(保留问题性质+证据位置);LLM 验证器校准;验证器给评价,独立模块决定改哪
  • N87-121: 四种更新方式(表8-2): 经验知识库(事实经验,快/可追溯/依赖检索)/Prompt 与 Skill(可语言化,可解释/易膨胀冲突)/程序与 Harness(确定性流程,可测试/维护成本)/模型参数(高维感知风格,泛化强/回归成本高);首要依据=目标能力能否被载体自然表达;医疗影像例
  • N123-148: 经验知识: 领域知识(航司要求提前 24h 订餐) vs 行动经验(订票前先查截止时间);三层数据: 不可变原始轨迹(审计)/单次运行分析/多条轨迹聚类归纳成 Markdown 文档(与 User-as-Code 两阶段同构);五步管道(保存→单次分析→聚合证据表(支持/反驳)→达门槛写入→新任务测迁移);Reflexion 反思不是证据;GAIA+AWorld=试卷+考场
  • N150-176: 指令: Karpathy 系统提示学习(System Prompt Learning,《记忆碎片》类比;Claude 1.7 万词系统提示含 strawberry 数 r 策略;编辑文字 vs 梯度下降);最小 diff+作用域+矛盾检查+边界案例与保留集双评估;DSPy/OPRO/GEPA(离线批量) vs 生产最小 diff(持续维护);航空客服过早转人工例(候选补丁: 先解释政策/识别真实目标/合规替代;回归失败例: 应转人工的安全事件被继续处理);Skill 学习(何时加载/前置条件/步骤/陷阱/验证方法;先搜索近似做局部 patch);四条件发布门槛
  • N178-232: 程序: 浏览器工作流=宏录制类比;六步生命周期(捕获轨迹含 XPath/aria-label 定位证据→参数化 {recipient}{subject}{content}→状态检查(执行前/后+最终状态;动作执行成功≠任务成功)→候选验证(重置沙盒独立回放;无重置回调只能存候选)→匹配回放(Playwright 不调 LLM)→失效重学(invalid 区));PreAct: 重复任务 8.5-13 倍加速;流程记忆必须同时具备动作前验证/动作后验证/存前独立验证,否则「回放覆盖率 100% 但字段为空」假成功;自我修改=软件发布流程(候选分支/最小补丁/静态检查/单元测试/安全扫描/失败重放/旧任务回归);变更契约(可证伪): 失败证据/根因/归属组件/预期修复/可能受损/验证用例;组件经验决策三层可观测性;Self-Harness(提供必须保留的成功行为+历史拒绝记录);Alita(咕噜配音 YouTube 视频找恐龙后数字 100000000;封装 youtube-transcript-api 为新工具)
  • N234-242: 参数: 按「能力能否被外部符号表达」决定;训练前去除隐私/过滤错误轨迹/保留独立回归集;训练后检查遗忘
  • N244-254: 优化「更新方法」的正交轴(五个搜索尺度): 单条规则→结构化上下文→工作流→Harness 代码→优化器代码;ACE(上下文=带稳定标识符的条目集合,增量更新+确定性合并,防多轮改写细节丢失);MCE(内外双循环: 改内容 vs 改管理机制);AFlow(工作流=代码图搜索);Meta-Harness;层级并非越高越好;评价器/权限边界/留出测试必须在可修改范围之外(可信根)
  • N256-314: 闭环: 双循环: 在线执行循环只完成任务记录证据,离线进化循环聚合诊断生成候选,经门槛发布;Voyager(Minecraft;自动课程+技能库+迭代提示三机制咬合;3.3 倍独特物品/2.3 倍距离/科技树快 15.3 倍);分层评估指标(候选修改有效率/产物激活率/遵循成功率/留出任务增益);Harness 更新能力 vs Harness 受益能力拆开评估;双向模型替换定位瓶颈;五类长期结果(回退/泛化/Token 效率/安全性/长期工程质量)
  • N316-332: 当「完成」≠「进步」: 自动科研压力测试(Trehan&Chopra 四次尝试三次失败);实现漂移/认识论过度乐观(噪声当发现)/隐性判断力不足;对策: 结论与证据分离(ScientistOne Chain-of-Evidence)/保留负面结果(不可变日志)/维护搜索多样性/人类在更高层介入
  • N334-342: 安全边界三道: 证据与指令隔离(不可信证据→LLM 总结→PR→异源 reviewer 审)/候选与正式隔离(候选区+沙盒供应链扫描)/安全机制不可自我修改(不能改验证器/测试用例/发布门槛/审计日志——否则降低阈值就把退化伪装成进步)
  • N344-376: 睡眠学习: 在线追加证据+后台整合(触发/定向/采集整合/验证审批/修剪索引五步);Claude Code MEMORY.md(索引前缀+按需读取);Hermes(MEMORY.md+USER.md/SQLite FTS5 历史检索返回原始消息/Curator 跟踪陈旧归档/快照回滚);周期整理六条(合并重复/局部规则移到 Skill/避免 99 条军规/重新验证工具/删除被推翻知识/从基座重训 LoRA)
  • N378-388: 实验8-6: 四阶段(学习/迁移/规则变化 20kg→23kg/保持);三对照(static/append_only/evolving);迁移准确率/恢复任务数/旧能力保持率/负迁移率
  • N390-410: 小结;思考题 6 道