iT邦幫忙

2026 iThome 鐵人賽

DAY 7
0
Vibe Coding

一個 Vibe Coding 專案從原型到有人在用系列 第 7

你故意留的設計,AI 會當成缺點修掉

  • 分享至 

  • xImage
  •  

你叫 AI 把畫面改好一點。它回報改了兩處,每一處都說得出道理。其中一處,是當初故意那樣設計的。

它不知道那是故意的,因為你沒寫。

這個系列前幾篇在講:交給 AI 的任務說明(我叫它工作單),要分成幾個固定的格子來寫:改哪裡、哪裡不准動、做完怎麼算對、停損(什麼情況要停手回報)。今天是這個主題的最後一篇,回頭看我這五個月寫過的五百多張工作單,這幾格後來有沒有變、又多了什麼。

故意留的長數字,被改成縮寫

usage 是我做的開源小工具,放在 Mac 螢幕最上面那排選單列,顯示 Claude Code 和 Codex 的用量和花費。面板有好幾款風格可以換,其中一款是黑底綠字的「駭客任務」風。

面板上有一區「專案用量」,列出用量最多的三個專案,後面接一串完整的 token 數(AI 計費的單位),像 238,613,701。這串數字我故意不縮寫:一長串排開,才感覺得到花了多少。

我的做法是兩個 AI 分工:我跟 Claude 討論,由 Claude 寫工作單,交給另一個 AI 動手改程式。

7 月 4 日晚上,我問 Claude:

駭客任務的面板 有進步空間嗎?

我接著說「派工吧試試」。Claude 寫的工作單列了兩個「可讀性微調」,一個是把偏暗的小字調亮,另一個是:

專案 token 數太長,一眼數不出來

改法是超過一百萬就縮寫成 238.6M,完整數字藏起來,滑鼠移上去才看得到。

動手的 AI 照做,兩處都改好了。我打開看,只覺得跟改之前差不多。

我接著問下一款面板能不能也改改。Claude 的第二張工作單寫:稍早在駭客任務面板已經修過「同樣的問題」,這次照做。

第二款改完,我還是說看不出差別。Claude 指著那三行數字說:有改到,現在是 238.6M、95.0M、51.9M,不是原本的長數字了。

我這才看到它改了什麼:

那是刻意留的 你改掉 感受不到花很大的感覺 你現在改成縮寫 沒人叫你改 我叫你改視覺

幾分鐘後,Claude 把兩款面板都改回完整數字。

https://ithelp.ithome.com.tw/upload/images/20260921/20183178ceLjAj6JQC.png

決定是寫工作單的 AI 做的

動手的 AI 沒有自作主張,工作單就是這樣寫的。做這個決定的,是寫工作單的 Claude:我問的只是「有沒有進步空間」,改哪兩處是它自己挑的。

這個決定還會傳下去。第一張工作單的「改成縮寫」,到了第二張,變成「已經修過的同樣問題」。

站在 Claude 的角度,長數字確實不好讀。它不知道這是故意的,因為沒有人寫下來。

回頭數五百多張工作單:原本的格子沒變,8 月多了兩格

我寫了一支小程式,把這五個月的對話紀錄翻過一遍,挑出五百多張工作單來數。有兩件事跟我原本想的不一樣。

第一,原本那幾格幾乎沒變。停損、哪裡不准動、做完怎麼算對,還有做完自己檢查,從 5 月第一個月起,每個月都出現在九成以上的工作單裡。長度也沒有越寫越長,每張平均都在兩千七到四千多字之間。

第二,後來加上去的東西很少,最明顯的是 8 月起的一張表,標題是:

設計判斷(已替你拍板,不要自己改)

表裡一列一件小事,寫明這件事已經決定了,動手的 AI 照做就好,不要自己換一個。5 到 7 月的工作單,一張都沒有這張表;8 月起,每五張有四張。

同時多了一條:動手的 AI 在工作單沒寫到的地方自己做了判斷,要另外記下來。這一條也是 8 月才多起來,之後一半以上的工作單都有寫。

https://ithelp.ithome.com.tw/upload/images/20260921/20183178tG1E9tWWiW.png

有了「已經決定」的表,AI 碰到衝突會停下來問

8 月 23 日,我要把幾個程式檔搬進新的資料夾。Claude 寫的工作單第一段寫明:純搬檔,不改任何行為。那張「已經決定」的表裡有幾列,整理成白話是這樣:

程式內容:不准改,只改「去哪裡找這個檔」的那幾行
要不要加新的套件:不要
要不要自己 commit(存進版本紀錄):不要,改完先留著給 Claude 看

動手的 AI 查到一半,停下來回報。它發現有 3 個地方的程式,是照「自己放在哪個資料夾」去找其他檔案的,搬了就會找錯地方;要修好,就得改程式內容,違反工作單。這時它一個檔都還沒動。

四分鐘後,Claude 查完回它:你抓到的問題是對的,不過不是 3 處,是 7 處。這 7 行准改,其他照舊不准改。

七分鐘後,動手的 AI 交回檢查結果。我看完叫 Claude commit,這次搬檔才存進專案。

Day 3 講過另一次:我要 AI 把面板做成 90 年代復古風,工作單寫了「三次做不出來就停手回報」,它沒有停,回報「通過」。那條停損要它自己判斷「做不做得出來」。這次卡住它的是一條寫死的決定:程式內容不准改。要改,就得推翻工作單上寫明的事,它停下來問。

表格擋得住動手的 AI,擋不住寫表格的那個

回到 7 月 4 日。那張表如果那時就有,也是寫工作單的 Claude 來填。它不知道長數字是故意的,就不會把它列成「不准改」。

刻意的設計,只有你知道。要分兩頭寫:

  • 你故意的,自己寫進「已經決定」。 特別是那些看起來像缺點、AI 很可能順手「改好」的設計,比如那串故意留長的數字。每一條後面接一句「因為」,例如「專案數字:完整顯示,不縮寫,因為要讓人感覺到花了多少」。AI 看到原因,才分得出這是設計,不是疏忽。
  • AI 自己決定的,要它列出來。 你只問「有沒有進步空間」,接你指令的那個 AI 一定得自己決定改哪裡。那天的「改成縮寫」,跟調亮小字寫在同一張清單裡,看起來就像一般的修改。叫它另外列一欄「工作單沒寫、我自己決定的」,這類決定才會被當成要先問你的事。改畫面這種你一眼就有意見的,叫它動手前先列。看不到的程式內部,可以做完再列在回報最前面,你看過再決定要不要收。

今天可以帶走的一張工作單

「怎麼下指令」這個主題講完了。把前幾篇和今天的格子收成一張,下次直接填:

改哪裡:___(指得出位置;抓 bug 時先寫症狀:在哪個畫面量到什麼數字)
哪裡不准動:
- ___,因為動了會___壞掉
已經決定的(不要自己改):
- ___:___,因為___(你故意的設計寫在這裡)
做完怎麼算對:
- 你自己驗:___(把跑了什麼、結果是什麼貼在回報裡)
- 我自己按:打開___,按___,應該看到___
- 驗不到的:先說哪一類你驗不到(例如要用滑鼠點、要看真實畫面),再列出這次落在裡面的項目
停損:同一處改超過 3 次,檢查還是不過,就停,回報卡在哪
你自己決定的:工作單沒寫、你自己拿主意的地方,全部列出來

五個月下來,原本的格子沒怎麼變。多出來的「已經決定的」和「你自己決定的」這兩格,管的不是 AI 怎麼做,是誰說了算。

明天開始下一個主題:每次改完,怎麼確認沒改壞。

參考資料

  • usage 專案:https://github.com/aqua5230/usage
  • 駭客任務面板改成縮寫的那次改動(commit 61527a1):https://github.com/aqua5230/usage/commit/61527a1
  • 撤掉縮寫的改動(commit ea734ec):https://github.com/aqua5230/usage/commit/ea734ec
  • 8 月 23 日那次搬檔(commit 4f18573):https://github.com/aqua5230/usage/commit/4f18573

上一篇
AI 連說三次修好了,打開還是一樣卡
系列文
一個 Vibe Coding 專案從原型到有人在用7
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言