核心概述
本文由Anthropic应用AI团队撰写,深度探讨了在AI代理系统中"上下文工程"的重要性和实施策略。随着大语言模型能力的提升,传统的提示工程已无法满足复杂、多回合、长期任务的需求。文章指出,在有限的"注意力预算"约束下,如何高效组合和管理上下文信息成为构建高性能AI代理的关键。
作者从上下文腐蚀、结构化设计、动态检索、长任务管理等多个维度,系统阐述了上下文工程的技术路径与思维框架,为开发者提供了一套完整的方法论。
01 上下文工程与提示工程的区别
提示工程的局限:传统提示工程专注于编写高效指令以优化单次模型输出,但随着AI代理承担多回合、多目标任务,单靠提示已无法保证一致性和效率。
上下文工程的范畴:上下文工程关注LLM推理时的整体上下文管理,包括系统提示、工具参数、历史记录、外部数据等多个维度的信息组织。
动态迭代过程:上下文工程是动态的,每次推理都需重新选择并传入最优的上下文集合,在明确性和简洁性之间找到平衡点。
Anthropic的观点:优质上下文工程不追求极短,但必须保证关键信息准确覆盖,并根据模型性能灵活调整策略。
02 上下文腐蚀与有限的注意力预算
上下文窗口限制:LLM的上下文窗口有限(token数量有限),信息过载会导致"上下文腐蚀"——模型提取关键信息的能力递减,类似人脑短时记忆的衰减。
注意力机制挑战:随着上下文长度增加,模型的注意力机制变得稀疏。Transformer架构虽支持任意token间全连接,但上下文增长带来n²级别的关系复杂度。
训练与推理的鸿沟:模型主要在较短序列上训练,长距离推理能力天然不足。研究表明,长窗口不等于强性能,随token增加,信息检索和推理能力显著下降。
工程启示:每个token都消耗模型"关注力",工程实践应像"做减法",不断优化和追踪上下文信号强度。
03 有效上下文的结构方法
设计原则:找出最小的高信号token集合,实现目标最大化
系统提示 System Prompt
建议结构清晰、语言直接、分区明显(工具指导、输出描述)。兼顾具体性和灵活性,避免极端的死板硬编码或泛泛而谈。使用Markdown或XML等格式做提示分隔。
工具参数 Tools
工具必须高效易懂、功能不重叠,输入参数明确描述。冗余工具会使代理决策混乱,每个工具都应有明确的职责边界。
实例展示 Few-shot
多样化而规范的案例比罗列所有边界案例更有效。示例是"给模型看的图片",应展示理想行为模式而非穷举所有可能。
历史记录管理
历史记录等组件要控制信息紧凑,不求短但力求信号强。动态上下文检索能力越来越重要,从一次性处理全部数据向"Just In Time"实时检索转变。
04 代理的自我管理与混合上下文策略
从嵌入检索到动态加载:许多应用采用嵌入检索预筛选上下文,但更智能的代理采用"轻量标识+工具动态检索"策略——只维护索引信息(文件名、链接),按需加载上下文。
类人检索模式:类似人类通过文件系统、邮件、书签检索信息,代理也按需加载、逐层理解,而非死记硬背所有内容。Claude Code就是通过工具按需检索信息的典范。
元数据的力量:代理可自主探查、逐步积累相关上下文,通过文件夹结构、命名习惯、时间戳等元数据提高检索效率。
混合策略优势:在法律、金融等领域,混合策略更适合——部分信息预先加载保证速度,动态探索补充深度。关键是"做最简单可行的事情"。
05 极长任务的上下文管理技巧
长时间任务需要代理跨越常规上下文窗口,实现长期一致与目标导向。Anthropic提出三种关键技术:
信息压缩 Compaction
将接近窗口极限的对话/数据整理为概要,开启新窗口继续任务。通过高质概要保留关键细节、丢弃无用冗余(如旧工具调用结果),实现任务延续。适用于实时沟通场景。
结构化笔记 Structured Note-taking
代理定时在窗口外记笔记(如NOTES.md),并在后续引用,形成柔性记忆。Claude玩宝可梦时,通过记笔记进行长时间任务管理与策略制定。适用于迭代开发场景。
子代理架构 Sub-agent Architectures
复杂任务由多个子代理分治,各自保持独立窗口,由主代理协调总计划。子代理做深度技术工作并返回概要,分工实现高效探索与总结。适用于复杂分析场景。
这些技术将成为未来有效AI代理的核心构件,不同场景选择不同技术组合。
06 结论与Anthropic平台实践
范式核心转变:上下文工程是LLM应用范式的核心转变,标志着从单次优化到系统性管理的进化。
未来趋势:"模型越智能、工程越简单",但上下文依然是"稀缺资源"需慎重配置。智能模型会降低工程复杂度,但不会消除对精细上下文管理的需求。
实践建议:推荐通过Anthropic平台工具实践上下文管理、记忆和检索技巧,持续提升代理效果。从小规模实验开始,逐步扩展到复杂场景。
持续迭代:上下文工程是一个持续优化的过程,需要根据实际表现不断调整策略,建立反馈循环。