让 AI 有更精确输出的脉络工程 (context engineering)
2025年10月4日
在《提示词工程 (Prompt Engineering) 基础》一文中,我们谈到要让 AI 模型的输出,更贴近使用者预期的品质,精心设计的提示词会很重要。然而,随着 AI 代理发展逐渐成熟,业界也发现仅有提示词,已经不足以应付 AI 代理的需求,随之出现的是脉络工程 (context engineering) 这个技术。
不过,脉络工程是什么呢? 要如何在提示词工程外,额外做好脉络工程? 我们会在这期主题文来探讨这些问题。
为什么提示词工程不够用?
在谈脉络工程之前,想先探讨「为什么提示词工程不够用?」,因为唯有了解前一代技术的侷限,我们才能更清楚新的提出的概念,有哪些额外的效益。
先前 Shopify 执行长 Tobi Lutke 曾发过一则推文,他提到自己特别喜欢用「脉络工程这个词来取代提示词工程」。因为脉络工程更好地描述了这件事的核心本质 — 为任务提供所有情境脉络,让大型语言模型能够合理地解决问题。
从上面这句话可以看到,脉络工程是提示词工程的延伸,在提示词不足之处,去补上对应的脉络,让 AI 代理能够更精确地完成被分派的任务。
不过,提示词工程究竟缺什么? 为什么仅有提示词不足够让 AI 代理能精确完成任务?
提示词这个词是在 2022 年底后,才逐渐进到大众的视野。当年 ChatGPT 刚推出,使用情境基本上是使用者与 AI 一问一答。在这个情境下,如果在问答的最开始,设置好提示词,将能够有效让 AI 的回答更贴近使用者预期的。
但是进到 2025 年的代理时代 (agent era),在与 AI 代理的互动,以及 AI 代理能协助完成的事,跟在 2022 年的聊天介面有很大的不同。因为这个过程是动态的,所以过去这种静态的提示词是相对来讲不足的。
举例来说,在 AI 代理执行任务时,如果要避免代理犯下同样的错,就需要准备记忆 (memory) 的元件,让代理实时查看记忆 (详见 E+ 的 《如何赋予 AI 代理记忆 (memory) 与脉络 (context) ? 该用 RAG 吗? 》主题文)。如果想要让代理能够对接到外部的系统,例如做网路搜寻然后使用搜寻到的结果,就会需要搭配工具 (详见 E+ 的《MCP》主题文)。
由于这些不同的操作,都超出最开始设置的提示词的范围,因此业界逐渐认为仅用提示词工程,无法精确涵盖这些事情。而因为这些操作背后在做的事情,都是要在 AI 代理把各类不同资讯放入最终的脉络窗口 (context window) 当中,因此被称为脉络工程。
什么是脉络工程?
在上面的段落提到,由于提示词本身不够用,所以为了更精确描述,业界出现了脉络工程这个词。这不是指提示词不重要,而是在讲「仅透过提示词,会有限制」;因此,在脉络工程中,提示词仍然是很重要的元素之一,只是要搭配其他的元素,让整体的输出品质更好。
下面列出这些,是在一个脉络窗口当中会有的元素 (备注:随着技术发展,未来可能会有调整)
- 意图:使用者希望达成的目标、试图解决的问题,以及预期的成果
- 提示工程:指示 AI 代理要如何进行操作的指令,让 AI 可以依照想要的风格与形式来执行任务
- 工具:让 AI 代理能够对接到外部资讯,来确保执行时是基于最新的、正确的资讯
- 记忆:存下过去任务执行过程,建立摘要让接下来的行为,不会偏离先前的操作
脉络工程之所以会有「工程」两个字,是因为在建构上述的脉络窗口时,不是随意随性就能完成,而是需要透过设计、实作、测试、优化的流程,才能获得最佳的效果。而这边提到的「设计、实作、测试、优化」也正是工程在做的事情,因此业界也把用这种流程来建构脉络窗口的过程,称为脉络工程。
进一步说,脉络工程比起提示词工程,还有一个重要的元素,那就是在建构脉络窗口的过程,会是动态的。对比起提示词是在最开始设置,后面基本上不会变动,脉络窗口是由 AI 代理逐步建构出的。以多数读者熟悉的 Cursor 或 Claude Code 这类给工程师的 AI 代理工具来说,在使用者请 AI 代理进行操作 (例如修改某段程式码时),AI 代理会先分析这个请求的意图,然后会先进行代理搜寻 (agentic search)。
假如请 Cursor 帮忙修改 ExplainThis 首页的风格。在执行任务前 Cursor 先用 首页 homepage 橘色 orange 颜色配置
的关键字搜寻整个程式码库,来找到对应的页面;接着透过 Grepped
进一步搜寻相关的程式码段落 (备注:grep_search
是一个文字搜寻工具,可以在档案中快速找到符合特定模式的文字)。最后再去读相关的段落,然后才把段落放到脉络窗口中。
在上面这个例子,光是要建构放入脉络窗口的内容,Cursor 的 AI 代理就先做了三种不同的操作,而这些操作都是基于最开始的意图 (这边的意图是使用者要求修改首页风格),来动态执行的,而不是事先写死的。
假如在上面的例子中,Cursor 没有先进行这些步骤,来把相关的资讯放到脉络窗口,这样即使 Cursor 背后用的 AI 模型再强,也没办法顺利完成任务。事实上,脉络工程之所以在应用 AI (Applied AI) 领域如此受到重视,也是因为这个理由。
现在的 AI 模型本身的能力越来越强 (截至 2025,多数主流模型的能力都已达到博士等级),因此当模型没有办法完成某个任务,多半不是模型能力本身的问题。多半会出问题的地方,是因为模型没有基于对的资讯去执行任务。就像任何一位有博士学位的人类,假如是基于不正确的资讯执行任务,也很难真的把任务做好。而脉络工程的核心正在解决这个问题,来确保给模型最精确且正确的资讯。
阅读更多
如果你对「提示工程」这个主题感兴趣,我们在 E+ 有更深入的讨论。有兴趣的读者,欢迎加入 E+ 成长计划。我们在 E+ 有更深入的内容,谈到更多能做好脉络工程的原则与方法。
本文为 E+ 成长计划的深度内容,截取段落开放免费阅读。欢迎加入 E+ 成长计划阅读完整版本 (点此了解 E+ 的详细介绍)。