上下文工程指南

2025年7月15日 22:29:02

Context Engineering(上下文工程)并非只是给 LLM 写一段“更聪明的提示”,而是一整套系统性方法——从系统提示、用户输入、检索增强(RAG)、工具调用到短/长时记忆管理——用来决定“模型在推理之前究竟看见什么,以及如何看见”。文档通过一个多智能体深度研究工作流示范了具体做法,并强调:上下文选择、结构化、动态注入与持续评估,才是让 AI 应用走向可落地、可扩展、可维护的关键。

一、核心概念与定位

1.1 定义

  • Context Engineering:为 LLM 及多模态模型设计、优化其“上下文窗口”中的全部信息,以便完成目标任务,包括但不限于提示链、检索结果、工具规范、状态与记忆等元素。

  • 它将“Prompt Engineering”视为内部子集;前者关注窗口装载策略,后者只关注窗口内部语句

截屏2025-07-15 21.37.23

1.2 为何重要

  • 在代理式应用中,失败往往是“上下文失败”而非模型能力不足——给了模型错误或冗余信息,输出自然走偏。
  • 随着百万‑token 窗口普及,“放什么”比“怎么写一句话”更决定效果与成本。

![截屏2025-07-15 21.37.23](/Users/lima/Desktop/截屏2025-07-15 21.37.23.png)

二、案例拆解:多代理深度研究工作流

组件 设计要点 关键上下文
System Prompt 指定角色与任务边界 专家研究规划师,需生成两条子任务
Instructions 逐条列出必填字段、示例值及约束(如优先级1‑5) 防止模型自行猜测尺度
User Input <user_query>定界,避免歧义 谷歌文档
Structured I/O JSON Schema + 例子,保证后续节点可解析 谷歌文档
Tool Calling 动态插入当前日期等小工具;仅在需要时注入 谷歌文档
RAG & Memory 若同类查询已缓存,则直接检索向量库,节省调用 谷歌文档
State & History 在多轮修订时,将子任务历史、检索结果等作为短期状态注回窗口 谷歌文档

该流程在 n8n 中实现,利用其结构化输出解析器自动生成 Schema,降低左右节点解耦成本。

三、通用方法论框架

3.1 4 C 循环

  1. Curate:为任务挑选最相关、最新、可信的信息片段(可结合 RAG)。LangChain Blog
  2. Compress:摘要、裁剪或重写长文档,保持信噪比。Analytics Vidhya
  3. Control:用明确格式、顺序与标记(delimiters / JSON Schema)约束模型解析路径。Philschmid
  4. Continuous Evaluate:构建自动化 eval 管道,监控上下文稀释、漂移与成本。谷歌文档

3.2 评估指标

[Inference] 建议至少跟踪:

  • 回答准确率 / 引用命中率(对比可复现基准)
  • 上下文利用率(有效 token 比例)
  • 延迟与费用(token‑in / API 调用次数)

四、业界视角对比

  • Karpathy、Tobi Lütke 等人在 X 上倡议用“上下文工程”取代“提示工程”,强调“拥有你的上下文窗口”。PhilschmidX (formerly Twitter)
  • Dex Horthy 的 12‑Factor Agents 把“Context”列为第三原则,要求明确上下文边界、持续治理。GitHub
  • LangChain 社区的 Self‑Reflective RAG 流水线展示了“何时检索、何时自省再检索”的状态机设计,是动态上下文注入的实践案例。LangChain Blog
  • 行业博客(Philschmid、Simple.ai、Analytics Vidhya 等)都将结构化输出、记忆管理、工具原语列为核心组件,验证了文档所述方法的普适性。Philschmidsimple.ai by @dharmeshAnalytics Vidhya

五、我的洞察

  1. [Inference] 上下文生命周期管理将成为 LLM Ops 的重要新工种——类似“数据治理”在 ML 中的角色。
  2. [Inference] 可解释性视角:明确上下文来源与过滤规则,有助于审计模型决策链,降低合规风险。
  3. [Inference] 成本‑精度折衷:在百万‑token 时代,压缩算法(LoRA‑style adapter summaries、token‑drop heuristics)将接棒成为优化重点。
  4. [Inference] 未来工具化方向:我们会看到类“Context Diff / Patch”服务,像 git 管理代码一样管理上下文版本;也会出现“cold‑start context bootstrap”自动生成最小必需上下文。

六、延伸阅读与资源

资源 亮点
PromptingGuide 《Context Engineering Guide》 开源长文+示例,适合新手入门Prompting Guide
Philschmid 博客 详细拆分上下文组成与业务落地案例Philschmid
Mehul Gupta Medium 文 对比 Prompt vs Context Engineering 的误区Medium
Simple.ai 通讯 讨论大窗口背景下的上下文调度与成本simple.ai by @dharmesh
Analytics Vidhya 教程 组件清单 + 编写流程Analytics Vidhya
LangChain Self‑RAG 动态检索‑反馈闭环实践LangChain Blog
12‑Factor Agents 将上下文列为生产级代理的核心原则GitHub