返回
AI 智能体的上下文工程:实用指南(2026)
June 13, 2026
13 分钟阅读
分享这篇文章

AI 智能体的上下文工程:实用指南(2026)

什么是上下文工程、它与提示词工程(prompt engineering)有何不同、四大核心技术、主流框架的对比、如何衡量其效果,以及如何在多智能体系统中应用。

An AI agent 的表现只取决于它决定下一步行动那一刻上下文窗口中的信息——而如何筛选这些信息正是整个游戏的关键所在。如果说 prompt engineering 是写出一条好的指令,那么 context engineering 就是管理模型所处的整个信息环境:系统指令、工具、检索到的文档、记忆,以及任务运行中的历史记录。 随着 agent 承担越来越长、多步骤的工作,这已成为决定它们成功还是悄然崩溃的最大杠杆。本指南将介绍什么是 context engineering、它与 prompt engineering 有何不同、核心技术有哪些,以及如何在真实的 agent 系统中应用它。

为什么 Context Engineering 很重要

Context engineering 之所以重要,是因为大语言模型拥有有限的上下文窗口,而你如何填充这个窗口决定了 agent 每一次决策的质量。模型的表现只取决于摆在它面前的信息——给得太少它会产生幻觉;给得太多或给错类型,它的准确性就会下降。

这并非纸上谈兵的担忧。研究人员已经记录了一种"迷失在中间"效应,模型能可靠地使用长上下文开头和结尾的信息,却容易忽略埋藏在中间的事实。从业者们还描述了一个相关问题,他们称之为"上下文腐化"(context rot):随着对话或 agent 运行时间变长,不相关的 token 不断累积,信噪比下降,模型开始做出更差的选择。窗口本身并没有变小——只是变得杂乱了。

这种术语上的转变反映了实践中的真实转变。2025 年,AI 领域的领军人物——包括 Andrej Karpathy 和 Shopify 的 Tobi Lütke——都认为"context engineering"比"prompt engineering"更能准确描述那些真正在构建严肃 LLM 应用的人们实际在做的事情。Anthropic 发布了关于 agent 有效 context engineering 的指南;像 Manus 这样的 agent 产品团队也详细撰文,分享他们在生产环境中管理上下文所汲取的经验教训。业界共识是:对于 agentic 系统而言,context 就是产品本身。

什么是 Context Engineering?

Context engineering 是一门学科,专注于在推理时为模型组装恰到好处的一组 token,使模型恰好拥有采取下一个正确行动所需的信息——不多也不少。这里的"context"包含窗口内的一切:

  • 系统指令 —— agent 的角色、约束条件和行为规则
  • 工具及其定义 —— agent 可以采取哪些行动,以及这些行动是如何被描述的
  • 检索到的知识 —— 为完成这项任务而拉取的文档、搜索结果或数据库记录
  • 记忆 —— 从本次会话早期或之前会话中延续下来的事实
  • 对话与行动历史 —— 已经说过和做过的事情的运行记录
  • 当前用户请求 —— 眼下的目标

Context engineering 就是关于这些位置分别应该填入什么内容、以何种形式、在什么时机填入的一系列决策。它把上下文窗口视为一种稀缺的、需要精心管理的资源,而不是一个可以不断往里塞文本的容器。

展示 AI agent 上下文窗口的示意图,系统指令、工具、检索到的知识、记忆、对话历史和用户请求在争夺有限的注意力预算 上下文窗口是一种有限的注意力预算——context engineering 决定每个位置由什么填充。

Context Engineering 与 Prompt Engineering 的区别

Context engineering 与 prompt engineering 的区别在于范围:prompt engineering 优化单条指令,而 context engineering 管理跨越多步骤任务的整个动态信息环境。Prompt engineering 是 context engineering 的一个子集。

Prompt engineeringContext engineering
范围单条 prompt / 指令随时间演变的整个上下文窗口
状态大多无状态、一次性有状态,随多个步骤演变
关注点措辞、示例、格式包含什么、检索什么、记住什么、丢弃什么
典型用途单次补全或单轮对话自主 agent、长时间运行的任务
它能防止的失败指令模糊或被误读上下文腐化、注意力分散、状态矛盾

Prompt engineering 依然重要——一条措辞精良的系统 prompt 本身就是良好 context engineering 的一部分。但一旦 agent 运行数十个步骤、调用工具、积累历史记录,任何单条 prompt 的措辞就不再是瓶颈了。真正重要的是管理其周围一切的那套纪律。

四项核心技术

大部分 context engineering 的工作都可以归结为对上下文窗口的四种操作。一个便于记忆的方式是:写入(write)、选取(select)、压缩(compress)、隔离(isolate)。

Context engineering 的四项核心技术:写入(在窗口之外持久化上下文)、选取(只检索当前相关的内容)、压缩(在保留信号的同时减少 token)、隔离(为子任务提供各自干净的窗口) 写入、选取、压缩、隔离——每一个 context engineering 决策背后的四种操作。

1. 写入 —— 在窗口之外持久化上下文

并非所有 agent 需要的信息都应该存在于 prompt 里。写入上下文意味着把信息存储在外部——草稿本、文件、记忆存储、任务列表——这样它就能超越单个窗口而存续,并在需要时被有意识地调取。一个把计划写入文件并重新读取的长时间运行 agent,比单纯依赖对话历史的 agent 更能保持任务方向。

2. 选取 —— 只引入当下相关的内容

选取上下文是一门艺术,在于在恰当的时刻检索出正确的信息:特定的文档、相关的过往决策、当前这一步所需的那一个工具定义。这正是检索增强生成(RAG)、语义搜索和智能工具选择发挥作用的地方。目标是精准——只拉取三个相关事实,而不是三百个相邻但无关的事实。

3. 压缩 —— 在保留信号的同时减少 token

压缩上下文意味着通过摘要或裁剪,让窗口承载意义而非冗余体量。常见做法包括对已完成的子任务进行摘要、截断冗长的工具输出,以及用精简的回顾替代冗长的历史记录。压缩正是让 agent 能够处理超出其原始上下文窗口容量的任务的关键。

4. 隔离 —— 跨 agent 或边界拆分上下文

隔离上下文意味着为问题的不同部分提供各自干净的窗口——例如,派生一个子 agent,只给它完成某个子任务所需的上下文,然后只返回结果。隔离能防止工作的一部分污染另一部分,是构建可靠多 agent 系统的基础。

各大主流框架如何对应

一个常见的困惑来源是:每个主要团队都用自己的一套词汇来描述相同的底层操作。Anthropic、LangChain 和像 Neo4j 这样的图数据库厂商,对 context engineering 的描述各不相同——但它们都能清晰地对应到上述四种操作。下表将它们进行了统一对照:

操作(本指南)Anthropic 的表述LangChain 的表述知识图谱 / GraphRAG 的表述
写入(在窗口之外持久化)结构化笔记记录、agent 记忆(NOTES.md、待办清单)Store 和 State;通过 Command 写入的工具长期记忆;图本身作为持久化存储
选取(检索当下相关的内容)即时(just-in-time)上下文、agentic 搜索、混合检索动态工具/消息选择;用于读取的工具混合 RAG、GraphRAG、"最小可行上下文"
压缩(减少 token,保留信号)压缩(Compaction);明智地使用"注意力预算"通过中间件实现的生命周期摘要Token/成本预算管理;"上下文金字塔"
隔离(分离出干净的窗口)返回精炼摘要的子 agent 架构生命周期边界与子 agent交接与协议(例如 MCP

如果你读过这些资料,觉得它们的说法互相矛盾,原因就在这里:它们只是从不同角度描述同样的四个动作。选用适合你的技术栈的词汇即可——真正重要的是这些操作本身。

多 Agent 系统中的 Context Engineering

在多 agent 系统中,context engineering 变成了一个协调问题:每个 agent 都需要足够的上下文来完成自己的工作,但共享过多会带来噪音、成本和相互矛盾的状态。主流模式是由一个编排者(orchestrator)持有高层计划,并将范围狭窄的子任务分派给专门的子 agent,每个子 agent 都在一个隔离的窗口中运行。

多 agent 系统示意图,其中编排者将狭窄的子任务分派给研究 agent、编码 agent 和写作 agent——每个都在自己独立隔离的上下文窗口中工作,并只返回精炼后的结果 每个子 agent 都获得一个干净、隔离的窗口,并只返回精炼后的结果——从而防止交叉污染。

这之所以有效,正是因为上述"隔离"原则。一个只看得到研究问题及自身发现的研究子 agent,其表现会优于那个还要费力梳理兄弟 agent 无关编码任务历史的 agent。编排者随后会将每个子 agent 的输出压缩为核心结果,再将其纳入主上下文中。做得好的话,这正是团队能够让 agent 处理那些原本会数倍溢出任何单一上下文窗口的任务的方式。

常见的 Context Engineering 失败模式

大多数 agent 的失败都可以追溯到少数几种反复出现的上下文问题。把它们命名出来,会更便于针对性设计:

失败模式表现形式主要解决方法
上下文投毒(Context poisoning)一个幻觉或错误进入上下文后被一再引用,使错误不断累积隔离 + 只写入已验证的事实
上下文分心(Context distraction)窗口变得过大,模型过度关注累积的历史,不再对真正的目标进行推理压缩
上下文混乱(Context confusion)不相关的信息挤满窗口,误导模型做出错误选择精准地选取
上下文冲突(Context clash)新检索到的信息与窗口中已有的信息相矛盾,模型无法调和两者选取 + 写入单一可信来源

四项核心技术正是应对这些问题的解药:通过写入来卸载信息,通过选取来保持相关性,通过压缩来削减杂乱,通过隔离来防止交叉污染。

有一种失败模式是主流指南很少涉及的,那就是一个安全问题:通过检索到的上下文进行的 prompt 注入。 当 agent 拉取一个网页、一份文档或一个工具结果时,这些内容可能包含旨在劫持 agent 的指令。应将所有被选取进窗口的内容都视为不可信输入——将检索到的数据与系统指令分开保存,并在沙盒中而非直接在可信机器上执行工具调用。

如何衡量 Context Engineering 是否奏效

衡量 context engineering 的方法,是将任务成功率与达成结果所耗费的 token 和时间对照来看——好的 context engineering 会在保持或降低成本的同时提高成功率。大多数指南只描述技术,却从不说明如何判断这些技术是否真的有效;以下这些指标正好填补了这一空白。

  • 任务成功率 —— 达成正确、完整结果的运行比例。这是结果性指标;其他一切都只是达成它的手段。应针对一组固定的代表性任务集合来跟踪该指标,以便在每次改动前后进行对比。
  • 上下文效率(每次成功任务消耗的 token 数) —— 消耗的总 token 数除以成功完成的任务数。每次成功所消耗的 token 数持续下降,是压缩和选取正在发挥作用的最清晰信号。
  • 窗口利用率 —— 任务执行期间上下文窗口的填充程度。持续接近上限预示着上下文腐化,是需要进行压缩或隔离的先行指标。
  • 检索精确率与召回率 —— 在被选入窗口的内容中,有多少确实是相关的(精确率);在所有可用的相关内容中,你拉取进来了多少(召回率)。精确率低意味着你在增加噪音;召回率低意味着你在让模型"挨饿"。
  • 每个任务的延迟与成本 —— 实际的上限。激进的"即时"探索式检索可以提升准确性,但会拖慢 agent 的速度;这个指标确保这种权衡是诚实可见的。

将这些指标串联起来的纪律是回归测试:保留一套固定的任务集合,在每次修改 prompt、检索方式或记忆机制后运行它,并观察这些数字的变化。没有评估闭环的 context engineering 只是在瞎猜。

Happycapy 如何应用 Context Engineering

Happycapy 是一台 agent-native 的计算机,直接在你的浏览器中运行 AI agent——包括 Claude Code——而 context engineering 被内建于这些 agent 的运作方式之中,而非留给用户自行处理。三个设计选择完成了大部分的工作:

  • 将 Skills 作为范围受限的上下文。 Happycapy 不是把所有能力一股脑塞进一个 prompt,而是让 agent 调用某个特定的 skill——设计一份演示文稿、分析一张电子表格、进行网络研究——这样只有该任务所需的相关指令和工具会进入窗口。这正是"选取"和"隔离"原则的默认应用。
  • 带记忆与文件的持久化沙盒。 每个 agent 都在一个隔离的工作空间中工作,可以把计划、中间结果和笔记写入磁盘,并在之后重新调取——这正是"写入"原则,让进度得以超越单个上下文窗口而存续。
  • 可访问 150 多种模型。 不同步骤有不同的上下文需求;将工作路由到合适的模型本身就是一个 context engineering 决策。

实际效果是,你可以交办一项长期、多步骤的任务,让 agent 在后台自行管理其上下文,然后接收最终结果——无需手动调优 prompt,也无需时刻盯着窗口。

Context Engineering 入门指南

你不需要重建整个技术栈就能开始。从这些收益最高的习惯做起:

  1. 把上下文窗口当作预算来对待。 在添加任何内容之前,先问它是否值得占用这些 token。
  2. 把状态移出 prompt。 使用文件、草稿本或记忆存储来保存 agent 需要保留的一切。
  3. 精准检索。 只拉取某一步骤所需的具体事实,而不是整份文档。
  4. 随时进行摘要。 用简洁的回顾取代冗长的历史记录和啰嗦的工具输出。
  5. 隔离子任务。 为每个独立的工作提供各自干净的上下文,在多 agent 场景中尤其如此。

如果你不想手动调优这一切,Happycapy 运行你的任务时已经内建了这些模式:它会在后台自行管理上下文窗口——随时进行选取、压缩和隔离——所以你只需描述期望的结果,完全不用亲自处理 token 预算。

常见问题

问:Context engineering 和 prompt engineering 是一回事吗?

不是。Prompt engineering 优化单条指令;context engineering 管理 agent 在多步骤任务中所看到的整个信息环境——指令、工具、检索到的数据、记忆和历史记录。Prompt engineering 是 context engineering 的一部分。

问:为什么 context engineering 对 AI agent 尤其重要?

因为 agent 要运行许多步骤、调用工具、积累历史记录,它们的上下文窗口很快就会被填满。如果没有主动管理,不相关的 token 就会挤占信号,导致 agent 的决策质量下降——这个问题被称为上下文腐化。Context engineering 让窗口始终聚焦于真正重要的内容。

问:Context engineering 的主要技术有哪些?

四项核心技术是:写入(在窗口之外持久化上下文)、选取(只检索当下相关的内容)、压缩(通过摘要节省 token)、隔离(为子任务提供各自干净的上下文)。大多数实际工作都是这些技术的某种组合。

问:2026 年 context engineering 是否值得学习?

值得。随着越来越多的软件建立在 LLM 和自主 agent 之上,善于管理上下文的能力正在成为开发者、prompt 设计师和 AI 产品团队的核心竞争力——而且它越来越成为决定一个 agent 能否真正work的关键差异。

问:如何衡量 context engineering 是否奏效?

针对一组评估任务集合跟踪任务成功率,再加上效率指标:每次成功任务消耗的 token 数、上下文窗口利用率、检索的精确率与召回率,以及每个任务的延迟/成本。好的 context engineering 会在保持或降低成本的同时提高成功率。每次改动后都运行这套测试集,以便判断这次调整是有帮助还是有损害。

问:使用 AI agent 是否需要我自己动手做 context engineering?

不一定。像 Happycapy 这样的 agent 平台已经将上下文管理内建于系统之中——通过 skills 界定上下文范围、在沙盒中持久化状态、隔离子任务——因此你可以运行多步骤工作而无需手动调优上下文窗口。

相关指南

发布于 June 13, 2026
更多文章