讓 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 上追蹤我們