编程 上下文工程的兴起:为什么它是 AI 工程师最重要的技能

2026-09-06 14:11:02

上下文工程的兴起:为什么它是 AI 工程师最重要的技能

LangChain 创始人 Harrison Chase 发表文章《The rise of "context engineering"》,提出上下文工程(context engineering)正在成为 AI 工程师最重要的技能。文章将上下文工程定义为:构建动态系统,以正确的格式提供正确的信息和工具,使 LLM 能够合理地完成任务。大多数时候,当 Agent 表现不可靠时,根本原因是没有向模型传达适当的上下文、指令和工具。

什么是上下文工程

Harrison Chase 给出的定义建立在 Tobi Lutke、Ankur Goyal 和 Walden Yan 等人近期观点的基础上:

上下文工程是构建动态系统,以正确的格式提供正确的信息和工具,使 LLM 能够合理地完成任务。

让我们拆解这个定义:

1. 它是一个系统

复杂 Agent 的上下文可能来自多个来源:应用开发者、用户、之前的交互、工具调用、其他外部数据。将这些整合在一起涉及一个复杂的系统。

2. 它是动态的

许多上下文是动态传入的。因此,构建最终提示词的逻辑也需要是动态的——它不仅仅是一个静态提示词。

3. 你需要正确的信息

Agent 系统表现不佳的一个常见原因是它们根本没有正确的信息。这可能是因为:

  • 检索系统没有返回相关文档
  • 工具没有暴露必要的功能
  • 历史上下文没有正确传递
  • 系统提示词没有包含关键指令

4. 你需要正确的格式

即使有了正确的信息,如果格式不对,LLM 也可能无法有效使用。这包括:

  • 信息的组织方式
  • 指令的清晰程度
  • 工具描述的准确性
  • 输出格式的规范

为什么上下文工程变得重要

LLM 应用的演进

LLM 应用正在从单一提示词演进到更复杂、动态的 Agent 系统:

  • 第一代:静态提示词 + 单次 LLM 调用
  • 第二代:提示词模板 + 检索增强生成(RAG)
  • 第三代:多步骤 Agent + 工具调用 + 动态上下文

随着应用变得更复杂,上下文工程的重要性也在增加。

模型能力 vs 上下文质量

Harrison Chase 指出,大多数时候 Agent 表现不可靠,不是因为模型能力不足,而是因为上下文没有正确传达。这意味着:

  • 更好的模型不一定能解决上下文问题
  • 改进上下文通常比换模型更有效
  • 上下文工程是可以学习和系统化的技能
  • 上下文质量是 Agent 性能的主要瓶颈

上下文工程的核心组件

1. 系统提示词

系统提示词定义了 Agent 的角色、目标、约束和行为准则。好的系统提示词应该:

  • 清晰定义 Agent 的角色和能力边界
  • 明确任务目标和成功标准
  • 列出必须遵守的约束和规则
  • 提供输出格式的规范
  • 包含处理异常情况的指导

2. 检索系统

检索系统负责从外部数据源获取相关信息。关键设计决策包括:

  • 选择合适的检索方法(关键词、语义、混合)
  • 设计文档分块策略
  • 优化检索结果的排序和过滤
  • 处理多轮对话中的上下文检索
  • 管理检索结果的时效性

3. 工具定义

工具是 Agent 与外部世界交互的接口。好的工具定义应该:

  • 清晰描述工具的功能和用途
  • 准确定义输入参数的类型和含义
  • 说明工具的局限性和边界情况
  • 提供使用示例
  • 处理工具调用失败的情况

4. 对话历史管理

对话历史是多轮对话中上下文的重要组成部分。关键问题包括:

  • 保留多少历史记录
  • 如何压缩和摘要历史
  • 如何处理长对话中的上下文窗口限制
  • 如何区分重要信息和噪声
  • 如何管理用户隐私和敏感信息

5. 动态上下文构建

最终的提示词是动态构建的,整合了所有上下文来源。这需要:

  • 优先级排序:哪些上下文最重要
  • 上下文窗口管理:在有限的窗口内容纳最多信息
  • 条件逻辑:根据情况包含或排除某些上下文
  • 格式标准化:确保所有上下文格式一致
  • 错误处理:处理上下文来源不可用的情况

上下文工程的最佳实践

1. 从简单开始,逐步复杂化

不要一开始就设计最复杂的上下文系统。从简单的静态提示词开始,验证基本功能,然后逐步添加检索、工具、动态上下文等组件。

2. 测量和迭代

上下文工程是一个迭代过程。你需要:

  • 定义衡量 Agent 性能的指标
  • 收集失败案例和边缘情况
  • 分析失败的根本原因
  • 针对性地改进上下文
  • 验证改进效果

3. 使用可观测性工具

LangSmith 等可观测性工具对上下文工程至关重要:

  • 查看最终发送给 LLM 的完整提示词
  • 追踪上下文的来源和构建过程
  • 识别哪些上下文对输出影响最大
  • 比较不同上下文配置的效果
  • 调试上下文相关的失败

4. 建立上下文测试套件

像测试代码一样测试上下文:

  • 定义代表性的测试用例
  • 自动化运行测试并评估结果
  • 在更改上下文时进行回归测试
  • 建立性能基准和目标
  • 持续监控生产环境中的性能

5. 文档化上下文设计决策

上下文设计决策应该被文档化:

  • 为什么选择这种检索策略
  • 为什么包含这些工具
  • 为什么这样组织提示词
  • 已知的局限性和边缘情况
  • 未来的改进方向

上下文工程 vs 提示词工程

维度提示词工程上下文工程
范围单一提示词整个上下文系统
动态性主要是静态的高度动态的
组件提示词文本提示词、检索、工具、历史、动态构建
复杂度较低较高
适用场景简单 LLM 应用复杂 Agent 系统
技能要求文案和沟通能力系统设计和工程能力

提示词工程是上下文工程的一个子集。随着 LLM 应用变得更复杂,上下文工程正在取代提示词工程成为核心技能。

总结

上下文工程是 AI 工程领域正在兴起的核心技能。它不仅仅是写好提示词,而是构建完整的动态系统,确保 LLM 在正确的时间获得正确的信息和工具。Harrison Chase 指出,大多数 Agent 性能问题的根本原因不是模型能力不足,而是上下文没有正确传达。随着 LLM 应用从单一提示词演进到复杂 Agent 系统,上下文工程将成为 AI 工程师最重要的技能。掌握上下文工程需要系统设计能力、迭代优化方法和可观测性工具的支持。

来源:https://www.langchain.com/blog/the-rise-of-context-engineering

推荐文章

程序员茄子在线接单