让 AI 有更精确输出的脉络工程 (context engineering)

2025年10月4日

持續學習最新的 AI 應用
更多深入的 AI 內容,都在 E+ 成長計畫 👉前往了解

《提示词工程 (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+ 的详细介绍)。

🧵 如果你想收到最即時的內容更新,可以在 FacebookInstagram 上追蹤我們