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