AI神功 KNOWLEDGE BASE
内功06 · AI Agent 智能体·第 19 关 / 36 约 4 分钟

INNER 06 / AGENT / 07 · ENGINE v1

智能体通信协议与上下文工程(Lessons 11‒12: Protocols & Context Engineering)

本关练习:设计长周期研发排障 Agent 的上下文压缩与隔离方案。

约 4 分钟·免费阅读·整理自 AI 现代必修课 · 内功06·来源精读 ↓·直接做题 ↓

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. 制定工具返回值的【入窗截断与摘要规则】(如超过 1,000 字符的原始日志先提取错误码与关键堆栈行,原始全量文件仅存本地路径引用);
  2. 设计历史轮次的【滑动窗口 + 里程碑状态压缩(State Compaction)】策略,保留已验证结论、丢弃冗余试错过程(
  3. 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 的上下文压缩与隔离方案

本地检查在你的浏览器里完成,不上传。覆盖检查需要先登录(免费注册),并把这段答案发送到服务器计算一次,算完即弃、不存档,需你点同意;只核对本关评分项覆盖的方向,不在评分项里的题目不会被检查。

0 字未保存

评分项

评分项加载中…

结构分 — / 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 ↗
← 上一关 下一关 →