外观
第2章 Context 工程
约 2479 字大约 8 分钟
2026-06-24
这一章来聊聊 2025 年中突然爆火的 Context 工程。它到底是什么、为什么 Shopify CEO 和 Karpathy 都在为它站台、跟 Prompt 工程到底什么区别。
2.1 Context 工程是怎么冒出来的
时间线先给你理清楚。
2025 年 6 月 18 日,Shopify 的 CEO Tobi Lütke 给全公司发了一封内部信。信的核心观点是:
别再死磕 Prompt 了。AI 工程师真正该做的是 Context 工程——确保任务在交给模型之前,已经被提供了所有让它"合理可解"所需的信息。
他的原话是:
"Context engineering is the discipline of providing all the context needed for the task to be plausibly solvable by the model."
注意这个措辞:plausibly solvable——"合理可解"。不是"完美解决",是"至少让模型有机会做对"。
2025 年 6 月底,Andrej Karpathy(OpenAI 创始团队成员、AI 教育领域顶流)转发了相关讨论,并给出了自己的定义:
"Context engineering is the delicate art and science of filling the context window with just the right information for the next step."
——"填充上下文窗口的艺术和科学,为的是让模型在下一步有恰到好处的信息。"
2025 年 9 月,Anthropic(Claude 背后的公司)正式在自己的文档里给了 Context 工程一席之地,把它和 Prompt 工程并列。
从"CEO 内部信"到"行业标准",只用了三个月。这就是 AI 领域的速度。
2.2 Context 工程到底是什么
先把定义讲清楚,再用大白话翻译。
Context 工程 = 在 AI 开始处理任务之前,主动地、系统地,把所有它需要的信息塞进它的"上下文窗口"。
什么叫"上下文窗口"?
大语言模型有一个限制:它每次只能"看见"一定长度的文字。这个长度就是上下文窗口(Context Window)。
比如 Claude 的上下文窗口是 200K token,大约 15 万字。听起来很多,但你想想——如果是一整个代码仓库、一整本书、一整年的对话记录,15 万字根本不够装。
Context 工程要解决的就是这个问题:在有限的窗口里,塞进最有价值的信息。
大白话类比
这一章最核心的类比,请你记住:
| 干嘛的 | 大白话 | |
|---|---|---|
| Prompt | 你怎么跟 AI 说话 | 相亲时"怎么开口" |
| Context | 你给 AI 准备什么资料 | 相亲前先把你的资料、对方的资料、共同朋友的评价,统统整理好,装进一个文件夹带过去 |
再说一个更直白的:
Prompt 是"怎么说话"。Context 是"见面前先给 AI 准备好所有资料"。
你想想,你去面试。你说得再好听(Prompt 好),如果你对这家公司一无所知(Context 空),面试官一问就露馅。
反过来,你嘴笨一点(Prompt 一般),但你把公司官网、产品文档、行业报告全读过了(Context 充分),你照样能聊得有模有样。
Context 工程比 Prompt 工程更重要的原因就在这里。
2.3 Context 都包括什么
这是一个很重要的实操问题。Context 不是单一的东西,它至少包含四类信息。
1. 对话历史(Conversational Context)
你和 AI 之前聊过什么。这是最基础的 Context。
你想想,你跟 AI 聊到一半,突然新开一个对话——之前的上下文全没了。AI 又变成"一张白纸"。
这就是为什么 Claude Code 会把整个项目的对话历史保留下来,让你可以随时回溯。
2. 检索文档(Retrieved Documents)
这就是 RAG(Retrieval-Augmented Generation)的核心。
你有 1000 份文档,AI 不可能全部读一遍。怎么办?用一个检索系统,根据当前任务,找到最相关的 5 份文档,塞进上下文窗口。
类比: 你写论文的时候,不会把图书馆所有的书都读一遍。你会先查索引,找到跟你主题最相关的几本书,摆在桌上,写的时候随时翻。
3. 工具输出(Tool Outputs)
AI 调用了某个工具——比如查了一下数据库、抓了一个网页、运行了一段代码——这个工具返回的结果,也是 Context 的一部分。
而且这部分 Context 是动态的。AI 上一秒查到的数据,下一秒可能就变了。
4. 动态知识(Dynamic Knowledge)
世界在变。AI 的训练数据有截止日期。如果今天发生的事 AI 不知道,你就得在 Context 里告诉它。
比如你让 AI 写一篇关于"最新 iPhone"的评测,你得把最新的参数、价格、用户评价塞进 Context,否则它写出来的可能是去年的型号。
2.4 Context vs Prompt:到底什么区别
这是被问得最多的一个问题。我给你一张表,看完就明白了。
| 对比项 | Prompt 工程 | Context 工程 |
|---|---|---|
| 核心关注 | 你怎么"说" | 你给 AI 什么"资料" |
| 时间点 | AI 处理任务的当下 | AI 处理任务之前 |
| 关心的事 | 语气、结构、步骤 | 信息完整性、相关性、时效性 |
| 大白话 | "怎么跟 AI 说话" | "见面前把资料备齐" |
| 类比 | 演讲技巧 | 资料准备 |
| 谁在做 | 通常是终端用户 | 通常是系统/工具的设计者 |
| 出错了的表现 | AI 理解偏了 | AI 不知道你在说什么 |
看完这张表你就明白了:Prompt 工程和 Context 工程不是二选一,而是叠加。 你既要会"说",也要会"备"。
但 2025 年的大佬们之所以开始强调 Context,是因为——大多数人卡住,不是因为不会说,而是因为 AI 手上没有足够的信息。
2.5 实操:怎么给 AI 准备好的 Context
好了,理论够了。聊点实在的。
实操一:用好 CLAUDE.md / .cursorrules 这类"项目记忆文件"
如果你用 Claude Code,它有一个机制:你可以在项目根目录放一个 CLAUDE.md,Claude 每次启动都会自动读这个文件。
这个文件就是你最强大的 Context 注入工具。
# 一个好的 CLAUDE.md 长什么样
## 项目概况
- 这是一个 VuePress 2 博客
- 用 pnpm 做包管理
- 主题是 vuepress-theme-plume
## 代码风格
- 用 TypeScript
- 缩进用 2 空格
- 注释用中文
## 常用命令
- pnpm docs:dev —— 启动开发服务器
- pnpm docs:build —— 构建静态站
## 注意事项
- 不要修改 .vuepress/config.ts 里的 navbar 配置
- 所有文章放在 docs/notes/ 下你看,这一个文件就能让 Claude 每次都"知道"你的项目是什么、该怎么操作。不用你每次重新解释。
实操二:用好 MCP 连接外部数据源
第 5 章会详细讲 MCP,这里先提一句:MCP 让 AI 能直接查数据库、调 API、读网页。这些"工具的输出"会自动成为 Context 的一部分。
实操三:把长文档先做摘要,再喂给 AI
你有一份 100 页的报告,塞不进 Context 怎么办?
答案是:先让 AI 读一遍,生成一份 2 页的摘要。然后把摘要作为 Context,去回答具体问题。
这就是 RAG 的基本逻辑——不是把整本书塞给 AI,而是找到最相关的章节,只塞那几页。
实操四:动态知识用搜索工具补充
让 AI 先搜一下最新的信息,再回答。这也是 Context 工程的一部分——确保 AI 用的不是过期的知识。
# 一个简化的 Context 工程流程
def build_context(user_question):
context = {}
# 1. 对话历史
context["history"] = get_conversation_history()
# 2. 检索相关文档
context["documents"] = rag_search(user_question, top_k=5)
# 3. 调用工具获取动态数据
context["tool_output"] = search_web(user_question)
# 4. 项目记忆
context["project_memory"] = read_file("CLAUDE.md")
# 把所有 Context 组装好,再交给 AI
return assemble_prompt(user_question, context)你看,Context 工程不是一句话,而是一整套流程。
2.6 Context 工程的天花板
Context 工程很强大,但它也有自己的天花板。
天花板一:窗口再大也是有限的
Claude 的 200K token 听起来很大,但一个大型代码仓库可能上百万行代码。你怎么塞?
RAG 能解决一部分问题,但 RAG 本身有检索准确率的问题——你检索出来的文档,不一定是最相关的。
天花板二:信息太多,AI 会"走神"
研究表明,上下文太长,AI 的注意力会分散。你塞进去 10 万字,AI 可能只认真看了前 1 万字,后面就"佛系"了。
这就像你给实习生一摞 1000 页的资料,他大概率只认真看了前 100 页。
天花板三:Context 工程只解决了"信息"问题
AI 有了信息,但它还缺一样东西:动手能力。
你给了它所有资料,它告诉你"你应该这样做"。然后呢?还是得你自己动手。
这就是下一章要聊的——Harness 工程。不光给 AI 信息,还要给它一个能干活的环境。
2.7 我的看法
Context 工程是 2025 年最被低估的概念之一。
很多人还在纠结"怎么把 Prompt 写得更好",却没意识到——他们跟 AI 之间的问题,根本不是"怎么说",而是"AI 手上没东西"。
我自己从 2025 年中开始,就把精力从"打磨 Prompt"转移到了"建设 Context"。效果立竿见影。
如果你只能从这一章带走一句话,那就是:
在抱怨"AI 不够聪明"之前,先问问自己——你给它准备好它需要的资料了吗?
下一章来聊聊怎么给 AI 搭一个能干活的环境:第 3 章 Harness 工程
