面向 AI Agent 的有效上下文工程实践

面向 AI Agent 的有效上下文工程实践

来源: Anthropic Engineering Blog
作者: Anthropic Engineering Team
发布日期: 2025-04-22

概述

分享上下文工程的最佳实践,包括上下文管理、注意力分配和长对话优化技术。


概述

在人工智能开发的演进历程中,提示工程(prompt engineering)曾是开发者与大型语言模型协作的核心技能。然而,随着 AI Agent 系统的兴起和多轮推理应用的普及,一个更广泛、更强大的概念正在崭露头角——上下文工程(context engineering)。

本文将深入探讨上下文工程的核心理念、实践方法和未来趋势,帮助开发者构建更高效、更可靠的 AI Agent 系统。

从提示工程到上下文工程的演进

提示工程的局限性

在过去几年中,提示工程一直是应用 AI 领域的焦点。开发者们精心设计和优化提示词,试图通过精确的指令和示例来引导模型产生期望的输出。这种方法在一次性分类或文本生成任务中表现良好。

然而,随着应用场景的复杂化,提示工程的局限性逐渐显现:

  • 难以处理多轮对话的上下文管理
  • 无法有效管理有限的注意力预算
  • 对于长时运行的 Agent 任务支持不足
  • 缺乏对动态信息更新的适应性

上下文工程的定义

上下文工程是提示工程的自然演进,它关注的是更广泛的问题:在 AI Agent 运行的整个过程中,如何组织和管理所有可用的上下文信息,以最大化模型的性能和可靠性。

具体来说,上下文工程包括:

  • 系统指令的设计和优化
  • 工具定义和 MCP(Model Context Protocol)配置
  • 外部数据的检索和整合
  • 消息历史的管理和压缩
  • 注意力预算的分配和优化

上下文为什么如此重要

注意力预算的稀缺性

尽管现代大型语言模型的上下文窗口越来越大,但模型的注意力预算(attention budget)仍然是有限的资源。研究表明,随着上下文长度的增加,模型会出现”上下文衰退”(context rot)现象——即在大量信息中准确回忆特定信息的能力下降。

这种现象源于 Transformer 架构的固有特性:

  1. 二次方复杂度:每个 token 都需要 attending 到其他所有 token,导致 n² 的成对关系
  2. 注意力稀释:随着上下文增长,模型对特定信息的专注度降低
  3. 位置编码限制:长序列的位置编码插值会导致理解精度下降

实际影响

在我们的实际观察中,即使是表现最好的模型,当上下文超过一定阈值后,也会出现:

  • 关键信息遗漏
  • 推理链条断裂
  • 指令遵循能力下降
  • 工具使用错误增加

因此,优秀的上下文工程不是简单地堆砌更多信息,而是精心设计信息的组织和呈现方式。

上下文工程的核心策略

1. 系统提示词的精炼设计

系统提示词是 Agent 行为的基石。我们发现,优秀的系统提示词应该遵循以下原则:

找到合适的抽象层级

在实践中,我们观察到两种常见的失败模式:

过度具体化

  • 硬编码复杂的条件逻辑
  • 试图预见所有可能的边界情况
  • 创建脆弱且难以维护的指令结构

过度抽象化

  • 提供模糊的高层次指导
  • 缺乏具体的输出格式要求
  • 假设模型理解隐含的上下文

最佳实践:系统提示词应该处于”恰到好处”的层级——具体到足以指导行为,灵活到允许模型自主判断。

结构化组织

我们推荐将提示词组织成清晰的模块:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
## 背景信息
[任务的业务背景和目标]

## 核心指令
[主要任务描述和成功标准]

## 工具使用指南
[何时使用哪个工具的具体指导]

## 输出规范
[期望的输出格式和质量标准]

## 示例
[典型场景的正确处理示例]

2. 工具设计的上下文意识

工具是 Agent 与外部环境交互的桥梁。优秀的工具设计应该:

保持工具集的最小化

一个常见的反模式是提供过多功能重叠的工具。这会导致:

  • Agent 在选择工具时犹豫不决
  • 工具之间的边界模糊
  • 维护复杂度指数级增长

建议:如果一个人类工程师无法明确判断在特定场景下应该使用哪个工具,那么 Agent 也会面临同样的困境。

设计 token 效率高的工具返回

工具返回的信息应该:

  • 简洁但完整
  • 结构化便于解析
  • 避免冗余重复
  • 包含必要的元数据

3. 运行时上下文检索策略

随着 Agent 系统的发展,我们观察到一个重要的范式转变:从”预先加载所有上下文”转向”按需检索上下文”。

预加载 vs 即时检索

预加载策略

  • 优点:响应速度快,减少工具调用开销
  • 缺点:占用大量上下文窗口,可能包含无关信息
  • 适用场景:静态、变化少的知识库

即时检索策略

  • 优点:上下文精简,动态适应任务需求
  • 缺点:增加工具调用延迟,需要更复杂的导航逻辑
  • 适用场景:大规模、动态变化的数据环境

混合策略

在实际应用中,我们推荐混合策略:

  1. 预加载关键的、高价值的静态上下文
  2. 为动态数据提供轻量级的引用(如文件路径、URL、查询标识符)
  3. Agent 在运行时根据任务需求动态加载详细内容

Claude Code 就是混合策略的成功案例:

  • 预先加载 CLAUDE.md 配置文件
  • 提供 glob、grep 等工具供运行时探索
  • Agent 可以根据需要逐步发现和组织上下文

4. 长时任务的上下文管理

对于跨越数十分钟到数小时的复杂任务(如大型代码库迁移、综合研究项目),需要特殊的技术来突破上下文窗口的限制。

上下文压缩(Compaction)

压缩技术的核心思想是:当对话接近上下文窗口限制时,对已有内容进行摘要和提炼,然后启动新的上下文窗口。

Claude Code 的实现

  • 当上下文达到阈值时,触发压缩流程
  • 使用模型自身来生成压缩摘要
  • 保留关键信息:架构决策、未解决的 bug、实现细节
  • 丢弃冗余内容:重复的工具输出、中间消息
  • 保留最近访问的 N 个文件供继续参考

压缩的艺术

  • 过度激进的压缩会丢失微妙但关键的信息
  • 建议在复杂 Agent 执行轨迹上仔细调优压缩提示词
  • 先最大化召回率,再迭代提高精确度

轻量级压缩技巧

  • 清除工具调用结果:一旦工具成功执行,原始结果通常不再需要
  • 合并相似的系统消息
  • 移除重复的用户确认

结构化笔记(Structured Note-Taking)

结构化笔记技术允许 Agent 在上下文窗口之外维护持久化记忆:

实现方式

  • Agent 定期写入 NOTES.md 等文件
  • 记录待办事项、进度状态、关键发现
  • 在需要时读取笔记恢复上下文

实际案例

  • Claude Code 的待办列表功能
  • 研究 Agent 的实验记录
  • 游戏 Agent 的状态追踪(如 Pokémon 游戏的步数统计、等级进度)

优势

  • 最小化上下文开销
  • 支持跨会话的连续性
  • 允许 Agent 自主组织知识

子 Agent 架构

子 Agent 架构通过任务分解来绕过上下文限制:

1
2
3
4
5
主 Agent (协调者)
├── 子 Agent A (前端开发)
├── 子 Agent B (后端开发)
├── 子 Agent C (测试验证)
└── 子 Agent D (文档编写)

工作流程

  1. 主 Agent 维护高层次计划和整体状态
  2. 将具体子任务委派给专门的子 Agent
  3. 每个子 Agent 在干净的上下文中深入工作
  4. 子 Agent 返回精简摘要(通常 1000-2000 token)
  5. 主 Agent 整合结果并更新整体状态

优势

  • 每个子 Agent 有独立的注意力预算
  • 专业化分工提高质量
  • 主 Agent 保持清晰的总体视图

实践建议

从简单开始

对于刚开始构建 Agent 的团队,我们建议:

  1. 先实现最简单的上下文管理方案
  2. 在最强可用的模型上测试表现
  3. 根据实际失败模式逐步增加复杂度
  4. 避免过早优化

持续监控和迭代

上下文工程不是一次性的设计工作,而是需要持续优化的过程:

  • 监控注意力使用情况
  • 分析 Agent 错误与上下文的关系
  • 收集团队成员的反馈
  • 定期审查和更新工具集

面向未来设计

随着模型能力的持续提升,我们预期:

  • 上下文窗口会继续扩大
  • 模型对长上下文的处理会更高效
  • 但上下文工程的核心原则仍然适用
  • 自动化程度会越来越高

总结

上下文工程代表了 AI Agent 开发的新前沿。它超越了传统的提示工程,提供了一个更全面的框架来理解和优化 AI 系统的行为。

核心要点:

  • 上下文是有限且宝贵的资源,需要精心管理
  • 优秀的上下文工程追求”最小但充分”的信息集
  • 运行时检索和长时记忆技术是突破限制的关键
  • 简单有效的原则胜过复杂脆弱的方案

随着 AI 技术的快速发展,我们相信”做最简单但有效的事”仍然是构建 Agent 系统的最佳建议。


本文翻译自 Anthropic Engineering Blog,原文标题为”Effective context engineering for AI agents”。


关于 Anthropic

Anthropic 是一家专注于 AI 安全和研究的公司,致力于构建可靠、可解释、可导向的 AI 系统。

相关链接

本文内容翻译自 Anthropic Engineering Blog 官方博客。

© 2026 Generative AI Discovery All Rights Reserved.
Theme by hiero