情境 Context
既然你已經了解 AI 模型的運作方式,接下來我們來探討如何提升其輸出品質。
你可能會以為,要改善模型輸出就得寫出更好的提示。這當然有幫助,但忽略了更關鍵的一點:與 AI 模型合作的核心在於管理你提供給它的脈絡(context)。
你可以把這想成烹飪。假設我們正在煮一鍋湯。
在烹飪過程中,你有許多輸入,例如各種食材。你依循某個流程或食譜前進,並在過程中追蹤進度。最後,你會得到一鍋美味的湯。
不同的廚師可能會依自己的口味增減或調整食材,即使完全照同一份食譜,最後的味道也可能略有不同。
這有點像與 AI 模型合作!讓我們用類似的範例來看程式開發:
- 你可以有許多輸入,例如目前的程式碼庫與檔案,以及一個提示來告訴 AI 模型你想達成的目標
- 你會遵循一個計畫,可能是人類擬定,或由模型本身建議;接著它可以建立待辦清單,並在完成任務時勾選項目
- 最後,你會得到可套用到專案的產生程式碼
系統與使用者提示
你的輸入,以及模型的輸出,都會成為「上下文」的一部分。可以把上下文想成一份長清單,AI 模型會在其中保留對話的工作記憶。
清單的開頭是系統提示。工具建立者可以透過這裡注入一些指示或風格,讓模型遵循,以引導輸出朝特定方向發展,也包括定義必須遵守的規則。
接著是使用者訊息或提示。這可以是你想給模型的任何指示。例如,新增一個用於管理使用者帳戶的路由。你不一定要使用完全正確的拼字或文法,AI 模型在理解你的意圖方面表現出乎意料地好,但用得更好當然無妨。
內容也不必只限於文字。許多 AI 產品現在支援附加圖片,底層的 AI 模型能讀取並理解圖片內容,並將其文字化表示納入上下文中。
在聊天過程中,哪些項目屬於模型的上下文?
Select all that apply系統提示既有對話紀錄附加檔案與工具輸出你的 API 金鑰字串CheckReset
包含脈絡
像 Cursor 這類工具會依你的程式碼庫狀態,自動在輸入脈絡中加入其他相關資訊。例如,你開啟的檔案、終端機輸出、linter 錯誤等。
例如,試試看下面這個提示。它會包含我們目前正在檢視的檔案,也就是你現在正在閱讀的這個頁面。
Run this prompt withContextStartWhat are some practical tips for providing better context when working with AI coding assistants?
將輸入送交模型後,它會產生並回傳一些輸出。對於簡單問題,可能只是文字;對於寫程式的情境,可能會是可套用到你程式碼庫的程式碼片段。模型回傳的所有內容都屬於輸出脈絡的一部分。
你的對話可能在你與 AI 模型之間來回好多「輪次」。對話中的每則訊息,包含輸入與輸出,都會作為工作記憶的一部分儲存在脈絡中。
這個清單的長度會隨時間增加。這點很重要!就像與真人對話一樣,你的大腦同一時間能保留的脈絡是有限的。
隨著對話持續一段時間,要記住 3 小時前別人說過的事會越來越難。這也是為什麼理解與管理脈絡是一項重要技能。
情境限制
每個 AI 模型都有不同的情境限制;一旦超過,對話就無法再加入新訊息。因此,許多 AI 工具會提示使用者目前距離限制的程度,或提供壓縮與摘要當前對話的方式,以維持在限制內。

在後續課程中,我們會示範如何在 Cursor 中實務管理情境。到目前為止,我們只談到如何提供我們可控的情境給模型,例如文字或圖片。如果我們想讓模型能動態自行擷取情境呢?
這就是工具呼叫的用武之地。