promptgarten 🌱
🌍 DE
概念●●●5 分钟 · +40 XP

Agent 的 Context 策略

Context 策略是有意识地决定,一个 agent 在其有限的 context window 中应该看到什么——不应该看到什么。

根本问题

Context window 是有限的,内容越多并不自动等于越好。太多无关的材料会稀释真正重要的信息——就像一张堆满杂物的桌子,反而找不到那一张真正重要的纸。Context 策略就是有意识地决定,什么内容可以进入 context window。

常见策略

  • Just-in-time retrieval(即时检索):agent 不预先把所有可能用到的材料都加载进上下文,而是有针对性地只获取当下需要的内容——例如通过 RAG,或者精确引用具体文件而不是整个文件夹。
  • 压缩(compaction):在一个很长的 session 中,当 context window 快用满时,较早的对话内容会被自动概括总结,而不是直接完全删除。
  • Subagent 架构:繁重的中间步骤(例如一次很长的调研)在 subagent 的上下文中运行;主上下文只接收最终结果。
  • 外部记忆:笔记或中间结果被写入文件,而不是保留在 context window 中——agent 需要时再有针对性地重新读取。

为什么这很重要

Anthropic 的工程团队明确将 context 管理描述为一门独立的学科("context engineering"):关键不在于尽可能多地提供知识,而在于在正确的时间提供正确的、相关的知识——保持较高的信噪比。

示例

与其预先把整个代码库都加载进一个 coding agent 的上下文,不如让它按需通过搜索有针对性地找到相关文件,只读取这些文件——其余内容则留在 context window 之外,直到真正需要时才被加载。

小测验

为什么"尽可能多地加载 context"不是一个好的 context 策略?

来源

相关主题

Context Window(上下文窗口) ●○○模式:喂上下文,而不是含糊地问 ●○○什么是 subagent? ●●○RAG(检索增强生成) ●●○