面向 AI agents 的有效 context engineering
原文:Effective context engineering for AI agents
导读
prompt engineering 关心怎样指令模型;context engineering 关心模型在行动前看见什么。对 agent 来说,context 是任务目标、工具结果、历史决策、外部证据和开放问题组成的工作界面。
说明:本文按 Agent Learning 的中文阅读页格式,对原文结构与关键技术细节做逐节中文转述与解读;为避免整篇镜像转载,正文保留原文章节脉络、关键数字和术语,但不做逐字复刻。
核心观点
- context engineering 与 prompt engineering 不同,重点是信息供给、组织、检索和压缩。
- agent 能力受可见 context 的相关性、时效性、可信度和密度限制。
- 有效 context 应包含任务目标、约束、证据、工具状态、历史决策和未解决问题。
- context retrieval 与 agentic search 让模型按需补充证据,而不是依赖一次性输入。
- context 过少会让模型猜,过多会稀释注意力并浪费 token。
- 长时 agent 需要可恢复、可查询、可更新的 session 和 memory。
正文
Context engineering vs. prompt engineering
文章首先区分两个概念。prompt engineering 主要是写好指令;context engineering 则是决定哪些信息进入模型的工作窗口、以什么顺序出现、哪些信息被压缩或检索。
对 agent 而言,这个差异比普通聊天更重要。agent 会根据 context 调工具、改文件、发请求或做外部动作;错误 context 会直接变成错误行动。
因此,context engineering 是 agent harness 的核心职责,而不是 prompt 的附属品。
Why context engineering matters
模型并不是直接面对世界,而是面对系统提供的信息切片。这个切片如果缺证据、过期、冗长或混入不可信指令,模型能力就会被明显限制。
长任务中尤其如此。早期决策、失败尝试、用户约束、工具结果和当前计划会不断累积;如果它们只存在聊天历史里,context window 很快会被噪声淹没。
好的 context 策略让模型在每一轮看到足够完成下一步的信息,又不被历史细节拖住。
The anatomy of effective context
有效 context 通常包括六类信息:用户目标、硬约束、已验证事实、工具状态、开放问题和下一步计划。不同任务阶段需要不同权重。
证据的可信度也要显式处理。用户指令、内部文档、网页内容、工具返回、模型自己的 memory,并不拥有同等地位。agent 需要知道哪些是授权指令,哪些只是外部材料。
context 的顺序和密度也重要。高价值信息应靠近模型当前决策点;长日志应先被工具或检索系统压缩成可操作摘要。
Context retrieval and agentic search
检索不是一次性填充 prompt。agent 会在任务推进中产生新问题,并需要主动搜索、验证、更新假设。
agentic search 的关键,是把检索结果重新写回可用 context:哪些事实改变了计划、哪些来源可靠、哪些问题仍未解决。
这让 context engineering 与 eval 结合起来:团队需要评估 context 策略是否让正确证据在正确时刻出现。
Conclusion
文章最终把 context engineering 定位为构建 capable agents 的基础设施。模型越强,越需要高质量 context 来发挥能力。
这不是一次 prompt 优化,而是持续系统设计:memory、retrieval、compaction、session log、tool result formatting 和 trust boundary 都是同一问题的不同侧面。
如果说 prompt 是模型的任务说明,context 就是它理解世界的窗口。窗口设计不好,模型再强也会看错。
深度解读
context engineering 的关键洞见是:agent 失败常常不是因为它不会推理,而是因为它看见的信息不对。相比继续调一句 system prompt,更高杠杆的工作往往是重构信息流:哪些事实持久化、哪些结果压缩、哪些证据可重新检索、哪些外部文本不能当作指令。未来 agent 产品的护城河,很可能来自 context pipeline,而不是单一模型调用。
落地启示
- 把目标、约束、证据、工具状态和开放问题分层管理。
- 为 tool result 设计高信号摘要,避免把长日志直接塞进 context。
- 区分用户授权指令与外部不可信内容,降低 prompt injection 风险。
- 用 session log 和 memory 支持长任务恢复,而不是只依赖当前窗口。
- 把 context 策略纳入 eval,测证据召回、错误恢复和 token 成本。