INNER 06 / AGENT / 07 · ENGINE v1
智能体通信协议与上下文工程(Lessons 11‒12: Protocols & Context Engineering)
本关练习:设计长周期研发排障 Agent 的上下文压缩与隔离方案。
30 SECONDS / 30 秒看懂
这一关只解决一件事:在 Microsoft AI Agents for Beginners 第 11 课 ( Agentic Protocols ) 与第 12 课 ( Context Engineering) 以及 12-Factor Agents 中,生产级智能体工程有两大前沿基石: 标准化协议(MCP / A2A / NLWeb):通过 Model Context Protocol (MCP) 统一大模型与外部数据源/工具(GitHub、数据库、本地文件)的连接标准;通过 Agent-to-Agent (A2A) 协议实现跨框架智能体之间的发现与协作。上下文工程(Context Engineering):模型的上下文窗口不是垃圾桶!
- 制定工具返回值的【入窗截断与摘要规则】(如超过 1,000 字符的原始日志先提取错误码与关键堆栈行,原始全量文件仅存本地路径引用);
- 设计历史轮次的【滑动窗口 + 里程碑状态压缩(State Compaction)】策略,保留已验证结论、丢弃冗余试错过程(
- 5 分);
3 MINUTES / 3 分钟拆解
先看来源里的例子:PDF 本关任务(来源)
一个运维排障 Agent 在连续调用了 10 次服务器日志查询工具后,上下文累积了 8 万 Token 的原始报错日志,导致模型开始遗忘最初的用戶指令且响应极其缓慢。
发生了什么
来源要求:制定工具返回值的【入窗截断与摘要规则】(如超过 1,000 字符的原始日志先提取错误码与关键堆栈行,原始全量文件仅存本地路径引用); / 设计历史轮次的【滑动窗口 + 里程碑状态压缩(State Compaction)】策略,保留已验证结论、丢弃冗余试错过程( / 5 分);
输出
参考答案:参考答案:研发排障 Agent 的上下文工程与子智能体隔离方案 【1. 工具输出入窗过滤器(Tool Output Truncation & Summarization Hook)】 当 fetch_server_logs 工具返回原始文本 > 1,500 字符时: - 将完整原始日志保存至沙盒临时文件 /tmp/log_dump_01.txt; - 仅向主 Agent 上下文注入结构化摘要:{"log_file_ref": "/tmp
术语拆开
- 上下文窗口
- 模型一次能看到的 token 上限。
- 状态压缩
- 把长过程压缩成关键结论和里程碑。
为什么有效
来源核心原理:在 Microsoft AI Agents for Beginners 第 11 课 ( Agentic Protocols ) 与第 12 课 ( Context Engineering) 以及 12-Factor Agents 中,生产级智能体工程有两大前沿基石: 标准化协议(MCP / A2A / NLWeb):通过 Model Context Protocol (MCP) 统一大模型与外部数据源/工具(GitHub、数据库、本地文件)的连接标准;通过 Agent-to-Agent (A2A) 协议实现跨框架智能体之间的发现与协作。 上下文工程(Context Engineering):模型的上下文窗口不是垃圾桶!如 12-Factor Agents(Own your context window) 所述,必须对传入模型的 Token 进行精细化筛选、修剪与隔离——当工具返回长达 5 万字的原始网页或日志时,先在沙盒中提取关键摘要再塞入主对话上下文,避免“大海捞针”导致注意力稀释和高昂 Token 账单。
结构长什么样
制定工具返回值的【入窗截断与摘要规则】(如超过 1,000 字符的原始日志先提取错误码与关键堆栈行,原始全量文件仅存本地路径引用); 设计历史轮次的【滑动窗口 + 里程碑状态压缩(State Compaction)】策略,保留已验证结论、丢弃冗余试错过程( 5 分); 说明如何利用子智能体上下文隔离(Sub-agent Context Isolation)让主控 Agent 只接收最终 200 字排查结论。
为什么不能把全部历史都塞进上下文?
SOURCE READING / 来源精读
在 Microsoft AI Agents for Beginners 第 11 课 ( Agentic Protocols ) 与第 12 课 ( Context Engineering) 以及 12-Factor Agents 中,生产级智能体工程有两大前沿基石: 标准化协议(MCP / A2A / NLWeb):通过 Model Context Protocol (MCP) 统一大模型与外部数据源/工具(GitHub、数据库、本地文件)的连接标准;通过 Agent-to-Agent (A2A) 协议实现跨框架智能体之间的发现与协作。上下文工程(Context Engineering):模型的上下文窗口不是垃圾桶!
逐点读懂
- 制定工具返回值的【入窗截断与摘要规则】(如超过 1,000 字符的原始日志先提取错误码与关键堆栈行,原始全量文件仅存本地路径引用);
- 设计历史轮次的【滑动窗口 + 里程碑状态压缩(State Compaction)】策略,保留已验证结论、丢弃冗余试错过程(
- 5 分);
怎么对应本关练习
先读 30 秒与 3 分钟拆解,再读本关原文与实验,最后做客观题和实操题;答案在下方。
例子在哪
本关任务与参考答案见页面下方;来源为本册 PDF 对应关卡。
本关先记住:制定工具返回值的【入窗截断与摘要规则】(如超过 1,000 字符的原始日志先提取错误码与关键堆栈行,原始全量文件仅存本地路径引用);
核心原理
在 Microsoft AI Agents for Beginners 第 11 课 ( Agentic Protocols ) 与第 12 课 ( Context Engineering) 以及 12-Factor Agents 中,生产级智能体工程有两大前沿基石: 标准化协议(MCP / A2A / NLWeb):通过 Model Context Protocol (MCP) 统一大模型与外部数据源/工具(GitHub、数据库、本地文件)的连接标准;通过 Agent-to-Agent (A2A) 协议实现跨框架智能体之间的发现与协作。
上下文工程(Context Engineering):模型的上下文窗口不是垃圾桶!
如 12-Factor Agents(Own your context window) 所述,必须对传入模型的 Token 进行精细化筛选、修剪与隔离——当工具返回长达 5 万字的原始网页或日志时,先在沙盒中提取关键摘要再塞入主对话上下文,避免“大海捞针”导致注意力稀释和高昂 Token 账单。
第 7 关实操练习题:设计长周期研发排障 Agent 的上下文压缩与隔离方案
任务背景
一个运维排障 Agent 在连续调用了 10 次服务器日志查询工具后,上下文累积了 8 万 Token 的原始报错日志,导致模型开始遗忘最初的用戶指令且响应极其缓慢。
通关硬性要求(满分 12.5 分)
1. 制定工具返回值的【入窗截断与摘要规则】(如超过 1,000 字符的原始日志先提取错误码与关键堆栈行,原始全量文件仅存本地路径引用)(5 分);
2. 设计历史轮次的【滑动窗口 + 里程碑状态压缩(State Compaction)】策略,保留已验证结论、丢弃冗余试错过程(
4.5 分);
3. 说明如何利用子智能体上下文隔离(Sub-agent Context Isolation)让主控 Agent 只接收最终 200 字排查结论(3 分)。
PRACTICE / 本关练习 · 本地规则 + 覆盖检查
设计长周期研发排障 Agent 的上下文压缩与隔离方案
本地检查在你的浏览器里完成,不上传。覆盖检查需要先登录(免费注册),并把这段答案发送到服务器计算一次,算完即弃、不存档,需你点同意;只核对本关评分项覆盖的方向,不在评分项里的题目不会被检查。
评分项
结构分 — / 12.5 分
查看参考答案与得分点 先自己写,再打开+
参考答案与得分要点
参考答案:研发排障 Agent 的上下文工程与子智能体隔离方案
【1. 工具输出入窗过滤器(Tool Output Truncation & Summarization Hook)】
当 fetch_server_logs 工具返回原始文本 > 1,500 字符时: - 将完整原始日志保存至沙盒临时文件 /tmp/log_dump_01.txt; - 仅向主 Agent 上下文注入结构化摘要:{"log_file_ref": "/tmp/log_dump_01.txt", "total_lines": 4200, "error_summary": "共出现 37 次 OutOfMemoryError,首次发生于 03:14:02,核心堆栈位于 OrderService.java:142"}。
【2. 滑动窗口与里程碑状态压缩(State Compaction)】
每执行完 3 轮工具调用,触发一次 Compaction:将前 3 轮的完整 Tool Call / Observation 折叠为一条 100 字的【已验证排查里程碑】(如:“已排除数据库连接池满与 Redis 超时,确认问题锁定在订单导出服务的内存泄漏”)。
【3. 子智能体上下文隔离(Sub-agent Delegation)】
当需要深入分析 50MB 的堆转储文件时,主控 Agent 派生一个独立的 LogAnalyzerSubAgent,子智能体在独立上下文中完成数十次切片检索后销毁自身上下文,仅向主控 Agent 返回最终 200 字的根因定位结论。 得分要点拆解:设计长日志落盘引用 + 摘要入窗机制(5 分);定期折叠历史试错轮次为里程碑状态(4.5 分);利用子智能体独立上下文避免污染主控窗口(3 分)。 第 8 关
网页永久免费。完整 PDF 会按顺序发给留邮箱的读者,不转售、不群发广告。
留邮箱,获取完整 PDF ↗