AI智能体的上下文工程:Anthropic构建高效AI智能体的关键策略

Effective Context Engineering for AI Agents
文章摘要
本文探讨了AI智能体开发中的新兴领域——上下文工程,从提示工程演进而来,重点关注如何在有限的上下文窗口中优化信息配置,以实现AI代理的最佳性能表现。
引言:从提示工程到上下文工程的演进
在人工智能应用领域经过几年的提示工程(prompt engineering)发展后,一个新的术语开始崭露头角:上下文工程(context engineering)。构建基于语言模型的应用正在从寻找合适的词汇和短语转向回答一个更广泛的问题:"什么样的上下文配置最可能产生模型期望的行为?"
上下文是指在从大型语言模型(LLM)采样时包含的标记集合。当前的工程挑战是在LLM固有约束条件下优化这些标记的效用,以持续实现期望的结果。有效驾驭LLM通常需要从上下文角度思考——换句话说,考虑LLM在任何给定时间可用的整体状态以及该状态可能产生的潜在行为。
上下文工程与提示工程的区别
在Anthropic,我们将上下文工程视为提示工程的自然发展。提示工程是指为获得最佳结果而编写和组织LLM指令的方法,而上下文工程则是指在LLM推理过程中策划和维护最优标记集合的一系列策略,包括除提示之外可能出现在其中的所有其他信息。

早期LLM工程工作中,提示是AI工程工作的最大组成部分,因为除日常聊天交互外的大多数用例都需要针对一次性分类或文本生成任务优化的提示。然而,随着我们向工程更强大的智能体发展,这些智能体需要在多轮推理和更长时间范围内运行,我们需要管理整个上下文状态的策略(系统指令、工具、模型上下文协议(MCP)、外部数据、消息历史等)。
在循环中运行的智能体会生成越来越多可能与下一轮推理相关的数据,这些信息必须循环优化。上下文工程是从不断发展的可能信息宇宙中策划将进入有限上下文窗口内容的艺术和科学。
上下文工程对构建强大智能体的重要性
尽管LLM具有处理速度快和管理越来越大数据量的能力,我们观察到LLM像人类一样,在某个点上会失去焦点或经历混乱。针刺找干草堆式基准测试的研究揭示了"上下文腐烂"的概念:随着上下文窗口中标记数量的增加,模型从该上下文中准确回忆信息的能力会下降。
虽然一些模型表现出比其他模型更温和的性能下降,但这一特征在所有模型中都会出现。因此,上下文必须被视为边际收益递减的有限资源。像具有有限工作记忆容量的人类一样,LLM在解析大量上下文时有一个"注意力预算"。每个新引入的标记都会在一定程度上消耗这个预算,增加了仔细策划LLM可用标记的需要。
这种注意力稀缺性源于LLM的架构约束。LLM基于Transformer架构,它使每个标记能够关注整个上下文中的每个其他标记。这导致n个标记之间存在n²个成对关系。
随着上下文长度的增加,模型捕获这些成对关系的能力变得捉襟见肘,在上下文大小和注意力焦点之间产生自然张力。此外,模型从训练数据分布中发展其注意力模式,其中较短序列通常比较长序列更常见。这意味着模型对上下文范围依赖性的经验较少,专门参数也较少。
有效上下文的构成要素
鉴于LLM受到有限注意力预算的约束,良好的上下文工程意味着找到能最大化某些期望结果可能性的最小高信号标记集。
系统提示的设计原则
系统提示应该极其清晰,使用简单直接的语言,以适当的高度为智能体呈现想法。正确的高度是两种常见失败模式之间的最佳平衡点。在一个极端,我们看到工程师在提示中硬编码复杂、脆弱的逻辑来引发确切的智能体行为,这种方法会产生脆弱性并随时间增加维护复杂性。在另一个极端,工程师有时提供模糊的高级指导,无法为LLM提供期望输出的具体信号或错误假设共享上下文。
最佳高度在两者之间取得平衡:足够具体以有效指导行为,同时足够灵活以为模型提供强有力的启发式指导行为。
我们建议将提示组织成不同的部分(如<background_information>、<instructions>、## Tool guidance、## Output description等),并使用XML标记或Markdown标题等技术来划分这些部分,尽管随着模型能力的提高,提示的确切格式可能变得不那么重要。
工具设计的关键要素
工具允许智能体与其环境交互并在工作时引入新的附加上下文。因为工具定义了智能体与其信息/行动空间之间的契约,所以工具促进效率极其重要,既要返回标记高效的信息,又要鼓励高效的智能体行为。
类似于设计良好的代码库中的函数,工具应该是自包含的、对错误健壮的,并且在其预期用途方面极其清晰。输入参数应该同样具有描述性、明确性,并发挥模型的固有优势。
我们看到的最常见失败模式之一是膨胀的工具集,涵盖过多功能或导致关于使用哪个工具的模糊决策点。如果人类工程师无法明确说出在给定情况下应该使用哪个工具,那么AI智能体就不能指望做得更好。
示例的策略性选择
提供示例,也被称为少样本提示,是我们继续强烈建议的知名最佳实践。然而,团队经常会在提示中塞入一长串边缘案例,试图阐明LLM在特定任务中应该遵循的每个可能规则。我们不推荐这种做法。相反,我们建议努力策划一组多样化的规范示例,有效描绘智能体的预期行为。对于LLM来说,示例是价值千言万语的"图片"。
上下文检索和智能体搜索
在构建有效AI智能体中,我们强调了基于LLM的工作流程和智能体之间的区别。自我们撰写那篇文章以来,我们已经倾向于对智能体的简单定义:在循环中自主使用工具的LLM。
随着底层模型变得更加强大,智能体的自主水平可以扩展:更智能的模型允许智能体独立导航细致入微的问题空间并从错误中恢复。

即时(Just-in-Time)上下文策略
我们现在看到工程师在为智能体设计上下文方面的思维转变。今天,许多AI原生应用采用某种形式的基于嵌入的预推理时间检索来为智能体提供重要上下文进行推理。随着该领域向更多智能体方法的转变,我们越来越多地看到团队用"即时"上下文策略来增强这些检索系统。
智能体不是预先处理所有相关数据,而是采用"即时"方法维护轻量级标识符(文件路径、存储查询、网络链接等),并使用这些引用通过工具在运行时动态将数据加载到上下文中。Anthropic的智能体编码解决方案Claude Code使用这种方法对大型数据库执行复杂数据分析。模型可以编写有针对性的查询、存储结果,并利用head和tail等Bash命令分析大量数据,而无需将完整数据对象加载到上下文中。
这种方法镜像了人类认知:我们通常不会记住整个信息语料库,而是引入外部组织和索引系统,如文件系统、收件箱和书签,以按需检索相关信息。
渐进式披露的优势
让智能体自主导航和检索数据还能实现渐进式披露——换句话说,允许智能体通过探索逐步发现相关上下文。每次交互都会产生为下一个决策提供信息的上下文:文件大小暗示复杂性;命名约定暗示目的;时间戳可以是相关性的代理。智能体可以逐层组装理解,在工作记忆中仅维护必要的内容,并利用笔记策略获得额外的持久性。
当然,这存在权衡:运行时探索比检索预计算数据慢。不仅如此,还需要有主见和深思熟虑的工程,以确保LLM具有有效导航其信息景观的正确工具和启发式方法。没有适当的指导,智能体可能会通过误用工具、追逐死胡同或未能识别关键信息来浪费上下文。
混合策略的应用
在某些设置中,最有效的智能体可能采用混合策略,预先检索一些数据以提高速度,并根据其判断进行进一步的自主探索。"正确"自主水平的决策边界取决于任务。Claude Code是采用这种混合模型的智能体:CLAUDE.md文件预先放入上下文中,而glob和grep等原语允许它导航其环境并即时检索文件,有效绕过陈旧索引和复杂语法树的问题。
长时间任务的上下文工程
长时间任务需要智能体在标记数超过LLM上下文窗口的动作序列中保持连贯性、上下文和目标导向行为。对于跨越数十分钟到数小时连续工作的任务,如大型代码库迁移或综合研究项目,智能体需要专门的技术来解决上下文窗口大小限制问题。
等待更大的上下文窗口似乎是一个显而易见的策略。但在可预见的未来,所有大小的上下文窗口都可能受到上下文污染和信息相关性问题的影响——至少在需要最强智能体性能的情况下。为了使智能体能够在扩展时间范围内有效工作,我们开发了几种直接解决这些上下文污染约束的技术:压缩、结构化笔记和多智能体架构。
压缩技术
压缩是将接近上下文窗口限制的对话进行汇总,并用摘要重新启动新上下文窗口的实践。压缩通常作为上下文工程中推动更好长期连贯性的第一个杠杆。其核心是,压缩以高保真度方式提炼上下文窗口的内容,使智能体能够以最小的性能下降继续工作。
例如,在Claude Code中,我们通过将消息历史传递给模型来总结和压缩最关键的细节来实现这一点。模型保留架构决策、未解决的错误和实现细节,同时丢弃冗余的工具输出或消息。然后智能体可以继续使用这个压缩上下文加上最近访问的五个文件。用户获得连续性,无需担心上下文窗口限制。
技术实现建议
基于我们的分析和实践经验,我们为构建有效的AI智能体提供以下关键建议:
-
保持上下文信息丰富但紧凑:在系统提示、工具、示例、消息历史等上下文的不同组件中都要深思熟虑
-
采用"做最简单有效的事情"的原则:随着模型能力的提高,智能体设计将趋向于让智能模型智能地行动,人工策划将逐步减少
-
实现混合检索策略:结合预计算检索和运行时探索,根据任务特性调整自主水平
-
建立有效的长期记忆管理:通过压缩、结构化笔记等技术应对长时间任务的挑战
结论
上下文工程代表了AI智能体开发的一个关键转折点。随着我们从简单的提示优化转向全面的上下文管理,成功构建强大、可靠的AI智能体需要深入理解注意力机制的限制,以及如何在这些约束条件下最大化性能。
通过精心设计系统提示、优化工具接口、实现智能的上下文检索策略,以及采用适当的长期记忆管理技术,我们可以构建出真正强大的AI智能体,能够在复杂的现实世界任务中表现出色。
随着AI技术的快速发展,上下文工程的重要性只会继续增长。对于希望在AI驱动的未来保持竞争优势的组织来说,掌握这些技术将是至关重要的。
标签
#上下文工程 #AI智能体 #Context Engineering #Prompt Engineering #大模型 #LLM #Anthropic #Claude
本文基于Anthropic发布的技术文档整理编译,旨在为AI从业者提供实用的技术指导。
欢迎加入「知识图谱增强大模型产学研」知识星球,获取最新产学研相关"知识图谱+大模型"相关论文、政府企业落地案例、避坑指南、电子书、文章等,行业重点是医疗护理、医药大健康、工业能源制造领域,也会跟踪AI4S科学研究相关内容,以及Palantir、OpenAI、微软、Writer、Glean、OpenEvidence等相关公司进展。

电子书推荐
[300页电子书]Palantir 股票的大数据,大利润:为什么Palantir是未来企业级AI的潜力股
[555页电子书]从LLM Agent到RAG与知识图谱全攻略实战指南重磅发布——构建具备推理、检索与行动能力的智能体
250页电子书-医学领域的人工智能革命:GPT-4及医学大模型未来展望。OpenAI CEO作序
[100页电子书]知识图谱&大模型双轮驱动的工业 AI 数智化转型权威指南 - Cognite
[73页]OpenAI联合哈佛等重磅发布全球首份ChatGPT使用报告,分析用户增长、使用模式及其经济价值
[72页]谷歌推出个性化实时监测主动健康管理大模型PH-LLM
更多推荐



所有评论(0)