![配图待生成]
一句话总结
Context Engineering = 在正确的时间,把正确的信息,以正确的格式,放入上下文窗口。
如果Prompt Engineering是”怎么问问题”,那Context Engineering就是”给AI看什么材料”。
从一个真实故事说起
2025年中,特斯拉前AI总监Andrej Karpathy在社交媒体上说了一句话,震动了整个AI圈:
“Context Engineering比Prompt Engineering更准确地描述了我们在做的事情。对于AI Agent来说,99%的工作不是写prompt,而是精心组装上下文。”
这句话点破了一个事实:我们一直在做的”提示词工程”,其实只是冰山一角。
Prompt Engineering的局限
传统的Prompt Engineering关注的是:
- ✅ 怎么措辞更清晰
- ✅ 怎么组织指令更有效
- ✅ 怎么用Few-shot让AI理解你的意图
但它忽略了一个关键问题:AI能看到什么,决定了它能做什么。
想象一下,你让一个实习生帮你写报告:
- 你给他清晰的指令(Prompt Engineering)✅
- 但你没给他参考资料、历史数据、工具权限(Context缺失)❌
再好的指令,没有材料也写不出好报告。
什么是Context Engineering?
Context Engineering是一个更广的概念,它关注的是整个信息环境的构建:
`
Context Engineering
├── System Prompt(角色定义、行为约束)
├── RAG(检索增强生成 – 从外部知识库找信息)
├── 对话历史管理(压缩、摘要、滑动窗口)
├── 工具描述(告诉AI有哪些工具可用)
├── 记忆系统(短期/长期记忆的存取)
├── 元数据(时间、用户信息、环境变量)
└── 动态组装(根据任务实时调整上下文)
`
一句话定义: Context Engineering是系统性地设计、组装、优化和管理LLM在推理时接收到的全部上下文信息的工程实践。
四层架构:从Prompt到Loop
在AI应用开发中,有四个层次的技术,从简单到复杂:
`
┌─────────────────────────────────────┐
│ AI PRO·Loop 循环工程) │ ← 最外层:多轮迭代闭环
├─────────────────────────────────────┤
│ AI PRO·Harness 驾驭工程) │ ← 第三层:Agent编排控制
├─────────────────────────────────────┤
│ Context Engineering(上下文工程) │ ← 第二层:上下文组装
├─────────────────────────────────────┤
│ Prompt Engineering(提示词工程) │ ← 最底层:单次提示词设计
└─────────────────────────────────────┘
`
| 层次 | 核心问题 | 关注点 |
|---|
|——|———-|——–|
| Prompt Engineering | 怎么问? | 单次提示词的措辞、格式、指令 |
|---|---|---|
| Context Engineering | 喂什么? | 组装哪些信息给模型 |
| Harness Engineering | 怎么管? | Agent的工具调用、状态管理 |
| Loop Engineering | 怎么迭代? | 多轮反馈、自我修复、持续优化 |
一个具体例子
以”让AI帮你写一篇公众号文章”为例:
只用Prompt Engineering
`
请写一篇关于AI的公众号文章,风格要亲切专业。
`
→ AI只能凭空想象,写出来的内容可能和你的风格差很远。
用Context Engineering
`
System Prompt: 你是一位资深技术博主,公众号”攀岩者”的作者…
参考文章: [你过去写的10篇文章]
写作风格指南: [你的风格规范]
今日热点: [从搜索引擎获取的最新AI新闻]
配图要求: [图片风格和尺寸规范]
`
→ AI能看到你的历史文章、风格指南、最新素材,写出来的内容就像你自己写的。
区别在哪? 不是prompt写得更好,而是给AI看了更多正确的材料。
Context Engineering的核心原则
1. 精确性:只注入相关信息
- ❌ 把整个文档塞进去
- ✅ 只检索与当前任务相关的片段
2. 结构化:用清晰的格式组织
- ❌ 一大段自然语言描述
- ✅ 用JSON、XML、Markdown结构化
3. 动态性:根据任务实时调整
- ❌ 所有任务用同一个上下文模板
- ✅ 不同任务组装不同的上下文
4. 可管理:Token预算控制
- ❌ 无限塞信息,超出上下文窗口
- ✅ 为每个组件分配token预算,超限时压缩
5. 位置敏感:重要信息放对位置
- ❌ 重要信息藏在中间(容易被忽略)
- ✅ 重要信息放在开头或结尾
为什么现在才火?
三个原因:
1. 上下文窗口变大了
- GPT-3: 4K tokens
- GPT-4: 128K tokens
- Claude 3: 200K tokens
- Gemini 1.5: 1M tokens
窗口大了,能”喂”的信息多了,怎么组装这些信息就变得重要了。
2. Agent系统兴起
- 单轮对话 → 多轮Agent
- Agent需要动态组装工具描述、历史操作、检索结果
- Prompt Engineering不够用了
3. RAG技术成熟
- 检索增强生成成为标配
- 怎么检索、检索什么、怎么注入上下文,都是Context Engineering的范畴
实际应用场景
| 场景 | Context Engineering做什么 |
|---|
|——|————————–|
| AI编程助手 | 组装当前文件、项目结构、相关文件、git历史 |
|---|---|
| 客服Agent | 组装用户画像、历史工单、产品文档、对话历史 |
| 代码审查 | 组装PR diff、相关文件、编码规范、历史审查意见 |
| 研究助手 | 组装检索论文、用户笔记、引用链、搜索结果 |
| 公众号写作 | 组装历史文章、风格指南、热点新闻、配图要求 |
🚇 地铁深读:Karpathy的完整观点
Andrej Karpathy在2025年的讨论中,还提出了几个重要观点:
1. “Prompt”这个词太窄了
- Prompt只是用户输入的那句话
- 但LLM看到的远不止prompt:system prompt、工具描述、检索结果、记忆…
- 用”Context”更准确
2. Agent的大部分工作是上下文管理
- 一个好的Agent,99%的时间在做:决定检索什么、压缩什么、保留什么、丢弃什么
- 只有1%的时间在”写prompt”
3. 上下文窗口是一种稀缺资源
- 虽然窗口变大了,但信息增长更快
- 怎么在有限的窗口里放入最有价值的信息,是一门艺术
4. 未来的方向:自适应上下文
- AI自己决定需要看什么材料
- 而不是人类预先设定好上下文模板
- 这需要更强的”元认知”能力
今日小结
| 概念 | 定义 |
|---|
|——|——|
| Prompt Engineering | 怎么写好提示词 |
|---|---|
| Context Engineering | 怎么组装好整个上下文环境 |
| 核心区别 | Prompt是子集,Context是超集 |
| 关键原则 | 精确、结构化、动态、可管理、位置敏感 |
一句话记住: Prompt Engineering教你怎么问,Context Engineering教你怎么给AI看材料。
下期预告
AI PRO·Context Day 2 Context的五层架构:System Prompt / RAG / Tool / Memory / Metadata
我们将深入解析Context Engineering的五大组件,看看一个完整的上下文是如何组装出来的。
*攀岩者 | 技术总监 | 19年IT全栈实战*
*每天分享AI学习笔记,陪你从零基础到AI达人*
发表回复