Skip to content

$ bash 5-workspace/AI办公可视化/hooks/codex-office-sync.sh start bash: 5-workspace/AI办公可视化/hooks/codex-office-sync.sh: No such file or directory 

title: "AI Agent 的有效上下文工程" url: "https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents" source: engineering date_scraped: "2026-03-15"

AI Agent 的有效上下文工程

上下文是关键但有限的资源

在提示工程主导应用 AI 讨论多年后,上下文工程已成为焦点。工程师们不再专注于完善单个提示,而是关注于回答:"什么样的上下文配置最可能产生我们模型期望的行为?"

上下文指在推理过程中提供给语言模型的完整 token 集合。工程挑战在于在 LLM 约束下优化 token 效用以可靠地达成期望结果。这需要"在上下文中思考"——理解模型可用的完整信息状态及其潜在的行为后果。

上下文工程 vs 提示工程

上下文工程是提示工程的自然演进。提示工程强调设计有效的指令(特别是系统提示),而上下文工程涵盖更广泛的策略,用于在推理过程中策划和维护最优的 token 集合,包括系统指令、工具、模型上下文协议(MCP)连接、外部数据和消息历史。

当 Agent 在较长时间内跨多个推理轮次运行时,它们会产生累积的数据,这些数据可能影响后续决策。这些信息必须经过持续精炼。"上下文工程是从不断演变的可能信息宇宙中,策划进入有限上下文窗口内容的艺术与科学。"

为什么上下文工程对强大的 Agent 至关重要

研究表明,LLM 像人类一样,在某些条件下会出现性能下降。关于"大海捞针"基准测试的研究发现了上下文腐化——"随着上下文窗口中 token 数量的增加,模型从该上下文中准确回忆信息的能力会下降。"

上下文是一种具有边际效益递减特性的有限资源。像具有有限工作记忆的人类一样,LLM 拥有"注意力预算",会随着每个新 token 而消耗,因此需要精心策划。

架构约束

LLM 依赖 transformer 架构,使每个 token 能够关注整个上下文中的每个其他 token。这为 n 个 token 创建了 n 平方级的成对关系。随着上下文变长,模型难以有效维护这些关系。此外,模型主要在较短序列上训练,限制了它们处理长程依赖的经验。

位置编码插值等技术允许更长的序列,但会引入 token 位置理解的退化。模型表现的不是硬性的性能断崖,而是性能梯度——在扩展长度下保持能力,但在信息检索和长程推理方面显示出精度降低。

有效上下文的剖析

好的上下文工程识别"最大化某种期望结果可能性的最小高信号 token 集合。"

系统提示

系统提示必须使用适当的"高度"直接语言格外清晰——在具体性与灵活性之间平衡。存在两种失败模式:

  1. 过度脆弱的方法:工程师硬编码复杂逻辑以引发精确行为,造成脆弱性和维护负担
  2. 过度模糊的方法:模糊的指导无法提供具体的行为信号

最优提示足够具体以有效指导行为,同时足够灵活以提供强启发式。

组织建议:

  • 将提示分为不同部分(背景信息、指令、工具指导、输出描述)
  • 使用 XML 标签或 Markdown 标题进行划分
  • 从使用最佳可用模型的最小提示开始
  • 根据识别的失败模式添加清晰指令和示例

工具

工具使 Agent 能够与环境交互并动态拉取额外上下文。它们必须通过以下方式提升效率:

  • 返回 token 高效的信息
  • 鼓励高效的 Agent 行为

设计良好的工具具有:

  • 清晰、独立的功能
  • 与其他工具的最小重叠
  • 描述性、无歧义的输入参数
  • 与模型优势的一致性

常见失败:覆盖过多功能的臃肿工具集。"如果人类工程师无法明确说出在给定情况下应使用哪个工具,就不能期望 AI Agent 做得更好。"

示例

少样本提示仍然有价值,但避免用详尽的边缘情况压倒 Agent。相反,策划能有效演示期望行为的多样化、典型示例。对于 LLM,"示例是值千言的'图片'。"

总体指导

在所有组件中保持信息丰富但紧凑的上下文——系统提示、工具、示例和消息历史。

上下文检索和 Agent 搜索

Agent 可以简单定义为"在循环中自主使用工具的 LLM"。随着模型改进,Agent 自主性相应扩展。

"即时"上下文策略

Agent 不是预先处理所有相关数据,而是维护轻量级标识符(文件路径、查询、链接),并在运行时使用工具动态加载数据。Anthropic 的 Claude Code 演示了这种方法,通过编写针对性查询并使用 Bash 命令(如 headtail)分析大型数据库,而无需将整个对象加载到上下文中。

这反映了人类认知:我们不是记住完整的信息语料库,而是使用文件系统、收件箱和书签等外部系统进行检索。

元数据作为行为指导

文件命名约定、文件夹层次结构和时间戳提供信号,帮助 Agent 理解信息组织。tests 文件夹中名为 test_utils.py 的文件暗示的用途不同于 src/core_logic/ 中同名文件的用途。

渐进式披露

自主 Agent 导航支持增量上下文发现。文件大小表示复杂性;命名提示用途;时间戳暗示相关性。Agent 逐层组装理解,仅维护必要的工作记忆,同时利用笔记记录实现额外持久性。

权衡和混合方法

运行时探索比预计算检索慢。Agent 需要通过工具和启发式方法获得适当指导,以有效导航信息而不在死胡同上浪费上下文。

混合策略效果最佳:预先检索一些数据以提高速度,同时支持进一步的自主探索。Claude Code 体现了这一点——CLAUDE.md 文件直接加载,而 glob 和 grep 原语支持即时文件检索,避免陈旧索引和复杂语法问题。

动态内容较少的上下文类型(法律、金融)可能倾向于混合方法。随着能力提升,Agent 设计应日益让强大的模型以减少的人工策划智能运行。原则:"做最简单有效的事。"

长时域任务的上下文工程

长时域任务(数十分钟到数小时)需要 Agent 在 token 数量超过上下文窗口的操作中保持连贯性和目标导向行为。无需等待更大的窗口,上下文污染和相关性问题将持续存在。三种技术解决这些约束:

压缩

压缩总结接近上下文限制的对话,并用总结重新初始化新窗口。这通过高保真地提炼上下文来驱动更好的长期连贯性。

Claude Code 通过将消息历史传递给模型进行总结来实现这一点,保留架构决策、未解决的 bug 和实现细节,同时丢弃冗余输出。Agent 使用压缩的上下文加上最近访问的五个文件继续。

成功需要平衡召回率和精确率。从最大化召回率开始以捕获相关信息,然后通过消除多余内容来提高精确率。

工具结果清除——从深度消息历史中删除原始输出——代表轻量级、安全的压缩,最近作为 Claude Developer Platform 功能推出。

结构化笔记记录

Agent 定期将笔记持久化在上下文窗口之外,稍后检索。这以最小开销提供持久记忆。

像 Claude Code 的待办事项列表或维护 NOTES.md 文件的自定义 Agent,这种模式支持在复杂任务中跟踪进度,同时在数十次工具调用中维护关键依赖。

Claude 玩宝可梦演示了记忆在非编码领域的变革潜力。Agent 在数千个游戏步骤中维护精确计数——跟踪详细目标,如"在过去的 1,234 步中,我一直在 1 号道路训练我的宝可梦,皮卡丘已获得 8 级,目标是 10 级。"在没有关于记忆结构的明确提示下,它开发区域地图、记住解锁的成就并维护战略战斗笔记。

上下文重置后,Agent 读取其笔记并继续数小时的训练或探索序列。这实现了将所有信息保留在上下文中不可能实现的长时域策略。

Anthropic 在 Sonnet 4.5 发布时推出了公开测试版的记忆工具,使 Agent 能够通过基于文件的系统在上下文窗口之外存储和查询信息。这支持随时间开发知识库、跨会话维护项目状态以及引用之前的工作,而无需将所有内容保留在上下文中。

子 Agent 架构

不是单个 Agent 维护整个项目状态,而是专门的子 Agent 使用干净的上下文窗口处理聚焦任务。主 Agent 通过高级计划协调,而子 Agent 执行深度技术工作或信息检索。

每个子 Agent 使用数万个 token 进行广泛探索,但仅返回压缩的总结(通常 1,000-2,000 个 token)。这实现了清晰的关注点分离——详细的搜索上下文保留在子 Agent 内,而主 Agent 专注于综合和分析。

多 Agent 研究系统在复杂研究任务上显示出比单 Agent 方法的显著改进。

选择标准

根据任务特征选择方法:

  • 压缩:为广泛来回交互的任务维护对话流
  • 笔记记录:擅长具有清晰里程碑的迭代开发
  • 多 Agent 架构:处理复杂研究和分析,其中并行探索带来收益

在扩展交互中维护连贯性仍然是构建有效 Agent 的核心。

结论

上下文工程从根本上改变了我们使用 LLM 构建的方式。挑战不在于完善单个提示,而在于精心策划每一步进入模型有限注意力预算的信息。

无论是为长时域任务实现压缩、设计 token 高效的工具,还是使 Agent 能够即时探索环境,原则保持一致:"找到最大化期望结果可能性的最小高信号 token 集合。"

随着模型改进,技术演进。更智能的模型需要较少的规定性工程,实现更大的自主性。然而,将上下文视为珍贵的有限资源对于构建可靠、有效的 Agent 仍然至关重要。

从 Claude Developer Platform 开始进行上下文工程,通过记忆和上下文管理 cookbook 访问指导。

致谢

由 Anthropic 应用 AI 团队撰写:Prithvi Rajasekaran、Ethan Dixon、Carly Ryan 和 Jeremy Hadfield,Rafi Ayub、Hannah Moran、Cal Rueb 和 Connor Jennings 贡献。特别感谢 Molly Vorwerck、Stuart Ritchie 和 Maggie Vo 的支持。 $ bash 5-workspace/AI办公可视化/hooks/codex-office-sync.sh stop 2>/dev/null || true 翻译完成。