(来源:网易科技)
Anthropic发布Claude Sonnet 4.5时顺便也发了一篇文章,讲的是上下文工程
Anthropic认为,随着AI进入Agent时代,构建语言模型的重点正在从“为提示找到正确的词语和短语”,转向一个更大的问题:“什么样的上下文配置最有可能产生我们期望的模型行为?”,简单来说,提示工程(Prompt Engineering)正在自然地演进为上下文工程
上下文,是AI智能体的核心动力,但它既宝贵又有限,这篇文章将深入探讨一系列策略,教你如何高效地筛选与管理这些关键信息
上下文工程 vs. 提示工程
首先,什么是上下文工程?
Anthropic给出的定义是:为LLM在推理过程中,策划和维护最优信息(tokens)集合的一系列策略
它与我们熟悉的提示工程有何不同?
提示工程:主要关注如何编写和组织LLM的指令,以获得最佳输出,特别是系统提示(System Prompt)。它的核心是“写好提示词”,通常应用于单轮查询任务
上下文工程:关注的是管理整个上下文状态,包括系统指令、工具、外部数据、历史消息等所有可能进入上下文窗口的信息。它的核心是管理信息流,是为需要在多轮推理和更长时间跨度上运行的AI Agent量身定制的
用一张对比图展示二者的区别:
左侧的提示工程,流程简单:系统提示+用户消息,直接生成回复
右侧的上下文工程,则是一个动态循环:模型需要从一个包含文档、工具、记忆文件、历史消息等庞大的“可能上下文池”中,通过一个“策划”环节,筛选出最优信息组合,填入有限的上下文窗口,然后才能进行思考、调用工具并生成下一步行动
这个“策划”过程,在Agent的每一次决策循环中都会发生,是上下文工程的核心
为什么上下文工程如此重要?
Anthropic指出,尽管LLM能处理越来越大的数据量,但它们和人类一样,在某个点上会失去焦点或感到困惑
研究已经揭示了“上下文腐烂(Context Rot)”现象:随着上下文窗口中的令牌数量增加,模型准确回忆其中信息的能力会下降
这种现象背后的根本原因,源于Transformer架构的内在限制。每个令牌都需要与上下文中的其他所有令牌建立关系,这导致了n²的成对关系复杂性。当上下文变长时,模型的“注意力预算(attention budget)”会被摊薄
因此,上下文是一种有限且边际效益递减的宝贵资源。优秀的上下文工程,就是要找到那个能最大化期望结果可能性的、最小的高信噪比令牌集
高效上下文的“解剖”
如何进行有效的上下文工程?Anthropic从实践层面给出了三大核心组件的指导原则。
1. 系统提示:找到恰到好处的平衡点
系统提示是门艺术,需要避免两个极端:
过于具体:在提示中硬编码复杂的if-else逻辑,会导致系统脆弱,难以维护
过于模糊:给出高级别的、模糊的指导,无法为LLM提供具体的行为信号
最佳实践是找到一个“黄金区域”:指令既要足够具体以有效指导行为,又要足够灵活以赋予模型强大的启发式能力
Anthropic建议将提示结构化为不同部分(例如背景信息、指令),其核心原则是:力求用最精简的信息,来完整地阐明预期的行为
2. 工具:像设计优秀代码库一样设计工具
工具定义了Agent与环境交互的契约。好的工具应该像设计良好的代码库中的函数一样:
自包含、功能内聚,尽量减少功能重叠
对错误有鲁棒性
意图清晰,输入参数描述明确、无歧义
最常见的失败模式是“臃肿的工具集”,这会让Agent(甚至人类工程师)难以抉择。精简、可行的工具集是上下文工程的关键
3. 示例(Few-shot Prompting):重质而非量
提供示例是公认的最佳实践。但Anthropic不建议将大量的边缘案例塞进提示中
正确的做法是,策划一组多样化、规范化的示例,这些示例能有效地描绘出Agent的预期行为。对于LLM来说,好的示例一图胜千言
从预加载到即时检索:Agentic Search
传统的RAG等方法,倾向于在推理前就检索并“预加载”所有相关信息。而Anthropic观察到一个新趋势:“即时”上下文策略
在这种模式下,Agent只维护轻量级的标识符(如文件路径、URL),并在运行时使用工具动态地将数据加载到上下文中。这就像人类不会记住所有信息,而是通过文件系统、书签来按需检索
Claude Code就是这种方法的实践者。它可以通过head和tail等Bash命令分析大型数据库,而无需将整个数据库加载到上下文中
这种方法也支持渐进式披露,允许Agent通过探索逐步发现相关上下文,每次交互都会为下一次决策提供信息
当然,运行时探索比预计算慢,因此最佳策略可能是混合模式:预先检索部分关键信息以提高速度,同时赋予Agent自主探索的权力
应对长时程任务的三大策略
当任务(如大型代码库迁移)的持续时间远超单个上下文窗口的容量时,需要专门的技术来维持连贯性。Anthropic分享了三种核心策略:
1. 压缩
当对话接近上下文窗口极限时,让模型对现有内容进行总结和压缩,然后用这个摘要开启一个新的上下文窗口。这能以高保真度的方式提炼关键信息(如架构决策、未解决的bug),同时丢弃冗余内容(如过时的工具输出)。最简单的一种压缩形式就是清理旧的工具调用和结果
2. 结构化笔记
也称为“智能体记忆(agentic memory)”。这是一种让Agent定期将笔记持久化到上下文窗口之外的内存中的技术。这些笔记可以在稍后的时间点被重新拉回上下文
Anthropic展示了一个让Claude玩《宝可梦》的例子:Agent在没有被明确提示的情况下,自主学会了创建待办事项列表、绘制探索过的区域地图、记录战斗策略等。当上下文重置后,它能通过读取自己的笔记,无缝衔接之前的进度,完成长达数小时的游戏任务
3. 子智能体架构
与其让单个Agent维护整个项目的状态,不如让专门的子智能体处理集中的任务。一个主智能体负责高层级的规划和协调,而子智能体则深入执行技术工作或信息检索,并只返回一个精炼的摘要。这种“关注点分离”的模式,在复杂研究任务中被证明比单智能体系统有显著的优势。
如何选择?
压缩:适用于需要大量来回对话的任务
笔记:适用于有明确里程碑的迭代式开发任务
多智能体:适用于并行探索能带来收益的复杂研究和分析任务
上下文工程代表了构建LLM应用方式的根本性转变
随着模型能力越来越强,挑战不再仅仅是制作完美的提示,而是在每一步都深思熟虑地策划哪些信息能进入模型有限的注意力预算
无论是为长时程任务实现压缩,设计高效的工具,还是让Agent“即时”探索环境,其指导原则始终如一:找到最小的高信噪比令牌集,以最大化期望结果的可能性
即使未来模型变得更加自主,将上下文视为一种宝贵的、有限的资源,仍将是构建可靠、高效Agent的核心
参考:
https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents
相关推荐
Agent下半场!比Prompt更重要的是「上下文工程」,Anthropic首次系统阐述
Agent爆火背后的隐形推手
2025上半年,AI Agent领域有什么变化和机会?
Anthropic 深夜祭出 Claude Sonnet 4.5,能自主工作 30 小时!CEO:它更像你的同事
Agent是“新瓶装旧酒”,氛围编码不值得尝试?
OpenAI官方的Prompt工程指南:你可以这么玩ChatGPT
AI写作指南2.0:信息的输入比输出更重要
听完PromptPilot的发布会,发现他们想Pilot的竟然不止是Prompts
微软AI Agent支持A2A、MCP协议!智能体协同生态大爆发
万字长文,聊聊下一代AI Agent的新范式
网址: Agent下半场!比Prompt更重要的是「上下文工程」,Anthropic首次系统阐述 http://m.xishuta.com/newsview142715.html