知识库/LLM 学习

上下文是有限资源

context engineering 的系统论述:attention budget、context rot、just-in-time 检索、长任务三技术(compaction/note-taking/sub-agents)

置信度·高创建 2026-07-03更新 2026-07-03依据 1 份原始资料

上下文是有限资源

原文:raw/sources/anthropic-context-engineering.md(Anthropicengineering blog《Effective Context Engineering for AI Agents》,2025-09-29)。

核心论点

  • 从 prompt engineering 到 context engineering:写好提示词只是子集;真正的问题是“什么样的上下文配置最可能产生期望行为”——管理系统指令、工具、MCP、外部数据、消息历史的整体状态
  • 上下文是有限资源:context rot——token 越多,模型从上下文准确召回的能力越低。LLM 有“attention budget”,每个新 token 都在消耗它(transformer 的 n² 成对注意力被拉薄)。退化是渐变坡度不是悬崖。
  • 指导原则:找到最小的高信号 token 集合,最大化期望结果的概率。minimal 不等于 short——要给足信息,但每个 token 都要挣到自己的位置。

关键机制

  • system prompt 的“正确高度”:介于“硬编码脆弱逻辑”和“空泛指导”之间——足够具体以引导行为,足够灵活以提供启发式。
  • 工具设计:token 高效、自包含、用途清晰无重叠。“如果人类工程师说不清该用哪个工具,agent 也不可能做得更好。”
  • just-in-time 检索:不预处理全部数据,而是维护轻量标识符(文件路径、链接),运行时按需加载——模仿人类认知(我们靠文件系统、收件箱、书签等外部索引按需取回,不背诵语料库)。文件夹层级、命名、时间戳都是信号。渐进式披露让 agent 逐层组装理解。Claude Code 是 hybrid 策略的实例:CLAUDE.md 前置进上下文,glob/grep 即时检索。
  • agent 的简洁定义:“LLMs autonomously using tools in a loop”。

长任务三技术

  1. Compaction:接近上限时总结重启,保架构决策/未解 bug/实现细节,弃冗余工具输出。艺术在于取舍——过度压缩会丢掉事后才显重要的细节。
  2. Structured note-taking(agentic memory):agent 定期把笔记持久化到上下文之外,稍后拉回。Claude 玩 Pokémon 的例子:跨数千步维护地图、成就、战斗策略,上下文重置后读自己的笔记继续多小时任务。
  3. Sub-agent architectures:子 agent 用干净上下文做深度探索(可能几万 token),只回传 1000-2000 token 的蒸馏摘要,主 agent 专注综合。

选择依据:compaction 适合长对话流、note-taking 适合有里程碑的迭代、multi-agent 适合并行探索的研究分析。

对本知识库的意义

本 wiki 可视作 structured note-taking 的一种制度化应用——详见 知识复利;index.md 先行的导航规则就是 just-in-time 检索与渐进式披露的应用。概念详页:context engineering