你一直在用錯誤的方式 prompt Claude:Karpathy 的三層工作法

為什麼最強的模型會叫你「走路去洗車」,而真正會用 AI 的人都在做同一件事。

由文字與程式碼粒子構成的半透明鬼魂坐在洗車場

我前陣子丟了一個問題給 Claude、Gemini、Grok 和 ChatGPT:「我要去洗車,洗車場在 50 公尺外,我應該走路還是開車過去?」

四個模型,異口同聲叫我走路。理由還講得頭頭是道:「50 公尺很近,走路比較環保、省油、又能運動。」

乾,車子要洗欸,人走過去是要用舌頭舔嗎?

這個例子是 Andrej Karpathy(前 Tesla AI 負責人、OpenAI 創始成員)在 2026 年的演講裡拿出來打臉所有人用的。我本來不信,自己試了一輪——它們全錯。有人後來拿這題去測 53 個主流模型,結果只有 5 個能穩定答對,33 個從頭錯到尾(Opper 的 Car Wash Test)。

同一個 Claude,可以幫你重構一份十萬行的程式碼庫——資深工程師要做好幾週的工作——卻在「洗車要不要開車」這種國小生都會的常識上翻車。這不是 bug,這是整支影片的地基。搞懂它,你才會明白為什麼你一直在用錯誤的方式 prompt AI

為什麼 AI 是天才又是白痴:可驗證性

Karpathy 在 Sequoia 的年度 AI 活動上給了我看過最乾淨的解釋,他稱之為「可驗證性論題」(Verifiability Thesis):

傳統電腦自動化的是「你能用程式碼明確指定的東西」;LLM 自動化的是「你能驗證的東西」。

程式碼有單元測試、有編譯器、有明確的對錯,所以 AI 在這個領域是超人。但「洗車要不要開車」沒有 verifier——沒有任何一個單元測試在檢查「關於洗車的交通常識」。對能被衡量的東西,AI 是天才;對需要脈絡、無法被衡量的東西,它沒有任何訊號可以依靠,於是自信滿滿地胡說(MindStudio 對 Verifiability Thesis 的整理)。

那問題來了:你腦袋裡的脈絡跟理解,怎麼餵給只懂計算的 AI?Karpathy 的答案可以拆成三層:

你的理解(目標・脈絡・品味)Layer 1 Spec 規格Layer 2 Verifier 驗證者Layer 3 Environment 環境10x 的產出 →(持續回饋)→ 你的理解

把它想成一個工作坊:規格是釘在牆上的藍圖,驗證者是門邊的品檢站,環境就是工作坊本身。大多數人每次用 AI 都從一個空蕩蕩的工作坊重新開始——這就是問題所在。

Layer 1:Spec(規格)——別再丟一句話就要它蓋房子

釘在工作坊牆上的發光藍圖

很多人聽過 Claude 的 plan mode,覺得「先讓它做個計畫再動工」就很厲害了。但 Karpathy 直接說他不喜歡 plan mode

我其實不太喜歡 plan mode……當然它很有用,但我覺得這裡有更通用的東西:你應該跟你的 agent 一起設計一份非常詳細的 spec。

注意他不是說 plan mode 爛,而是說那層級太高、太淺。真正該做的是跟 AI 一起把規格挖到底。怎麼挖?三個動作。

一、先逼出「目標」,不是「任務」

如果你說「幫我做一份月底報告」,那是任務。但真正的目標是「這份報告要導出什麼結論、要驅動什麼決策」——而這件事 AI 永遠無法替你決定。最有效的招數反過來:讓 AI 來訪談你。

在開始之前,請先訪談我,以釐清這個專案真正的目標。
一次問我一個問題,根據我的回答再追問,直到你能用一段話
總結出「成功長什麼樣子」為止。

二、敏捷地切,不要瀑布式地塞

完成任何任務有兩種方式:瀑布式(一次做完整包,最後才給你看成品)跟敏捷式(切成小塊,過程中一直給你看、隨時校正方向)。人類用 AI agent 時超容易掉進瀑布式陷阱——因為很爽,一次把所有事丟給它。但這正是產出歪掉的主因。正確做法是敏捷規格:範圍收緊、檢查點清楚、看產出、調整、重複。

請傾向把工作拆成更小、更模組化的 spec。
每個 spec 完成一個可獨立檢查的小塊,做完就停下來讓我 review,
不要一口氣把整個功能做完。

三、精確,然後動你的腦

你愈精確,AI 要去「假設」的東西就愈少;而每一個假設,都是它偏離你真正想要的東西的機會。當 AI 幫你生出一份 spec,你必須動腦去批判性地讀它到底寫了什麼,而不是看都不看就按下去。

在關鍵決策點,請明確讓我逐一確認,確保沒有任何遺漏被你默默帶過。

把這三招合起來,你會得到一份範圍收緊、想清楚、而且真正對齊你目標的規格。Karpathy 把這整套叫做「現代工程」(modern engineering)——他認為每個想在 AI 時代成功的人都得變成這種人。

Layer 2:Verifier(驗證者)——你唯一真正握得住的把手

兩個機器人圖書館員在品檢站互相比對產出

用 AI 最煩的事情之一,就是 review 跟驗證它的產出。要解這題,得先搞懂一個心智模型,Karpathy 用「動物 vs 鬼魂」(animals vs ghosts)來講。

我們不是在打造動物,我們是在召喚鬼魂。

聽起來很玄,我幫你翻譯。我們習慣跟「人」互動——Karpathy 把人叫做動物——動物有內在動機跟情緒。你跟一個人說「14 天內變成 SEO 專家,不然你就被開除」,他真的會想辦法生出來,因為他有內在驅力。

但 AI 不是。Karpathy 說它是鬼魂——「人類文件的統計蒸餾物,上面再灑一點調味」,他甚至打了個比方:鬼魂之於動物,就像飛機之於鳥——是根本不同的智慧形態,不是同一條路上的兩個階段。

我覺得「鬼魂」還是太抽象,換個更好懂的:把它想成一個機器人圖書館員。你問它 SEO,它只能根據館內藏書給你答案;沒那本書,它幫不了你。更麻煩的是,它不知道自己缺哪本書,所以常常一臉自信地當場編一個給你。這就是 AI 數學神準、脈絡卻翻車的真相。

關鍵結論來了:既然它是鬼魂不是動物,那你用對待人的方式對它就完全沒用——對它吼、拜託它、丟一句「做得更好一點」,統統沒效。你唯一真正握得住、而且大部分人根本沒想到要用的把手,就是驗證。三個著力點:

一、事前就把評分標準講死

在 Claude 動手之前,先用「精確」定義出「好」長什麼樣子。模糊版:「把這份報告弄得好看一點。」精確版:「報告必須有三個區塊,每個區塊結尾都要有一條具體建議。」有沒有發現?這跟 Layer 1 的精神一模一樣——你事前愈精確,Claude 之後能犯錯的空間就愈小。

請先列出你將用來確保最終產出品質的評分標準。要精確。
然後依照這份標準自評,不通過就重做。

二、用第二個 AI 當 critic

想像第二個來自不同圖書館的機器人館員——它有一整套不同的藏書,可能因此看出第一個館員哪裡對、哪裡錯。實作上,如果你用 Claude Code,可以裝 Codex 外掛,直接在 session 裡問 Codex:

如果這變成一個複雜的 build,最後請把產出丟給 Codex 跑一遍,
確認兩邊系統的判斷一致,不一致的地方列出來給我。

三、盡可能拉進外部訊號

  • 技術場景:你不確定 app 有沒有部署成功?把 Claude session 接上你的部署系統,讓它直接去查。它說成功,那就是真的成功。
  • 非技術場景:在做月報?把歷史報告丟進去當參考,讓最終格式直接對齊過去的版本。

這就是把外部資料拉進來,強化你的驗證層。Claude Code 的作者 Boris Cherny 把這件事的重要性講得最白:

要從 Claude Code 拿到好結果,最重要的一件事,就是給 Claude 一個能驗證自己工作的方式。只要 Claude 有這個回饋迴路,最終結果的品質會提升到 2~3 倍。

這句話出自他在 X 上的貼文(原文為英文,此處為意譯)。整理他工作流的文章也提到,這個回饋迴路被視為團隊最大的生產力解鎖之一——claude.ai/code 的每一次改動,Claude 都會開瀏覽器自己測過 UI 才算數(How Boris Uses Claude Code)。我自己的體感完全一致:有沒有讓 AI 能自己跑測試、自己看結果,產出品質根本是兩個世界。

Layer 3:Environment(環境)——別每次都從空白工作坊重來

井然有序的未來工作坊,貨架上是發光的知識資料夾

Spec 跟 Verifier 需要一個地方住,那就是 Layer 3:你建構的環境。重點是——大多數人每次用 AI 都重開一個空工作坊。注意,「一個 chat 開著完整對話紀錄」不算。怎麼蓋一個會隨時間變強的工作坊?四步。

一、寫好你的 CLAUDE.md

每次你 prompt Claude,CLAUDE.md 都會被自動注入——它幾乎是 Claude 開工前讀的第一份文件,決定它該怎麼運作。比方說你可以加一條:

# 工作規則
- 在動手任何多步驟的任務之前,先附上一份驗證計畫(怎麼確認做對了)。

這樣一來,驗證就被強制寫進每一次 build,而不是你每次都要記得去講。一句話:這是你的世界,AI 住在裡面,不該反過來。

二、建你自己的 LLM 知識庫

這是 Karpathy 2026 年 4 月在 X 上爆紅的概念——他稱之為 LLM Knowledge Base。本質上就是在你機器上開一個資料夾系統,把你自己的「訓練資料」用一種讓 Claude 容易理解、容易定位的方式餵進去。常見做法是開一個資料夾,底下兩個子資料夾:raw/(你的原始素材:論文、repo、文章、會議記錄、截圖)跟 wiki/(讓 LLM 自己整理、自己維護的互連 Markdown 筆記)(Medium 的整理)。為什麼這麼重要?因為你的資料就是你的護城河

三、開始累積你的 skill

我自己的判斷準則:任何你打算重複做的事,就替它做一個 skill。 把它想成完成特定任務的一本手冊。而且用得愈多,它會愈好——我常講一句話:「找出水管漏洞最好的方法,就是讓水流過去。」skill 也一樣,跑得愈多,你愈知道哪裡要修、哪裡很猛。持續讓水流過去,你的系統就會隨時間複利成長。

四、立下「能做 / 不能做」的規則

依「做錯的代價」設不同等級的護欄。這裡有個關鍵差異——guide(指引)不等於 rule(規則)。你可以在 CLAUDE.md 寫「不要碰某個資料夾」,這能幫你達成 80%……但它本質上是個請求,Claude 還是碰得到。真正關鍵、絕對不能錯的事,要用規則級的護欄:加一個 pre-tool-use hook,在 Claude 使用 write 或 edit 工具之前,先檢查它要改的檔案——在保護資料夾內就在工具層級擋下,其他放行。這才是 agent 繞不過去的硬規則。把事情分成三桶:

分類意義實作層級
Always do(永遠做)AI 可以自動駕駛的事自動執行
Ask first(先問)你想再確認一下的事prompt/互動確認
Never do(絕不做)跨過去就完蛋的紅線hook 等規則級護欄

三層怎麼疊起來用:一張對照表

核心問題招數一句話心法
Spec 規格AI 不知道你「真正」要什麼讓 AI 訪談你、敏捷切小塊、關鍵點要你確認把理解灌進規格
Verifier 驗證者AI 是鬼魂,不會自己知道對錯事前定評分標準、第二模型當 critic、拉外部訊號唯一握得住的把手是驗證
Environment 環境每次都從零開始、規則無法強制CLAUDE.md、LLM 知識庫、skill、hook 護欄這是你的世界,AI 住裡面

踩坑提醒:新手最容易做錯的兩件事

坑一:把 spec 當成一次性的長 prompt 塞爆。 很多人聽到「要詳細的 spec」就寫一篇兩千字的需求一次丟進去,然後等一個完美成品——這就是瀑布式。結果 AI 在第三段就開始假設、到第十段已經飄到外太空。解法:spec 再詳細也要敏捷地切,做一塊、檢查一塊。

坑二:用 guide 假裝成 rule,然後怪 AI 不聽話。「我明明在 CLAUDE.md 寫了不要動那個資料夾,它還是改了!」——因為那只是請求,不是規則。解法:代價高的事一律上 hook,在工具層級擋下。別在 prompt 裡拜託一個鬼魂自律。

最後,那唯一一件事

走完整套方法,還有個問題沒回答:在智慧變得便宜的 AI 時代,Karpathy 認為我們唯一該專注學的是什麼?他用一句話回應,而這句他其實是引用別人的、最近一直掛在嘴邊的話,我覺得是整篇最重的一句:

你可以外包你的思考,但你無法外包你的理解。(You can outsource your thinking, but you can't outsource your understanding.)

這句話他最近反覆引用(Karpathy 本人說「這是我最近一直在引用的話」),也被不少人拿來談 AI 時代的「理解瓶頸」(Understanding Bottleneck)。回頭看,整套三層架構——spec、verifier、environment——全都繞著你對大局的理解在轉。你得懂你的目標、懂什麼叫做對,才有辦法指揮 AI 替你工作。

所以下次你又想丟一句「幫我做個 X」然後祈禱的時候,停一下。先問自己:我的目標到底是什麼?我要怎麼驗證它做對了?我有沒有一個會愈長愈強的環境?把這三件事想清楚,你不是在 prompt 一個鬼魂——你是在當一個現代工程師。


參考資料

沒有留言:

張貼留言

TTS 文字轉語音完全指南:技術原理、聲音克隆與 2026 選型實戰

前陣子我在測 Qwen3-TTS,官方技術報告寫著首包延遲 97ms,聽起來就是為即時對話而生的。結果我照官方範例跑起來,按下生成、等了整整 10 秒才聽到第一個字。乾,差了一百倍。 這不是我環境爛,而是 TTS 這個領域的日常:論文數字、行銷頁數字、你實際跑出來的數字,是三個...