note
上下文工程
上下文工程是设计和管理 LLM 所需 Context 的系统化方法:按 Context 特性分工组合(Skills/RAG/API/Memory/Agent 决策);Skill 的本质是预定义 Context 注入,13 种 Context 按任务生命周期 MECE 切分,再按流动性分为静态锚点与动态协议。Skill 能定义协议,不能定义运行时状态。
摘要
五个来源合成一篇,覆盖 2026-04 到 2026-05 的认知演进:
- 全景:Context Engineering 的实践分工地图。Skills 只管静态预定义部分,动态数据、海量知识、持久化记忆靠其他实践组合;
- 本质:Skill 就是预定义 Context 注入,13 种 Context 按生命周期 MECE 切分;
- 设计法:五要素闭环 + 稳定性四原则 + 高效性三技巧;
- 流动性:静态锚点与动态协议的正交框架,Skill 能定义协议,不能定义运行时状态。
一、全景:Context Engineering 的实践分工
**Context Engineering 是设计和管理 LLM 所需 Context 的系统化方法。**不同实践方式解决不同问题,各有边界,需要组合使用:
| Context 特性 | 实践方式 | 解决什么 |
|---|---|---|
| 静态(预定义) | Skills、System Prompts、Few-shot Examples | 不变的规则、流程、格式 |
| 动态(实时获取) | RAG、API 调用、文件读取 | 实时数据、用户私有数据、外部知识 |
| 大规模(海量/超大) | RAG(向量数据库)、Long Context + 分块 | 10 万+条知识库、超大单文件 |
| 持久化(跨 session) | Memory Systems | 用户偏好、历史记忆、个性化 |
| 动态调整(实时优化) | Conversation Design、Agent 自主决策 | 复杂交互、自适应、自主 Agent |
Skills 的边界
能做到:预定义的工作流程、行为约束、有限领域知识、工具调用方式、输出格式、验证方法。
做不到(及补位实践):实时数据 → API 调用;用户私有数据 → 文件读取;跨 session 持久化 → Memory Systems;海量知识 → RAG;根据反馈实时调整 → Conversation Design / Agent 决策;超大文件 → Long Context + 分块。
Skills 负责静态预定义的 Context,其余靠其他实践配合。例:智能客服 = Skills(流程/模板/边界)+ RAG(产品知识库)+ API(订单实时状态)+ Memory(用户历史)。
二、Skill 的本质:预定义 Context 注入
LLM 做不好某个任务,常见原因有两个:
- Context 不够,不知道该怎么做;
- Context 不对,有错误的行为倾向。
Skills 靠注入正确的 Context 应对这两类问题。
13 种 Context:按任务生命周期 MECE 切分
输入阶段(6 种):我是谁、做什么、我有什么
| Context | LLM 需要知道的 |
|---|---|
| 角色 | 我是谁、职责是什么 |
| 任务 | 要做什么、预期结果 |
| 工具 | 脚本、命令、API、调用方式 |
| 知识 | 规则、最佳实践、领域概念 |
| 数据 | 用户提供的具体信息、文件、参数 |
| 环境 | 依赖、前置条件、系统环境 |
处理阶段(5 种):怎么做、不能怎么做、为什么
| Context | LLM 需要知道的 |
|---|---|
| 流程 | 正常情况的操作步骤 |
| 分支 | 特殊场景、异常情况的处理 |
| 示例 | 完整的输入→输出参考 |
| 边界 | 禁止行为、必做行为、约束条件 |
| 原理 | 设计原则、底层逻辑、为什么 |
输出阶段(2 种):输出什么、怎么验证
| Context | LLM 需要知道的 |
|---|---|
| 格式 | 结构、样式、字段要求、模板 |
| 验证 | 验证方法、检查点、成功标准 |
设计 Skill:选择 Context 类型 + 组织内容
四步:诊断缺哪种 Context → 按三阶段选择类型 → 组织内容(单文件/多文件/渐进披露)→ 设计 Bundled Resources(scripts 对应工具 Context、references 对应知识 Context、assets 对应数据 Context)。
渐进披露:三层加载控制成本
Layer 1: Metadata(name + description) ~100 tokens,常驻,用于判断是否触发
Layer 2: SKILL.md body <5000 tokens,触发后加载,核心 Context
Layer 3: Bundled Resources 按需加载,详细知识/示例/工具
三、设计方法:五要素、稳定性、高效性
五要素定义骨架
何时触发 → 输入什么 → 怎么执行 → 输出什么 → 结果怎么处理
每种输出都要有明确的后续动作(Critical 立即修、Minor 记录、可以反驳但需技术理由),流程才有闭环。
稳定性四原则
| 原则 | 做法 | 原理 |
|---|---|---|
| 输入标准化 | 占位符系统({BASE_SHA} 等),标注含义、格式、必填/可选 |
防遗漏,强制填充 |
| 输出结构化 | 分类分级 + 标准格式(File:line + 问题 + 建议)+ 最终判定 + 理由 | 主 agent 可程序化处理 |
| 行为边界 | DO/DON’T 红黑名单 | 防止输出质量不稳定 |
| 检查清单 | 标准化 Review Checklist | 每次执行覆盖相同范围 |
高效性三技巧
- 上下文最小化:给 reviewer 精确构造的 context,不带会话历史。历史太长浪费 token、分散注意力,主 agent 还会自我辩护;
- 模板复用:给完整示例,模型会模仿格式,减少格式错误;
- 闭环设计:输入 → 执行 → 输出 → 处理 → 继续/停止,每种结果都有后续动作。
九步设计法与文件结构
九步:定义目标 → 五要素 → 占位符 → 输出结构 → 检查清单 → 行为边界 → 示例 → 闭环 → 触发条件。
三种文件范式:
| 范式 | 结构 | 适用 |
|---|---|---|
| 行为约束型 | 单文件 SKILL.md | 限制 agent 行为、简单规则注入 |
| 工作流驱动型 | SKILL.md + template.md | 调 subagent、多 agent 协作 |
| 知识库型 | SKILL.md(索引)+ AGENTS.md + rules/ | 领域知识注入、大量规则 |
四、流动性:静态锚点与动态协议
在 13 种分类(按生命周期)之上加一个正交维度:流动性。长周期运行的 Agent 的 Skill,主要看这一层。
Skill 文件的三层构成
Skill 文件(静态注入)
├── 1. 静态锚点层:不漂移的"操作系统"
│ 角色(我是谁)/ 知识(领域规则)/ 行为(DO/DON'T)
│ / 原理(自主决策的"宪法")/ 参照(标准输入→输出示例)
├── 2. 动态协议层:定义信息如何流动
│ 流入协议(从哪个源读数据、读什么格式、何时触发)
│ 处理协议(读→执行→判断→回流的路径、异常分支、周期绑定)
│ 回流协议(自验证不达标重写、写回共享库、触发下游)
└── 3. 运行时层:Skill 不定义,由 LLM 执行产生
每轮实际读到的数据/文件状态/自评分数/写入共享库的内容
能力边界:Skill 定义协议,不定义状态
| 层 | 谁定义 | 不定义什么 |
|---|---|---|
| 静态锚点 | Skill 设计者 | — |
| 动态协议 | Skill 设计者预设路径 | — |
| 运行时状态 | LLM 执行产生 | 实际数据、自评分数、写入内容 |
两个典型实现
- Quality Gates(自验证回流):输出初稿 → 按多维标准自评分 → 达阈值提交,不达标自动重写回流。Skill 定义的是评分标准和回流条件;Agent 自己打的分数、第几次重写才过,是运行时的,Skill 预设不了。
- 共享库写入(跨 Agent 回流):共享知识库是跨 Agent 的持久化环境 Context。Skill 不能定义库里的内容,但定义了“谁写、谁读、写什么字段、读什么字段”。
稳定性原则的流动性演进
原有四条原则各补一条:占位符的内容来源是流入协议的目标文件;输出结构也是回流协议的写入格式;行为边界是核心的静态锚点;检查清单需包含回流完整性检查。
新增三原则:
- 回流闭环:每种输出都要定义“写回到哪、谁读取、何时读取”,不能产生孤儿输出;
- 自验证嵌入:回流路径中嵌入 Quality Gates,减少人工介入频率;
- 周期绑定:触发可以是事件,也可以是周期(类似 cron),长周期 Agent 需要显式的时间锚点。
设计检查项的增补
在九步法之前加 Step 0:静态/动态分界线检查,哪些 Context 写一次管长期(静态锚点)?哪些需要定义读/判断/回流路径(动态协议)?动态协议的路径是否清晰可执行?之后加回流完整性检查(自验证兜底、写回内容谁读、读的时机)和跨周期连续性检查(上轮输出如何流入下一轮、共享库读写协议是否一致、长期运行会不会膨胀)。
关键要点
- Context Engineering 是系统化方法:静态/动态/大规模/持久化/动态调整五类实践分工组合,Skills 只负责静态预定义部分
- Skill 的本质是预定义 Context 注入,应对“Context 不够”和“Context 不对”两类问题
- 13 种 Context 按生命周期 MECE:输入 6(角色/任务/工具/知识/数据/环境)、处理 5(流程/分支/示例/边界/原理)、输出 2(格式/验证)
- 设计 Skill:诊断 → 选择 Context 类型 → 组织内容 → 设计 Bundled Resources;渐进披露三层控制成本
- 稳定高效的 skill:标准化输入 + 结构化输出 + 行为边界 + 检查清单 + 闭环处理 + 示例引导
- 流动性是正交第二维度:静态锚点保下限,动态协议定义信息流的读/判断/回流路径
- Skill 能定义协议,不能定义运行时状态:实际数据、自评分数、写入内容都由执行产生
- Quality Gates 是回流协议的典型实现;共享知识库是跨 Agent 的持久化环境 Context
来源
- Context Engineering 实践分工地图
- 13 种 Context 的 MECE 分类
- Skill 设计方法论:五要素、稳定性四原则、高效性三技巧、九步法
- 13 种 Context 的流动性重分类
- 静态锚点与动态协议框架、Quality Gates、共享库