AI 领域的新技能不是 Prompting,而是 Context Engineering

转载

Context Engineering 是一个在 AI 领域日益受到关注的新术语。人们的讨论正在从"prompt engineering"转向一个更广泛、更有力的概念:Context Engineering。Tobi Lutke 将其描述为"为任务提供使 LLM 有可能解决它所需的全部上下文的艺术",他是对的。

随着 Agent 的兴起,我们为其加载到"有限工作记忆"中的信息变得至关重要 。我们发现,一个 Agent 成败的关键,不再是模型本身,而是你给它的上下文质量。现在大多数 Agent 的失败,并非是模型失败,而是上下文失败。

什么是 Context?

要理解 Context Engineering,我们必须扩展"context"一词的定义。它不仅仅是你发给 LLM 的那条 prompt,而是模型在生成回应前所看到的全部内容

  • Instructions / System Prompt:定义模型行为的初始指令集,可以/应该包含示例、规则等。
  • User Prompt:来自用户的即时任务或提问。
  • State / History(短期记忆) :当前对话的历史,包括用户和模型之间迄今为止的所有交互。
  • Long-Term Memory:持久性知识库,跨多个对话积累,包括用户偏好、过去项目的摘要,或模型被告知要记住的信息。
  • Retrieved Information (RAG) :外部检索的实时信息,如文档、数据库或 API 中的相关内容。
  • Available Tools :模型可以调用的所有函数或内置工具定义(如 check_inventorysend_email)。
  • Structured Output:定义模型输出格式的规范,例如一个 JSON 对象。

为什么它重要:从廉价 Demo 到魔法般的产品

构建真正有效的 AI Agent 的秘密,与其说在于你写的代码复杂程度,不如说在于你提供的上下文质量

构建 Agent 不再是写代码或选框架的问题。廉价 Demo 和"魔法般" Agent 的区别在于,你给模型准备了多少有用的上下文。想象你让 AI 助手基于一封简单邮件安排会议:

Hey, just checking if you're around for a quick sync tomorrow.

"廉价 Demo" Agent 的上下文质量差。它只看到这条请求,别无其他。它的代码可能运行良好------调用了一个 LLM 并得到了回应------但输出却死板无用:

Thank you for your message. Tomorrow works for me. May I ask what time you had in mind?

"魔法般的" Agent 有丰富的上下文。代码的核心任务不再是决定怎么回复,而是收集 LLM 完成任务所需的信息。在调用 LLM 之前,它会扩展上下文,比如:

  • 你的日历信息(显示你明天全天排满)。
  • 与该联系人过往邮件(判断语气应该亲切随意)。
  • 通讯录信息(识别对方为关键合作伙伴)。
  • 可调用工具(如 send_invitesend_email)。

于是你可以生成:

Hey Jim! Tomorrow's packed on my end, back-to-back all day. Thursday AM free if that works for you? Sent an invite, lmk if it works.

魔法不在于更聪明的模型或更精巧的算法,而在于为特定任务准备了正确的上下文。这就是为什么 Context Engineering 变得重要。Agent 的失败不只是模型问题,而是上下文问题。


从 Prompt Engineering 到 Context Engineering

什么是 Context Engineering?如果说 Prompt Engineering 专注于用一条文本字符串精心编写指令,那么 Context Engineering 就远远超出了这个范畴。简而言之:

Context Engineering 是一门设计和构建动态系统的学问,该系统能够在正确的时间、以正确的格式,提供正确的信息和工具,使 LLM 能够完成任务。

Context Engineering 的关键特征:

  • 一个系统,而非一条字符串:Context 不是静态的 prompt 模板,而是在主 LLM 调用之前由系统动态生成的内容。
  • 动态生成:Context 是临时创建的,针对具体任务定制。例如有时是日历信息,有时是邮件,有时是网页搜索。
  • 关注正确的信息和工具是否在正确时间被提供:核心任务是避免"Garbage In, Garbage Out"。只在必要时提供有帮助的知识和能力。
  • 格式非常重要:呈现方式很关键。简洁摘要优于原始数据堆。清晰的工具调用 schema 优于模糊的文字说明。

总结

构建强大且可靠的 AI Agent,不再是寻找神奇 prompt 或等待模型更新 。它是关于如何对上下文进行工程设计 ,并在正确的时间、以正确的格式,提供正确的信息和工具。这是一项跨职能挑战,涉及理解你的业务场景、定义输出目标、并对所有必要信息进行结构化,使 LLM 能够"完成任务"。


推荐阅读

本文内容来自深入研究,并参考了以下优质资源:

相关推荐
yaocheng的ai分身2 小时前
Cursor 终端“卡死/无响应”问题的解法
ai编程·cursor
Pitayafruit3 小时前
Spring AI 进阶之路01:三步将 AI 整合进 Spring Boot
spring boot·后端·ai编程
yaocheng的ai分身3 小时前
AI Coding 方法论之 Compounding Engineering
ai编程
星际码仔4 小时前
模仿Kiro,超越Kiro:一图说明Augment Code的「任务列表」强在哪里
openai·ai编程·cursor
子昕8 小时前
试了Claude Code的Sub Agents,前后端同时干活,这感觉太爽了
ai编程·claude
程序员老刘8 小时前
为什么暂时不推荐Qwen3-Coder?
flutter·程序员·ai编程
coder_pig15 小时前
👦抠腚男孩的AI学习之旅 | 2、玩转Prompt提示词工程
aigc·ai编程
都叫我大帅哥17 小时前
幽默深度指南:LangChain中的RunnableParallel - 让AI任务像交响乐团般协同工作
python·langchain·ai编程
带电的小王1 天前
Windows中使用Qwen模型:VSCode+Cline
ide·vscode·ai编程·qwen