在AI领域,一个重要的概念转变正在发生:从"
rompt Engineering"转向"Context Engineering"。这不仅仅是术语的变化,更代表了我们对AI系统工作方式认知的深刻转变。
Shopify CEOTobi Lutke说:
"我更喜欢'Context Engineering'这个术语,而不是'
rompt Engineering'。它更好地描述了核心技能:为任务提供所有上下文,让LLM能够合理地解决问题的艺术。"
为什么需要这个转变?
Prompt Engineering的局限性
传统的"
rompt Engineering"让人联想到的是在聊天机器人中输入一些指令,这种理解过于简化了。虽然我们希望这个术语能够涵盖构建可靠提示词的内在复杂性,但现实是,大多数人对它的理解停留在表面。
Context Engineering的广度
Context Engineering则不同,它是一个更全面的概念。Andrej Karpathy认为:
"Context Engineering是一门精妙的艺术和科学,需要在上下文窗口中填充恰当的信息以完成下一步任务。"
什么是Context?
要理解Context Engineering,我们首先需要扩展对"上下文"的定义。它不仅仅是发送给LLM的单个提示词,而是模型在生成响应前看到的所有信息:
1. 指令/系统提示词
2. 用户提示词
3. 状态/历史(短期记忆)
4. 长期记忆
5. 检索信息(RAG)
6. 可用工具
- 如check_inventory、send_email等
7. 结构化输出
从"便宜演示"到"神奇产品"
Context Engineering的威力在于能够将简单的演示转变为真正有用的产品。看一个具体的例子:
场景:AI助手收到邮件
"嗨,看看你明天有空简单聊聊吗?"
"便宜演示"Agent的回应:
- 回应机械化:
"感谢您的消息。明天我有空。请问您想要什么时间?"
"神奇"Agent的回应:
生成的回应:
"嗨Jim!明天我这边排得很满,一整天都是会议。周四上午有空,可以吗?我发了个邀请,看看是否合适。"
关键在于:魔法不在于更聪明的模型或更巧妙的算法,而在于为正确的任务提供正确的上下文。
Context Engineering的定义
简单来说:
Context Engineering是设计和构建动态系统的学科,这些系统在正确的时间,以正确的格式,提供正确的信息和工具,给LLM完成任务所需的一切。
Context Engineering具有以下特征:
1. 系统性,而非字符串
2. 动态性
- 一个请求可能需要日历数据,另一个可能需要邮件或网络搜索
3. 正确的信息和工具,在正确的时间
4. 格式很重要
Agent的Context Engineering策略
对于长期运行的AI Agent,Context Engineering变得更加重要。Lance Martin将其分为四大策略:
1. 写入上下文 (Write Context)
将上下文保存在上下文窗口之外,以帮助Agent执行任务。
草稿本 (Scratchpads)
记忆 (Memories)
- 如ChatGPT、Cursor、Windsurf的记忆机制
2. 选择上下文 (Select Context)
将相关上下文拉入上下文窗口。
记忆选择
工具选择
3. 压缩上下文 (Compress Context)
只保留执行任务所需的token。
上下文摘要
上下文修剪
4. 隔离上下文 (Isolate Context)
将上下文分割以帮助Agent执行任务。
多Agent系统
环境隔离
实际应用中的挑战
Context Engineering在实际应用中面临多种挑战:
1. 上下文污染
2. 上下文分心
3. 上下文混乱
4. 上下文冲突
工具和实现
代码Agent的Context Engineering
代码Assistant面临的挑战特别复杂。Windsurf团队的经验是:
"索引代码 ≠ 上下文检索...我们进行索引和嵌入搜索...通过AST解析代码并在语义边界上分块...随着代码库规模增长,嵌入搜索作为检索启发式变得不可靠...我们必须依赖grep/文件搜索、基于知识图谱的检索等技术组合...以及重排序步骤。"
产品中的Context Engineering
目前主要产品都在探索Context Engineering:
- Claude Code: 使用CLAUDE.md存储指令
未来展望
Context Engineering正在成为AI应用开发的核心技能。Cognition公司认为:
"Context Engineering实际上是构建AI Agent的工程师的第一要务。"
随着AI Agent变得越来越复杂,处理数百轮对话,Context Engineering将变得更加重要。我们需要:
结论
从Prompt Engineering到Context Engineering的转变,标志着AI应用开发的成熟。这不仅仅是技术的进步,更是思维方式的转变。
构建强大可靠的AI Agent,关键不在于找到神奇的提示词或等待模型更新,而在于工程化地构建上下文,在正确的时间,以正确的格式,提供正确的信息和工具。
这是一个跨功能的挑战,需要理解业务用例、定义输出格式,并结构化所有必要信息,让LLM能够"完成任务"。
再见,Prompt Engineering;你好,Context Engineering。