Gary
Hsieh
2026 · taipeiloading
回到文章列表
軟體工程AI 趨勢2026-03-26

不要追求 AI 多快生出 code,要追求第一次就對

不要追求 AI 多快生出 code,要追求第一次就對

不要追求 AI 多快生出 code,要追求第一次就對。

關於 Harness Engineering 的 First-pass Acceptance Rate — 怎麼讓 AI 第一次就給你期望的結果。

最近為了做 autonomous agent 的研究,已經非常喜歡 Opus4.6 的表現,但我真的不想一直去注意 API key 的費用,所以就去研究了一下,我們現在用的 Claude Code setup-token 底下到底是怎麼運作的。

秉持著研究的精神,既然「龍蝦」可以透過 Session Token 去使用 Claude 的訂閱,那它底下應該有一些運作原理蠻值得深入研究的。即使這會違反 TOS(服務條款),可能也值得看,因為在預算有限的情況下,還是需要一些必要的手段讓我們做更多實驗(在 AI 放大資本主義市場的循環下,不想讓工程變成只有有錢人才玩得起..)。

底下的關鍵技術就是 libGDX 作者 Mario Zechner 的 badlogic/pi-monopackages/ai,主要有四步:login 拿 token → 存起來 → 過期自動 refresh → 偵測到 sk-ant-oat 前綴就切 Bearer auth。Token/Storage/Refresh 三層完全分離,可以搬到任何環境跑。

這不是要鼓勵去用,但如果是做實驗的話,這是目前預算控制最務實的方式。之前聊到連 web search 都可以偷渡 — CC 內建 web search,加上 -p flag 做 non-interactive 執行,原本要另外花錢買 Web Search API Key 的事,訂閱費裡就包了。

好吧,一整個客家精神在用工具…

這次 survey 的過程本身讓我有一些 takeaway

Opus 4.6 第一次跑的時候,完全沒有找到怎麼讓 OAuth 變成類 API key 的用法,一直說「server 400、只有 Haiku 可以用」什麼的,至少 reject 我三次。

既然我都知道 pi-mono 可以用了,實務上就一定做得到才對,所以我直接把 pi-mono 的關鍵檔案跟它說(它自己就會 web search 去找了)。我明確要求它去讀特定幾支檔案,加上我自己也先掃過 code,它就有辦法幫我建構出我要的東西。

這就帶出一個關鍵問題:如何給予有效的 Context?我後來想到,有可能是那個 session 已經變得非常複雜,產生了 Context Pollution,Context Window 的效能跟著下降。

李宏毅教授之前講過一篇論文,提到 Attention Space 其實跟人一樣:

  1. 我們通常只記得最開始和最近發生的事
  2. 過程中的細節很多人會忘記,甚至會塞爆你的 context

First-pass Acceptance Rate

Martin Fowler 最近發了一篇《Patterns for Reducing Friction in AI-Assisted Development》,裡面提出一個指標 — First-pass Acceptance Rate,第一次就從 AI 拿到能用結果的機率。

他把一般人用 AI 的失敗模式叫做 Frustration Loop:

  1. Generate
  2. Review → “Not quite right”
  3. Regenerate → “Still wrong”
  4. Fine. Give up

「不要追求 AI 多快生出 code,要追求第一次就對」

打破這個挫折循環,不只是程式碼,生圖、生影像、生文案都是。因為我們講的是「工程」 — 你只要把第一步做對,後面 AI 幫我們放大,會把剩下的做完、做到好。

那問題就變成:即使你已經知道答案了,你要怎麼做,才能讓 AI 第一次就給你正確的資訊?這就是 Context Engineering 在做的事:

  1. 瞭解各領域背後的原理、底層邏輯
  2. 你知道怎麼下 prompt
  3. 你知道怎麼下 prompt,所以 AI 第一次就能產出你要的東西

這就是 Harness Engineering

  1. 能夠明確指出底層的邏輯
  2. 讓 AI 朝著你想要的方向去做

我們可能會想 — 「那我不就自己看 code 就好了嗎?」事實上,在看了 code 並指引它之後,AI 幫你把全部邏輯串接起來省下的時間,是手動處理的 5 倍、10 倍起跳。

底下的邏輯其實還是回到程式碼的閱讀,以及瞭解背後運作的原理,這樣才能夠「讓 AI 正確且有效地在第一次就產出你想要的東西」,最後讓這些成果擴大到整個開發流程。

落地怎麼做?

我會問問自己:

“What is the goal?” “Where is the goal aiming for?”

(這不是心靈雞湯、創業書常常出現的心法嗎?!🤣

在我開始跟 AI 聊之前,明確地瞭解我的目標到底在哪裡;當你設定好這個目標之後,你就會知道你要跟它說什麼,讓它去達成這個目標。僅此而已。

是說…當你看到 Coding Agent 一路幫你寫 code 寫了 50m40s 都沒停下來,然後你在旁邊彈吉他唱歌,一週工作四天、三天放假,把時間拿去陪家人、重訓,好像…還不錯

#AI#Agent#Claude Code#Claude#prompt