Effective context engineering for AI agents
这是一篇 Anthropic 于 2025-09-29 发布的工程文章。它的核心判断是:随着 agent 进入多轮、长时、强工具使用的工作流,prompt engineering 已不足以描述真实工程问题,开发重点正在转向更宽的 Context engineering。
- 文章把
context engineering定义为:在每次推理时,持续策划并维护“哪些 token 进入模型上下文”,而不只是写好 system prompt。 - 它明确把
prompt engineering视为较窄的子问题;当系统里出现工具、Model Context Protocol (MCP)、外部数据、消息历史和运行时检索后,真正要优化的是整个上下文状态。 - 文章把 context 当成有限且会衰减的资源。随着 token 变多,模型会出现
context rot,注意力预算也会被不断稀释,因此“更多上下文”不自动意味着“更好表现”。 - 它给出的总原则很清楚:找出“最小的高信号 token 集合”,让模型最有可能产出目标行为。
- system prompt 的设计重点不是越长越细,而是处在合适的
altitude。过度硬编码会脆,过度抽象又会缺乏行为锚点。 - 工具设计在这篇里被当成上下文设计问题的一部分:工具应该清晰、低重叠、token 高效,否则 agent 会在选择、误用和长回合维护中浪费上下文预算。
- few-shot examples 仍然重要,但文章反对把大量 edge cases 当规则清单塞进 prompt;更好的做法是用少量 canonical examples 提供稳定信号。
- 文章更偏好 agentic retrieval 而不是一次性预取全部信息。让 agent 在运行时按需探索,通常比预先塞满索引、长摘要和静态上下文更稳。
- 同时它也承认存在混合策略:像 Claude Code 这样,先把
CLAUDE.md一类稳定项目指令放入上下文,再通过glob、grep等工具做 just-in-time 检索。 - 对长时任务,文章重点列出三类 context engineering 技术:compaction、structured note-taking / agentic memory、以及 sub-agent architectures。
- compaction 的重点不只是“缩短历史”,而是高保真地保留架构决策、未解问题和关键实现细节,同时清掉冗余工具输出。
- structured note-taking 则把重要状态写到上下文外部记忆里,让 agent 能跨多轮、多次重置后继续推进复杂任务。
- sub-agent 架构在这里的价值不是单纯并行,而是把大体量探索隔离在独立 context window 里,再向主 agent 返回压缩后的结果。
- 文章最后的工程建议仍然非常克制:随着模型更强,系统会逐步需要更少人类预先编排,但短期内最稳的原则仍是 “do the simplest thing that works”。
ℹ️ Conflict:
- 这篇强烈主张“最小高信号上下文”,但最小集合并不存在通用答案;任务目标、风险容忍度和可验证性不同,都会改变最佳边界。
- 它偏向 just-in-time retrieval 和渐进式探索,但在高时效、高结构化场景里,前置加载部分稳定信息仍可能更高效,因此预取与运行时探索通常是一条连续谱。
- 更大的 context window 会缓解一部分约束,但文章明确认为它不会消除 context pollution、信息相关性和注意力稀释问题,因此“等更大窗口”并不是长期解法。
- Context engineering
- Context hygiene for agents
- Meta-harness
- Multi-context window workflows
- Agent scaffold
- Model Context Protocol (MCP)
- How we built our multi-agent research system
- Best Practices for Claude Code
- Effective harnesses for long-running agents
- Anthropic
- Agentic engineering
- Anthropic, “Effective context engineering for AI agents”, 2025-09-29.
- 原文摘录:[llm-wiki/raw/anthropic/Effective context engineering for AI agents](/raw/anthropic/Effective context engineering for AI agents.md)