渐进式披露:AI Agent上下文工程的核心模式
渐进式披露AI Agent上下文工程的核心模式引言被忽视的上下文瓶颈在AI Agent的研究与工程实践中我们花费大量精力优化推理策略ReAct、Plan-and-Execute和行动工具Tool Use却常常忽视一个根本性的约束上下文窗口是有限的注意力资源。想象一下你正在阅读一份100页的技术文档但只能同时看到其中5页。如果这5页充满了无关细节你的决策质量必然下降。这不是因为你不够聪明而是因为信息过载稀释了关键信号的感知。这正是**渐进式披露Progressive Disclosure**要解决的问题。它不是让模型更聪明而是让有限的注意力用在更重要的地方。一、本质区别上下文工程而非推理模式渐进式披露首先是一个上下文工程模式而不是推理—行动模式。维度ReAct / Plan-and-Execute渐进式披露核心问题Agent下一步做什么上下文窗口里应有哪些信息、粒度多粗、何时展开关注对象推理与行动的循环信息的编排与加载策略本质属性决策逻辑上下文工程Context Engineering关键洞察上下文准备的质量直接影响后续推理的效果。即使拥有最先进的推理算法如果输入的上下文充满了噪声输出质量也会大打折扣。二、理论基础HCI领域的认知原则渐进式披露并非AI领域的独创概念它深植于人机交互(HCI的研究传统。2.1 认知过载与决策质量根据 Springer Whittaker 2018 的研究arXiv:1811.02164“系统初始若暴露所有细节用户反而无法做出准确判断——信息过载干扰认知。”这一发现揭示了人类认知的一个基本特征工作记忆容量有限人类短期记忆通常只能同时处理4±1个信息组块信号稀释效应无关细节会稀释关键信息的显著性决策疲劳过多的初始选择会降低决策质量和速度2.2 渐进式披露的认知优势研究对比了两种信息呈现策略策略A一次性全量披露 ├─ 初始状态展示所有功能、参数、选项 ├─ 用户认知负荷高需要筛选和过滤 └─ 决策质量低信息过载导致关键信号被淹没 策略B渐进式披露 ├─ 初始状态仅呈现简化摘要和核心选项 ├─ 按需展开用户表达意图后动态加载相关细节 └─ 决策质量高注意力聚焦于当前任务相关上下文核心原则先给摘要后续按需展开——这一原则从HCI领域迁移到AI Agent系统构成了渐进式披露的理论基础。三、工程约束上下文腐化Context Rot如果说HCI原则提供了为什么需要渐进式披露的理论支撑那么Anthropic的Context Engineering研究则提供了为什么必须这样做的工程约束。3.1 有限注意力资源根据Anthropic《Effective Context Engineering for AI Agents》(2025)“上下文窗口是有限的注意力资源token越多模型提取关键信息的能力越弱。”这与人类的认知限制形成了有趣的平行人类有工作记忆容量限制Miller’s Law: 7±2LLM有上下文窗口限制尽管不断扩大但有效利用效率随长度递减3.2 Context Rot上下文腐化Anthropic提出了一个关键概念——Context Rot上下文腐化“信息并未消失而是被稀释至模型无法有效感知的程度。”现象描述上下文窗口中塞入了5000 tokens的背景信息关键指令 buried in the middleLost in the Middle现象模型表现如同这些信息不存在——不是因为被截断而是因为被稀释Context Rot 示意图 [上下文窗口 - 100K tokens] ├─ 系统提示500 tokens✓ 高显著性 ├─ 历史对话3000 tokens✓ 中等显著性 ├─ 技能文档A5000 tokens✗ 被稀释难以提取 ├─ 技能文档B5000 tokens✗ 被稀释难以提取 ├─ 当前任务指令200 tokens✓ 高显著性 └─ 输出空间 问题技能文档A/B虽然存在但模型难以有效利用3.3 对抗Context Rot的工程策略解法Agent只维护轻量级摘要按需动态加载详细内容而非预先填满上下文。这正是渐进式披露的工程化落地用信息编排对抗注意力稀释。四、工程实践Claude Code Skills 四步闭环理论需要落地。Claude Code的Skills机制是渐进式披露在工程层面的典范实现。4.1 设计背景Skills是Claude Code的插件机制数量最多数百个单个体积完整内容最多5000 tokens矛盾全量预加载 → 上下文爆炸完全不加载 → 技能不可用渐进式披露以四步闭环解决这一矛盾4.2 四步闭环详解┌─────────────────────────────────────────────────────────────┐ │ 渐进式披露四步闭环 │ ├─────────────────────────────────────────────────────────────┤ │ │ │ Step 1: 注入摘要 (~100 tokens) │ │ ┌──────────────┐ │ │ │ 会话开始时仅 │ YAML frontmatter │ │ │ 注入元数据 │ - 技能名称 │ │ │ │ - 功能摘要 │ │ │ │ - 触发条件 │ │ └──────────────┘ 模型感知技能列表正文不可见 │ │ ↓ │ │ Step 2: 按需展开 (≤5000 tokens) │ │ ┌──────────────┐ │ │ │ 模型匹配任务 │ 调用 SkillTool │ │ │ 后动态加载 │ → 完整正文注入上下文 │ │ │ │ 不调用则不进入上下文零成本 │ │ └──────────────┘ │ │ ↓ │ │ Step 3: 用完压缩 (~200 tokens) │ │ ┌──────────────┐ │ │ │ 执行完成后 │ 正文被剥离 │ │ │ 上下文清理 │ → 仅保留约200 tokens的结果摘要 │ │ │ │ 上下文零污染 │ │ └──────────────┘ │ │ ↓ │ │ Step 4: 压缩后只取回用过的 │ │ ┌──────────────┐ │ │ │ autocompact │ 触发后仅重新注入 │ │ │ 智能召回 │ → 本轮实际使用过的技能摘要 │ │ │ │ 避免重复加载未使用技能 │ │ └──────────────┘ │ │ │ └─────────────────────────────────────────────────────────────┘4.3 Token流量分析阶段Token数量说明初始注入~100 tokens × N个技能仅YAML frontmatter可忽略成本按需展开≤5000 tokens仅当技能被调用时发生执行中5000 tokens完整技能内容参与推理用完压缩~200 tokens仅保留执行结果摘要长期维护~200 tokens × 实际使用技能数智能召回机制关键指标峰值上下文占用仅活跃技能完整内容平均上下文占用大部分时间为摘要级token上下文污染度趋近于零用完即清理4.4 设计哲学Claude Code Skills的四步闭环体现了渐进式披露的精髓延迟加载Lazy Loading非必要不展开降低初始认知负荷即用即走Use and Release避免上下文累积导致的Rot智能召回Smart Recall基于实际使用历史优化后续加载五、三层总结从理论到工程渐进式披露在AI Agent系统中的落地是三层知识叠加的结果┌─────────────────────────────────────────────────────────────┐ │ 第三层工程实现层 │ │ Claude Code Skills 机制 │ │ • 100→5000→200 tokens 四步闭环 │ │ • 按需加载、用完清理、智能召回 │ │ • 上下文零污染设计 │ ├─────────────────────────────────────────────────────────────┤ │ 第二层工程研究层 │ │ Anthropic Context Engineering │ │ • 上下文窗口 有限注意力资源 │ │ • Context Rot信息稀释而非消失 │ │ • 对抗策略轻量摘要 动态加载 │ ├─────────────────────────────────────────────────────────────┤ │ 第一层理论基础层 │ │ HCI认知原则Springer Whittaker, 2018 │ │ • 初始全量披露 → 认知过载 → 决策质量下降 │ │ • 初始摘要披露 → 按需展开 → 决策质量提升 │ │ • 核心原则先给摘要后续按需展开 │ └─────────────────────────────────────────────────────────────┘一条HCI认知原则提供理论基础一个工程约束使其成为必须——两层叠加构成渐进式披露进入Agent系统的根本原因。六、扩展思考渐进式披露的通用模式Claude Code Skills的实现可以抽象为更通用的设计模式6.1 通用四步模型classProgressiveDisclosure: 渐进式披露通用模式 definject_summary(self,items:List[Item])-Context: Step 1: 注入摘要 - 输入全量技能/工具/文档列表 - 输出轻量级摘要上下文 - 成本O(N) × 摘要token数其中N为项目数 return[item.to_summary()foriteminitems]defexpand_on_demand(self,context:Context,task:Task)-Context: Step 2: 按需展开 - 输入当前任务 摘要上下文 - 输出匹配任务的完整内容注入 - 触发条件模型判断需要详细内容 matchedself.matcher.match(task,context)return[item.expand()foriteminmatched]defcompress_after_use(self,context:Context,result:Result)-Context: Step 3: 用完压缩 - 输入执行完成后的完整内容 - 输出压缩后的结果摘要 - 目标上下文零污染 returnresult.to_summary()defrecall_used_only(self,history:History)-Context: Step 4: 智能召回 - 输入会话历史中使用过的项目 - 输出仅重新注入实际使用过的摘要 - 优化避免重复加载未使用项目 return[item.summaryforiteminhistory.used_items]6.2 应用场景扩展场景摘要形式完整内容触发条件工具调用工具名称功能描述工具参数Schema示例模型选择工具时RAG检索文档标题片段摘要完整文档段落检索匹配时多Agent协作Agent角色描述Agent完整Prompt技能需要协作时知识库查询实体摘要卡片实体完整属性关系实体被提及时代码库理解文件树函数签名完整函数实现需要修改/调试时七、核心理念回顾渐进式披露不是一项复杂的技术而是一种信息编排的智慧“渐进式披露不使模型更聪明它只是让有限的注意力用在更重要的地方。”在AI Agent系统设计中我们常常追求更强大的模型、更复杂的推理链、更丰富的工具集。但渐进式披露提醒我们在资源约束下如何组织信息往往比拥有多少信息更重要。从HCI的认知原则到Anthropic的Context Engineering再到Claude Code Skills的工程实践渐进式披露展现了跨学科知识迁移的力量。它不仅是技术方案更是一种设计哲学——尊重认知限制优化注意力分配。参考文献: Springer, A., Whittaker, S. (2018). Progressive Disclosure: Empirical Evidence and Design Guidelines.arXiv preprint arXiv:1811.02164.Anthropic. (2025).Effective Context Engineering for AI Agents. Technical Report.