怎麼給AI好的context
文章
AI 協作最值得先檢查的一件事:你給的內容,是否足以支持這次判斷。用「背景+立場+期望結果」改寫你的 prompt,跑一次對比就知道差別。
⏱ 約 8 分鐘
你給甚麼,AI 就產甚麼
叫它寫文章,寫出來像公文;叫它做產品,做出來不知道在幹嘛;叫它改 code,改完比原本更爛。
問題不一定在模型。第一個值得檢查的地方,是你餵給它的東西。
多數人知道 context 很重要,但很少人能說清楚「甚麼構成好的 context」。最好上手的起點不是字數或詳細度,而是三個東西:背景、立場、期望結果。三個不一定要每次都湊齊(下面會說哪些任務可以省),但任務有判斷、有取捨、有風格時,缺少關鍵的一塊就很容易走偏。
Andrej Karpathy 在 Y Combinator 的演講 Software Is Changing (Again) 裡,用作業系統與工作記憶的角度解釋過這件事:AI 能怎麼判斷,會受到這次實際拿到哪些內容影響。同一個請求,有沒有給方向,產出差別有多大?下一段直接用同一個例子對比給你看。
背景 + 立場 + 期望結果
我直接舉例。把下面兩段分別貼進 AI 對話,對比回覆差異:
沒有背景的版本:
幫我寫一篇關於時間管理的文章。
有背景 + 立場 + 期望的版本:
我發現很多人談時間管理其實都是在增加工作量,把自己關進紀律的囚籠,根據這個觀點幫我寫一篇文章。
背景:我是一個自媒體經營者,受眾是 25-35 歲的上班族。
立場:反對把時間切成小塊排滿的做法,主張留白和彈性。
期望結果:1000 字左右的部落格文章,語氣輕鬆但有觀點,結尾要有行動建議。
第一個版本 AI 會寫出一篇通用到不行的文章,第二個版本會寫出一篇有立場、有針對性的文章,差異很明顯。用自己的真實對話重跑一次對比,會比我的範例更有說服力(章末動作就是這件事)。
每次跟 AI 協作,把輸入當作一份小報告來寫:背景回答「這件事的脈絡是甚麼,為甚麼你在做這件事」;立場回答「你對這件事的看法或判斷,你想站甚麼角度」;期望結果回答「你要 AI 產出甚麼,格式、長度、風格是甚麼」。
這三個不是每次都要硬湊齊。技術性的 debug 任務可能不需要立場,直接給錯誤訊息和你試過的方法就夠;簡單到一句話能說完的指令,也不用搞得像企劃書。但只要任務開始變得有判斷、有取捨、有風格,少一塊就很容易歪:只給期望結果不給背景,AI 會在思考階段就定位錯誤;只給背景不給立場,AI 會寫出中立到沒有靈魂的東西;只給立場不給期望結果,AI 不知道你要文章、列表還是程式碼。
如果任務還會碰檔案、外部資料或實際操作,三項口訣只是起點。這時還要補充哪些來源才算準、哪些範圍不能動、甚麼結果算完成,以及你要用甚麼證據驗收。這些內容不用每次寫成大表格,但不能讓 AI 自己猜。
比較實際的做法是:先把需求寫下來,加上已知的背景 context,然後讓 AI 摘要一次它的理解。你要真的讀那份摘要,很多錯誤就是在這裡發生的。如果摘要就歪了,後面做出來的東西也會歪,不如在這一步就糾正。當然,簡單低風險的指令(「幫我把這行刪掉」)可以跳過這步。
期望結果不等於交付物
很多時候我們叫 AI 提供一份文件:分析完後把調查結果整理到一份文件裡。這聽起來已經很清楚,但其實還少了一步:那份文件不是最終目的,它只是完成任務過程中的交付物。真正要講清楚的是拿到這份文件之後要做甚麼。
舉個例子,假設我們想調查「如何經營自媒體」。這份文件要讓我們讀完後有辦法理解自媒體經營的基本問題。如果需求變成「一個行銷小白如何經營自媒體」,那文件就不能只是把來源全部丟進去,它還必須夠白話、夠新手導向,讓我們自己讀得懂,也知道下一步該做甚麼。
如果產出內容只是把所有來源一股腦扔進去,沒有整理、沒有轉譯、沒有說明該怎麼用,那它就算形式上交付了一份文件,也沒有達成真正的期望結果。所以講期望結果時,除了說清楚要交付甚麼,也要說清楚這個交付物要帶來甚麼效果。
執行型任務可以再多問兩句:我要看見甚麼才算完成?要用測試、diff、引用、畫面,還是其他證據確認?這能避免 AI 只交出形式正確的檔案,你卻無法判斷任務到底有沒有完成。
「簡單做」不是指令
「幫我做一個簡單的產品」,你覺得你在告訴 AI 甚麼?
「簡單」對 AI 沒有明確語意。它不知道你說的簡單是功能少、程式碼短、介面乾淨、還是開發時間短,每一種都是完全不同的東西。對人也是如此:你對一個資深員工說某個東西簡單做,跟對一個新人員工說,跑出來的結果完全不同。
你要把「簡單」換成更具體的描述:「做一個登入功能,只需要一個輸入欄位和一個送出按鈕,不需要資料庫,純前端就好,我要先驗證畫面」。AI 馬上知道該做甚麼,你也不用來回修三輪。
問題真的不一定在 AI
改了三輪 AI 還是搞不定,很容易以為是模型不行。罵完模型之後退一步看自己的 prompt,才發現根本沒講清楚要甚麼。這件事在人和人之間也一樣:交辦任務沒有背景和原因,被委託的人也只能猜。
當我們被各種驚人的 AI 成果洗刷記憶,又太習慣最高級模型的表現,久而久之就會覺得「AI 應該要懂我在想甚麼」。但它真的不會通靈。你覺得它有夠懂你,通常只是因為你已經把東西講清楚了,或你的情境很常見、線索太明顯,再不然就是那一次運氣好,答案剛好說在你心坎上。
所以當有人說「不會就問 AI 啊」,這句話只講了一半。把模糊的問題丟給 AI,搞不清楚交付物與真正目標的差異,問 AI 也問不出東西。真正的能力是把你腦袋裡模糊的想法翻譯成 AI 能執行的精確指令,這個翻譯過程需要判斷力和先備知識,AI 替代不了。
但如果來源、限制與完成條件都講清楚了,結果仍然不對,就不要再一味增加 context。問題也可能出在工具能力、權限、執行環境、舊狀態或驗證方式;下一篇會教你怎麼開始分辨。
我們不是在跟 AI 聊天,是在給它工作指令。
反過來讓 AI 幫你檢查需求
既然提到不會就問 AI,那也可以反過來:讓 AI 幫你檢查你給的需求還缺甚麼。
用一段很簡單的提示詞:
我接下來會給你一段指令,請先不要執行,而是幫我檢查這段指令還缺少哪些資訊。把你覺得需要補充的部分用問題的形式列出來,讓我逐一回答,回答完之後再幫我把指令重新整理成更完整的版本。
AI 會冒出很多你沒想到的名詞或狀況,等著你補充、回答是或否。只處理真的會改變做法或驗收的問題,不要讓補充問題反過來擴大任務。指令通常會詳細非常多,我自己也很常先讓 AI 優化輸入,再貼到主要對話執行程式。
這招甚麼時候不要用:指令簡單到一句話能說完(「幫我把這行刪掉」)、需求已經寫成完整規格、或任務急著立刻執行,這種情況讓 AI 先問一輪問題,反而是在拖慢你。
這跟基礎有甚麼關係
你在 CLAUDE.md、rules、Skill 裡寫的內容,最後都會成為 AI 接收到的指令或 context。表達不清楚的指令,不可能組成清楚的 context;基礎 context 不清楚,後面 CLAUDE.md、rules、Skill、Memory 加上去,也只是在更大的地方重複同一個問題。
這就是為甚麼這篇放在最前面。它不是要你背一個 prompt 公式,而是先建立一個底層判斷:AI 的問題很多時候不是模型不行,而是它拿到的內容本來就不足以支持正確判斷。後面我們談 CLAUDE.md、Skill、Memory、Knowledge,會一直回到這件事。
出任務前 30 秒檢查(可複用)
| 檢查 | 想一下 | 漏掉會怎樣 |
|---|---|---|
| 背景 | 這件事的脈絡是甚麼?為甚麼現在做? | AI 在錯誤定位上思考 |
| 立場 | 我對這件事的判斷、想站甚麼角度? | 產出中立到沒有靈魂 |
| 期望結果 | 要甚麼格式/長度/風格?拿到後要做甚麼? | 交付了文件卻不知下一步 |
| 驗收證據 | 會動到檔案/系統時:甚麼算完成?用甚麼驗證? | 形式正確但無法判斷成敗 |
小任務(「幫我把這行刪掉」)不用過完整套,30 秒檢查是給有判斷、有取捨、有風格的任務用的。
你現在可以做的一件事:找出你上一次覺得 AI 回覆不滿意的對話,用「背景+立場+期望結果」重新寫一次 prompt,親自跑一次對比。如果任務會動到檔案或外部系統,再補上來源、不能動的範圍、完成條件與驗收證據。
讀完這章,你能
用「背景+立場+期望結果」改寫任何不滿意的 prompt,並跑一次對比驗證。
這章 FAQ
Q:AI 回覆不滿意,最該先檢查甚麼? A:你給的 context 夠不夠——背景、立場、期望結果三塊,缺哪塊補哪塊。