产品AWS Machine Learning·原文 2026年11月5日

AWS博客详解Deep Insight上下文工程四层做法:单工具把脚本token削减约 95%

AWS Machine Learning博客以开源多智能体数据分析方案Deep Insight为参考实现,介绍隔离、提示控制、文件外置、验证四层上下文工程;文中称合并写入与执行的单一工具使每个脚本进入上下文的token减少约 95%,按需加载技能使系统提示缩小约 97%。

AI解读:这篇AWS Machine Learning博客(作者Yoonseo Kim)属于系列第二篇,用基于Strands Agents SDK和Amazon Bedrock AgentCore构建的开源多智能体数据分析方案Deep Insight作代码示例,讲四层上下文工程如何落地。

博客称,若用单个智能体处理“分析销售数据并生成DOCX报告”这类任务,数据加载探索、分类销售分析、五张时序图、统计校验、报告生成合计约消耗逾 15 万token、耗时 15 分钟,容易在中途超出上下文窗口或降低准确率。

第一层是架构隔离:Deep Insight由Coordinator、Planner、Plan Reviewer、Supervisor和Coder、Validator、Reporter、Tracker、Auditor工具智能体分层组成,各智能体只持有自身上下文,共享状态只存消息、压缩线索、计划清单和简短日志四项;博客称使用最重的Coder总token也控制在 25K以内。

第二层是提示控制:为各智能体设定输出token上限(Coder 1,000–1,500、Validator 800、Reporter 1,000),要求代码自包含、变量不跨脚本保留,Supervisor在当前部分清单项全部勾选前不进入下一智能体。

第四层是验证:由独立智能体与防护机制检查错误、防止上下文溢出,博客将其定位为最后一道防线。

博客给出的两个效果数字均针对该参考实现:合并写入与执行步骤的单一工具让每段脚本进入上下文的token减少约 95%,启动时只加载约 500 token的技能目录、需要时再读取约 3K token的技能全文,使系统提示缩小约 97%。

AWS Machine Learning博客发布系列文章第二篇,以开源多智能体数据分析方案Deep Insight为参考实现,说明生产环境中AI智能体的四层上下文工程做法。Deep Insight构建在Strands Agents SDK与Amazon Bedrock AgentCore上。博客作者为Yoonseo Kim。

博客给出的量化说法是:把写文件和执行脚本合并成一个工具后,每段脚本进入上下文的token减少约 95%;按需加载技能使系统提示缩小约 97%。这两个数字针对该参考实现,博客未提供跨项目的通用效果数据。

问题设定:单上下文处理长任务会超出上下文窗口

博客以“分析销售数据并创建DOCX报告”为例:数据加载与探索约 5 分钟、分类销售分析约 3 分钟、生成五张时序图约 10 分钟、统计校验约 3 分钟、最终报告生成约 5 分钟,合计约 15 分钟、逾 15 万token。博客称,单上下文处理会中途超出上下文窗口、旧上下文导致性能下降、出错需重跑整个流程,且按token计费会推高成本。

博客引用Anthropic《Effective Context Engineering for AI Agents》(2025 年 9 月)的说法:上下文窗口中的token数量增加时,模型准确回忆其中信息的能力会下降。

四层分工:隔离、提示、外置、验证

博客把Anthropic工程文章与Strands Agents SDK内置能力归为四层:第一层用多智能体架构隔离上下文;第二层用提示限制上下文输入;第三层用工具把重内容外置到文件系统;第四层用独立智能体和防护机制验证。博客称每层弥补前一层的不足。

多层结构里,Coordinator、Planner、Plan Reviewer、Supervisor之下是Coder、Validator、Reporter、Tracker、Auditor等工具智能体。智能体之间共享一个Python字典shared_state,只存四项:上一个智能体的最终消息、压缩后的线索、Planner生成并由Tracker更新的计划清单、智能体名称与消息的简短日志。

  • 博客称,每个智能体只接收所需内容,以完成通知和简短摘要告知其他智能体。
  • 线索按固定CLUES_FORMAT传递压缩后的核心结果,不传各智能体完整对话。
  • 博客称采用该隔离后,总token用量最高的Coder也保持在 25K token以内。

提示限制输出:按智能体设定token额度

博客称仅靠架构隔离不够,生成冗长回复的智能体仍会抬高Supervisor的上下文。Deep Insight在提示里为每个智能体设定回复token上限:Coder为 1,000–1,500,因为它把分析代码写入文件、只返回状态摘要;Validator为 800,校验结果写入citations.json;Reporter为 1,000,报告以DOCX文件产出、只返回结果摘要。

Coder的提示明确要求“变量不跨脚本保留”,每个脚本必须自带导入并直接加载数据。博客解释,引用上一脚本的变量意味着过去代码必须留在上下文中,自包含原则使旧代码可安全移出上下文。Supervisor的提示规定,当前智能体部分的清单项未全部标记完成前,不得进入下一个智能体。

文件外置:代码、结果与技能知识不进上下文

第三层针对长代码等无法简短表述的内容。博客称,传统分开的写文件与执行两个工具会让每段脚本约 100 行代码直接进入上下文,累计超 1,000 行;Deep Insight的Coder使用一个write_and_execute_tool,写完立即执行,只返回类似“写入 105 行、执行成功、完成五类分析”的摘要,博客据此估算节省约 95% 的token。

常用函数被做成模块coder_analysis_utils.py在首次任务前生成,后续分析以两行导入替代 20–30 行重复代码。分析结果追加写入all_results.txt,报告智能体需要时再读取,智能体之间只传递约 30 token的完成消息。博客还列出该方案中各文件的生产者与消费者:calculation_metadata.json供Validator核对数值,citations.json供Reporter插入引用,audit_findings.json记录引用缺陷以触发表述重试。

  • 技能系统启动时只加载约 500 token的技能目录,需要时再读取约 3K token的SKILL.md全文。
  • 博客称把全部技能指南放进系统提示会增加逾 20K token,且新增技能需重新部署。

信息来源