从提示工程到上下文工程:2025年AI Agent的全新思维模式

说实话,这两年AI发展得太快了,感觉每天都有新概念蹦出来。还记得去年大家都在热议"提示工程"吗?现在Anthropic提出了一个更重要的概念——上下文工程(Context Engineering)。

这事儿挺有意思的,让我跟大家分享一下我最近的学习心得。

什么?AI也有"注意力预算"?

Calibrating_the_system_prompt.png

我们先来理解一下为什么突然需要关注"上下文工程"。

Anthropic的研究发现了一个很有趣的现象:上下文衰减(Context Rot)。简单来说,就是当给AI的信息越来越多时,它的"记忆力"会变得越来越差。

这就像我们人类一样,如果一次性给你太多信息,你也会开始混乱,忘记重要的内容。AI也有一个"注意力预算",每个新的token都会消耗这个预算,所以我们必须精打细算地使用。

从提示工程到上下文工程

提示工程vs上下文工程的对比图表.png

我觉得这个转变特别重要。提示工程关注的是如何写好一个提示词,而上下文工程关注的是整个信息生态系统的设计。

让我用一个简单的比喻来解释:

  • 提示工程就像是给你一份详细的指令手册
  • 上下文工程则是为你打造一个完整的工作环境,包括工具、资料、历史记录等

根据我找到的资料,上下文工程包括:

  • 系统指令和行为规则
  • 对话历史
  • 用户偏好
  • 实时API数据
  • 文档和知识库
  • 工具定义
  • 格式指导

这确实比单纯的提示工程复杂得多,但也更接近AI Agent的实际工作方式。

如何设计有效的上下文

Anthropic在文章中提到了几个关键原则,我觉得特别实用:

1. 系统提示要恰到好处

这就像是在给AI设置"工作状态",既不能太复杂(容易出错),也不能太简单(缺乏指导)。

建议把系统提示分成不同的部分:

  • 角色定义
  • 任务描述
  • 工具指导
  • 输出格式

2. 工具设计要精简高效

工具就像是AI的"手脚",设计得好不好直接影响效果。

我发现一个很常见的问题:很多团队会提供太多功能重叠的工具,反而让AI不知道该用哪个。如果人类工程师都不能明确说清楚在什么情况下用哪个工具,那么AI Agent也不可能会做得更好。

3. 示例要精心挑选

给AI看示例就像给它"教科书",关键是质量而不是数量。与其堆砌大量边缘案例,不如精心挑选几个典型的例子。

动态上下文检索:让AI自主探索

AI_Agent自主探索信息的过程图.png

这个概念我觉得特别酷。传统的做法是把所有可能需要的信息都预先加载到上下文中,但这样会占用宝贵的"注意力预算"。

新的思路是让AI Agent像人类一样,只在需要时才去查找信息。比如:

  • 保留轻量级的标识符(文件路径、存储查询、网页链接等)
  • 在运行时动态加载数据
  • 利用文件系统层次结构、命名规范等元数据来理解信息

Anthropic的Claude Code就是用这种方式处理大型数据库的。模型可以编写针对性的查询,存储结果,然后使用head和tail等命令来分析大量数据,而不需要将完整的数据对象加载到上下文中。

长时间任务的上下文管理

对于需要长时间运行的任务(比如代码库迁移、综合研究项目),上下文窗口的限制就成了大问题。Anthropic提出了几种解决方案:

1. 压缩(Compaction)

当上下文窗口快满时,对对话内容进行总结和压缩,然后用这个摘要重新开始新的上下文窗口。

这就像是我们读完一本书后,会做一个读书笔记,然后带着这些笔记继续学习下一本书。

2. 结构化笔记(Structured Note-taking)

让AI Agent定期写笔记,这些笔记保存在上下文窗口之外,需要时再调用回来。

这个技术让我想起了Claude玩宝可梦的例子。Agent会精确跟踪数千个游戏步骤中的各种数据,比如"在路线1训练了1234步,皮卡丘获得了8级,距离目标10级还差2级"。它还会绘制探索区域的地图,记住解锁的关键成就。

3. 多Agent架构

与其让一个Agent试图维护整个项目的状态,不如使用专门的子Agent来处理特定的任务。主Agent负责高层规划,子Agent负责深度技术工作。

这种方法在复杂研究任务中显示出明显优势,每个子Agent都可以深入探索,但只返回精炼的摘要。

这对我们意味着什么?

AI_Agent未来发展趋势图.png

看到这些发展趋势,我觉得既兴奋又有点压力。一方面,AI的能力越来越强,另一方面,我们也需要不断学习新的思维方式。

上下文工程不仅仅是技术问题,更是一种思维方式的转变。我们需要从"如何告诉AI做什么"转向"如何为AI创造一个能自主工作的环境"。

实用建议

根据Anthropic的经验和我的理解,给大家几点建议:

  1. 从小处开始:先用最简单的模型测试基本功能,然后逐步增加复杂性

  2. 关注信号质量:不要堆砌信息,要找到那些真正能帮助AI做出正确决策的关键信息

  3. 让AI自主探索:给AI合适的工具,让它能够根据需要自主获取信息

  4. 考虑长期任务:如果Agent需要长时间工作,要设计合适的记忆和上下文管理策略

  5. 保持简单:"做最简单有效的事情"仍然是最好的建议

总结

上下文工程代表了AI开发方式的根本转变。随着模型变得越来越强大,挑战不再是如何编写完美的提示词,而是如何在每个步骤中精心策划进入模型有限注意力预算的信息。

说实话,这个领域还在快速发展,但我觉得这种"思维方式的转变"是最重要的。我们需要学会像 architect 一样思考,而不是像操作员一样思考。

AI Agent的未来不在于我们给它们多少指令,而在于我们为它们创造了什么样的工作环境。