本节摘要:全书收官。用前六章的全部工具,为一个场景做一次从零到装配图的完整设计:电商退款客服 Agent,128k 窗口,带政策知识库、15 个候选工具、跨会话记忆与长尾 40+ 轮会话。流程是逐层合奏——指令层:3.1 节四块模板 + 引用契约与兜底,实测 1.6k token;工具层:3.2 节审计把 15 个精简合并到 9 个,常驻税从示意估值落到实测 2k;记忆层:三层分工(4.1)——会话历史占 14%、跨会话召回限 3.8k 且过写入门槛(4.2)、知识库不入记忆只走检索;素材层:政策检索 top-4 由预算倒推(5.1),选摆标束四道工序(5.2);运维层:水位 80% 先驱逐、驱逐后仍超压成五栏简报(6.1),每轮落快照与组合版本号(6.2)。合成的产物是三件:一张各成分合计 100% 的预算总表、一张按位置效应落位的最终装配图、一份收工自查清单。设计流程本身就是全书的目录——每一层都标注了它回收的是哪一节。
阅读完本节,你应当能够:
ce_tools.py / ce_budget.py 把示意值落实测值。场景:某电商退款客服 Agent(承接 0.1 / 3.1 节的同一案例,现在把它做完整)。
| 约束项 | 取值(示意) | 设计含义 |
|---|---|---|
| 模型窗口 | 128k | 预算恒等式的总额(1.1 节) |
| 候选工具 | 15 个 | 常驻税候选,待 3.2 节审计 |
| 知识库 | 退款政策 v8 + 物流 FAQ(约 8 万字) | 只能按需检索,不可预装(5.1) |
| 记忆需求 | VIP 客户偏好、企业账户事实 | 跨会话层非空(4.1) |
| 会话形态 | 平均 12 轮,长尾 40+ 轮 | 必须备压缩预案(6.1) |
| 输出形态 | 对用户短回复 + 内部决策 JSON(3.1 契约) | 输出预留 20% |
设计输入就是前六章的六张表:四成分表(1.2)、分配与驱逐表(2.1)、位置模板(2.2)、系统提示模板(3.1)、工具三层写法(3.2)、三层记忆图(4.1)加写入门槛(4.2)、组装四工序(5.2)、压缩清单(6.1)与快照结构(6.2)。
直接套四块模板(3.1 节已有全文,此处只记增量):角色与边界照搬;工具块按精简后的 9 个工具重写用法说明(先 search_user 还是先 get_order 的取舍规则写在这里);输出契约追加 5.2 节的引用三条(事实带 [n]、编号可校验、无依据即声明)。实测长度:
角色 120 tok + 边界 380 tok + 工具用法 520 tok + 输出契约与引用规则 310 tok + 记忆区块说明 90 tok + few-shot 2 例 220 tok = 约 1.6k(实测口径示意)
管理照 3.1 节纪律:唯一真相源 prompts/refund_agent/v13.md,变更过 20 条评测集。
拿 ce_tools.py 审计 15 个候选:三个查单工具(search_orders / query_order / find_recent_orders)语义重叠,合并为一个带过滤参数的 search_orders;两个半年零调用的僵尸工具砍掉;analyze_logs 保留但标记为重活候选(子 Agent 外包,3.2 节第三招)。15 → 9 个,常驻税实测约 2k token(示意;用自家 schema 跑 tool_tax 落实数)。2.1 节分配表当初按 10% 保守估值——审计的意义正是把示意变成实测:省下的约 8% 额度,第七节重新分配。
按三层地图分工(4.1):
ce_memory.py 的 RECALL_BUDGET);写入走门槛三问,只收偏好 / 事实 / 约定三类;注入系统提示后的记忆区块,带时间戳(4.2)。ce_snapshot.py 结构;组合版本号 prompt v13 × assembler v4 × memory v2 × retrieval v6,任一变更过评测(6.2)。| 科目 | 成分 | 内容 | 占比 | token(约) | 依据 |
|---|---|---|---|---|---|
| 指令 | 指令 | 四块模板 + 引用契约 + few-shot | 1.5% | 1.6k | 3.1,实测 |
| 工具 | 工具 | 9 个精简 schema | 2% | 2.0k | 3.2,ce_tools.py |
| 记忆 | 记忆 | 跨会话召回(≤3.8k,带时间戳) | 3% | 3.8k | 4.1 / 4.2 |
| 记忆 | 记忆 | 会话历史(压缩后 = 简报 + 近 4 轮) | 14% | 18k | 2.1 / 6.1 |
| 素材 | 素材 | 政策检索 top-4 + 工具结果 | 45% | 57k | 5.1 / 5.2 |
| 输出预留 | — | 本轮生成空间 | 20% | 26k | 1.1 / 2.1 |
| 机动 | — | 缓冲(突发长输出、临时召回) | 14.5% | 18k | 工具审计省下的额度再分配 |
合计 100%。对比 2.1 节的初始示意表,三处变化都有出处:工具 10%→2%(第三节的审计)、素材 42%→45% 与机动 5%→14.5%(省下的额度再分配——审计省的钱要花在明处)。
128k 窗口的落位(按 2.2 位置模板具体化,token 为典型轮示意): [窗口头部 ~9k] 系统提示 v13(指令,1.6k)── 四块模板 + 引用契约 记忆区块(3.8k)── 跨会话召回,带时间戳与类型 任务简报(触发压缩后出现,~1.5k)── 五栏,高熵靠前 最佳检索片段 [1](0.5k) [窗口中部 ~20k] 会话历史(近 4~40 轮;压缩后 = 简报 + 近 4 轮原文) 中等相关片段 [2][3]、政策背景等低熵素材 工具结果(订单 JSON,已按决策字段裁剪) [窗口尾部 ~1k] 次佳检索片段 [4] 关键约束复述:先查单 → 再引政策 [n] → 禁政策外承诺 本轮用户输入 [工具区 2.0k] 9 个 schema(API 自动注入,紧邻系统提示) [输出预留 26k] 模型生成空间(不可侵占)
对着 2.2 节的两条推论各检查一次:高熵内容(简报、最佳片段、约束复述、用户输入)全部落在首尾;中部是历史与低熵背景。装配图贴在团队墙上,比十页文档都管用。
| 轮次 | 事件 | 系统动作 | 快照可见(6.2) |
|---|---|---|---|
| 第 1 轮 | 会话开始 | 召回记忆 3.8k;检索 top-4 | + 记忆/*、+ 素材/retrieved_doc |
| 第 7 轮 | 用户升级投诉 | 情绪触发转人工线(3.1 边界块) | 账本正常,无驱逐 |
| 第 24 轮 | 用量达 81% | 驱逐第 3~8 轮已完结工单过程 | - 素材/done_subtask_history |
| 第 31 轮 | 驱逐后仍超 | 压缩成五栏简报,近 4 轮保原文 | ~ 历史 → brief(token 骤降) |
| 第 32 轮 | 新政策问题 | 重新检索(旧片段早已用完即逐) | + 素材/retrieved_doc @32 |
| 会话结束 | — | 轮末评估入库:新偏好 1 条过门槛三问 | write 事件入记忆日志 |
ce_tools.py 跑过,工具集评审留痕(3.2)十项全过,这套上下文设计才算收工——缺任何一项,都能在前六章找到对应的翻车案例。
至此全书正文完结。四成分给你分类的语言,预算恒等式给你算账的框架,驱逐与位置给你装配的算法,记忆 / 检索 / 压缩给你动态层的三件工具,快照与版本给你运维的证据链,框架映射让你在任何生态里对号入座。接下来去附录 A 查术语、附录 B 选工具,然后做附录 C 的第 8 题——为你自己的应用,画一张属于自己的装配图。