第四章 07:4.7 本章小结
课程专题 :《AI Agents 开发实践》
原文链接 :
https://s.juejin.cn/ds/TAqu_hbSmd8/章节 :第四章 4.7 本章小结
作者:Java 开发者转型 AI 全栈
一条主线:从「单轮应答机」到「能干活的同事」
ch03 的智能体是一个 prompt + 一个模型。本章补了四块器官,每一块都对应单轮应答机的一个缺陷:
| 小节 | 能力 | 解决什么缺陷 | 本章踩过的坑 |
|---|---|---|---|
| 4.1 | 问题定位 | 每轮独立处理 → HTTP 200 但业务失真 | ------ |
| 4.2 | Memory | 「记不住上一句」:历史回填 + 裁剪 | trim 空历史(promptTokens 变小反而是坏事) |
| 4.3 | Tools | 「只会说不会做」:模型发意图、服务端执行 | startsWith 同级前缀逃逸 |
| 4.4 | Embeddings | 「换个问法就搜不到」:语义检索 | hf-mirror 尾斜杠、score 语义讲反 |
| 4.5 | Multi-Agent | 「一个 prompt 装所有职责」:5 专职 Agent + 编排 | {{ }} 转义、宽松原则边界、length 截断 |
| 4.6 | 统一入口 | 能力散落:analyze() 四步收束成闭环 | ------ |
三个贯穿全章的判断标准
1. 记忆的本质是「回填 messages」,不是模型自带状态
4.1 的对照实验证明:同一问题,带历史 86 promptTokens 直接兑现约定,不带历史 32 promptTokens 只会反问。所以 Memory 组件的全部职责 = 存历史 + 按预算裁剪。任何「模型记性真好」的多轮体验,背后都有人在替你回填。
2. 模型只发意图,服务端做执行与安全收口
工具的 zod schema 约束参数形态,路径沙箱拦截逃逸输入。startsWith 的同级前缀漏洞提醒我们:安全判断必须自己写、放在执行层,不能指望模型自觉或字符串巧合。4.3 的逃逸测试里,模型照常发了 write_file 意图------拦下它的是沙箱,这正是纵深防御。
3. 编排策略要与任务确定性匹配
- 顺序确定 → Fixed Workflow(extract → clarify → 并行 → summary)
- 能不追问就不追问 → 宽松原则短路(少一轮打扰优于多一轮确认)
- 互不依赖 → Promise.all 并行
第八九章的 LangGraph 才引入「让模型参与流程决策」,那是为流程不确定的任务准备的。别为简单任务上复杂编排------4.5 的五个 Agent 用写死的顺序就够,这是本章刻意的选择。
遗留与伏笔
retrievedContext还是占位符:summaryAgent 的 prompt 里留了「知识库参考文档」槽位,4.4 的向量库目前独立验收、还没接进编排流水线;- MemoryVectorStore 不持久化:服务一重启,向量全没;会话记忆也在内存 Map 里;
- 两者合流的前提是先有可靠的持久化存储------这正是下一章的主题。
下一章预告
第五章:pgvector ------把 MemoryVectorStore 换成 PostgreSQL + pgvector,会话历史、需求单、向量三条数据落进同一个库,retrievedContext 槽位真正接通语义检索,向生产级记忆检索迈出第一步。
回到索引 :第四章博客索引