Featured image of post Prompt Engineering 已死?Context Engineering 才是未来

Prompt Engineering 已死?Context Engineering 才是未来

随着上下文窗口变大,提示词工程的重要性下降,上下文管理(Context Engineering)变得更重要。关键在于如何构建高质量的Context。

“你的 Prompt 写得好不好?” 这句话在 2023 年可能是 AI 圈的问候语。但在 2026 年的今天,如果你还在纠结于"深呼吸"、“一步步思考"这些咒语,那你可能已经掉队了。

随着 Claude 3.5/3.7 等模型的发布,以及 200k+ 甚至无限上下文窗口的普及,Prompt Engineering(提示词工程)正在迅速消亡,取而代之的是 Context Engineering(上下文工程)。

为什么 Prompt 不再是瓶颈?

回想一下,我们为什么要费尽心机写 Prompt?

  1. 模型不够聪明:需要通过特定的指令格式(CoT, Few-Shot)来引导它推理。
  2. 上下文太短:只能塞进 4k token,必须精简每一个字,甚至牺牲可读性。

现在情况变了。模型已经足够聪明,能够理解自然语言的复杂指令。更重要的是,上下文窗口的爆炸式增长,让我们不再需要"惜字如金”。

但大窗口带来了新问题:“大海捞针”(Needle In A Haystack)

当你把整个代码库、几十篇文档全部丢给 AI 时,它变笨了。它开始幻觉,开始遗忘,开始抓不住重点。这不是模型的问题,是信息信噪比的问题。

与其绞尽脑汁优化那 50 个字的 Prompt,不如花时间优化那 200,000 个字的 Context。这就是 Context Engineering

什么是 Context Engineering?

简单来说,Context Engineering 就是如何高质量地“喂”数据给 AI。它不再关注“怎么问”,而是关注“基于什么信息回答”。

一个优秀的 Context Engineer 会关注以下三点:

1. 筛选(Curation):少即是多

不要把整个项目 src 目录丢给 AI。

  • 错误做法cat src/**/* | llm "帮我修复 bug"
  • 正确做法:利用 grep/rag 找到相关的 3 个文件,提取出核心逻辑,再丢给 AI。

噪音是智能的杀手。无关代码不仅浪费 Token,还会干扰模型的注意力机制。在海量信息中,**相关性检索(Retrieval)**成为了比推理更重要的能力。我们需要像搜索引擎一样思考:在 AI 开始回答之前,它需要先看到哪几行代码?

2. 结构化(Structuring):XML Tags 是神

Anthropic 的系统提示词中充满了 <document>, <instruction>, <example> 这样的 XML 标签。为什么? 因为大模型对结构化数据的理解能力远超纯文本。 通过 XML 标签明确区分“参考资料”、“用户指令”、“历史对话”,能显著降低模型的混淆率。

Context Engineering Structure

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
<context>
  <file path="utils.py">
    ...代码...
  </file>
  <error_log>
    ...错误信息...
  </error_log>
</context>
<instruction>
  基于上述 Context 分析错误原因。
</instruction>

不仅是 XML,JSON、Markdown 表格、Mermaid 流程图,任何具有强结构的格式,都能帮助模型建立信息的拓扑关系。结构化不仅是给模型看的,更是为了让 Context 可维护、可调试。

3. 动态更新(Dynamic State)

Context 不是静态的。在多轮对话中,Context 应该像操作系统的内存管理一样,有进有出。 过时的信息(比如已经修复的 bug)应该被移出,新的决策应该被加入。

一个典型的 Session 应该包含三个区域:

  • 只读区 (Read-Only):核心文档、系统设定。
  • 工作区 (Working Memory):当前正在编辑的文件、最新的报错信息。
  • 归档区 (Archive):已经完成的任务摘要。

优秀的 Agent 会自动将“工作区”的内容压缩摘要后移入“归档区”,始终保持“工作区”的清爽和高相关性。

案例分析:Claude Code 的上下文管理

作为 Context Engineering 的集大成者,Claude Code (CLI) 给我们展示了教科书般的实践。

Claude Code Workflow

当你使用 Claude Code 时,你并没有手动管理 Context,但它却能记住很多东西。它是怎么做的?

  1. Compact History(压缩历史):它不会把所有的 ls 输出和文件内容都一直保留。它会定期总结之前的操作,把 verbose 的输出压缩成简短的摘要。这就像是人脑的长短期记忆机制,只保留关键节点,遗忘琐碎细节。
  2. 按需读取(On-demand Reading):它不会一开始就读取所有文件。它会使用 ls 探索,使用 grep 搜索,最后只 read 真正需要的文件。这是一种**主动式(Active)**的信息获取策略,而非被动接收。

用户如何辅助 Claude Code? 很多用户喜欢一上来就说:“Read all files in src”。这是典型的 Prompt 思维(怕 AI 没看到)。 在 Context Engineering 思维下,你应该说:“Investigate how authentication works, start by exploring the auth middleware.” 让 Agent 自己去构建它需要的 Context,往往比你一股脑塞给它要好得多。

此外,显式地清除上下文也是一种高级技巧。当你完成了一个复杂的任务,准备开始下一个毫不相关的任务时,使用 /clear/compact 命令,就像是在两节课之间擦黑板,能显著减少后续任务的幻觉。

总结

未来的 AI 交互,核心能力不再是“写诗般的指令”,而是**“信息架构师”**的能力。

你需要知道 AI 在解决这个问题时需要什么信息,不需要什么信息,以及如何以最清晰的结构呈现给它。

Prompt is cheap. Context is expensive. 这里的 expensive 不仅指 Token 费用,更指构建高质量 Context 所需的认知成本。

下次觉得 AI 变笨的时候,别急着改 Prompt,检查一下你的 Context。

RSS Feed 使用 Hugo 构建
主题 StackJimmy 设计