跳转到内容

Context engineering

Context engineering 指围绕模型当前可见 token 状态所做的整体设计工作。它关注的不是单独一段 prompt,而是 system instructions、工具定义、消息历史、外部记忆、检索结果和运行时 artifact 这些信息,究竟该以什么组合进入模型上下文,才能最稳定地产生目标行为。

  • 这个概念可以看作 prompt engineering 在 agent 时代的扩展版,但重心已经从“怎么写一句好提示词”转向“如何持续策划整块上下文状态”。
  • 它默认把 context 当作稀缺资源,而不是免费缓存。上下文一旦过长,就会出现注意力稀释、context rot、错误检索和历史噪声累积等问题。
  • 因此它的首要原则不是“塞更多信息”,而是找到足够完成当前任务的最小高信号 token 集合。
  • system prompt 在这里仍然重要,但只是 context engineering 的一部分;同样重要的还有工具暴露方式、examples、消息保留策略、记忆读写和运行时检索。
  • 在工程实践里,这通常意味着要反复判断:哪些规则应常驻、哪些信息应按需检索、哪些历史应 compact、哪些状态应写出到上下文外部。
  • The Spec Layer》补了一个很重要的外部层:与其把所有意图都硬塞进一次性上下文,不如把高价值决策沉淀成可重读的 Spec-driven development artifact,让 agent 在多轮执行中持续对齐持久意图。
  • Introducing Contextual Retrieval》补了 retrieval 侧的一个更窄实现:即使主对话上下文不变,也可以在索引阶段先把文档语境写回 chunk,这本质上是在离线阶段预先做一层 retrieval-oriented context engineering。
  • 从这个角度看,Context hygiene for agents 更像 context engineering 在用户工作流层的子集,重点是会话内如何保持清洁、分层和节流。
  • Multi-context window workflows 则是它在长时任务里的另一种实现:当单个窗口不够时,把交接和恢复做成显式 artifact,而不是只依赖压缩历史。
  • Meta-harness 则代表系统层答案:把 session / harness / sandbox 分开,让上下文选择、恢复和外部记忆不必绑死在某一代具体 scaffold 上。
  • 它也和 Agent scaffold 直接相连,因为 scaffold 实际决定模型默认会看到哪些工具、哪些文件、哪些摘要和哪些历史。
  • 在多智能体系统里,context engineering 还包括如何把探索工作分发给子 agent,再把结果压缩回主 agent;这正是 How we built our multi-agent research system 展示的关键收益之一。
  • 好的 context engineering 通常不是一劳永逸的 prompt 技巧,而是持续根据失败轨迹、token 成本、任务类型和模型代际变化去修正上下文边界。

ℹ️ Conflict:

  • context engineering 并不等于“尽量短”。如果为了极端精简而丢掉决策边界、先验约束或最近状态,系统同样会退化。
  • 它也不等于“上下文管理功能越多越好”;过多记忆层、压缩层和检索层会把复杂度从 prompt 挪到 runtime。
  • 把更多决策外化为 spec 也不自动等于更好;如果 spec 本身过长、过时或维护成本过高,只是把上下文噪声从对话历史转移到了仓库文档。
  • 随着模型更强,部分人工编排会失去价值,但“哪些上下文真的该给模型看”这个问题不会自然消失,只会从静态 prompt 转向动态策划。
  • 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)
  • Anthropic, “Introducing Contextual Retrieval”, 2024-09-19.
  • 原文摘录:[llm-wiki/raw/anthropic/Introducing Contextual Retrieval](/raw/anthropic/Introducing Contextual Retrieval.md)
  • Matt Rickard, “The Spec Layer”, 2026-03-31.
  • 原文摘录:[llm-wiki/raw/02_AI编程/The Spec Layer](/raw/02_AI编程/The Spec Layer.md)