1865 年,英國經濟學家 William Stanley Jevons 出版了《煤炭問題》。他擔心的是,煤礦越挖越深、開採越來越貴,英國便宜的煤撐不了多久。很多人相信解法是更有效率的蒸汽機:每做一樣多的功,燒的煤變少,煤就能撐得久一點。
Jevons 指出了一個反直覺的事實:瓦特改良蒸汽機之後,英國的用煤量不降反升。效率讓燒煤變得划算,原本用不起蒸汽機的工廠開始用,原本不值得機械化的工作也開始機械化。每一台機器省下的煤,被更多的機器吃了回去。他的原話是:以為節約使用燃料就等於減少消耗,完全是觀念上的混淆,事實恰恰相反。
這個現象後來被稱為 Jevons paradox。它不是每次都會發生,前提是需求夠有彈性:東西變便宜之後,用量增加的幅度要大到把省下來的吃回去。電力和運算常被拿來討論,但是否每次都成立,學界至今仍有爭論。
2024 年,創投公司 a16z 的 Guido Appenzeller 整理了三年來的模型價格,結論是同樣能力的模型,推論成本大約每年降到原本的十分之一。以 MMLU 測驗拿 42 分的能力水準來比,2021 年的 GPT-3 每百萬 token 要 60 美元,2024 年的 Llama 3.2 3B 只要 0.06 美元。
單價降了這麼多,很多原本不值得丟給 AI 的工作都變得值得。一個用一次就丟的小工具、一個拖了很久的重構、一次派出五個分身(Day 11 講的 subagent)平行查資料,這些在 token 很貴的時候都要猶豫一下,現在直接做了。
每個 token 更便宜,用掉的 token 更多,帳單不一定變小。
到這裡為止還是標準的 Jevons:同一樣東西變便宜,用量跟著變多。但 AI coding 真正值得注意的,是另一樣沒有變便宜的東西。
token 買到的是寫出來的程式碼。寫的成本降了,程式碼的數量就多了;而每一段程式碼寫出來之後,都要有人讀、有人測、有人在改別的地方時確認它沒壞。這些成本不是 token,是人的時間,也沒有跟著每年降十倍。
所以這裡的問題跟 Jevons 不完全一樣。煤變便宜,燒掉的煤變多;寫程式變便宜,要養的程式變多。
GitClear 分析了 2020 到 2024 年間兩億多行的程式碼變更。含有重複程式碼區塊的 commit,比例從 2023 年的 1.8% 升到 2024 年的 6.7%,大約四倍。被搬移的程式碼(研究拿它當作重構的指標),從 2021 年大約四分之一的變更,掉到 2024 年不到一成。2024 年也是他們的資料裡,第一次出現複製貼上的行數多過搬移的行數。
報告直接把這些變化歸因於 AI 程式助手,但資料並沒有區分哪些 commit 是 AI 寫的、哪些是人寫的,能確定的只有兩件事同時發生。比較能確定的是誘因:當產生新程式碼幾乎不花成本,寫一份新的就比找出舊的、改成共用還省事。
軟體業常說程式碼是負債,《Software Engineering at Google》談淘汰舊系統的那一章也這樣寫。功能是它帶來的好處;它存在之後,每一天都要被理解和維護,這是它的成本。
這句話當然有例外。一次性的腳本、驗證想法的原型,寫完就丟,談不上什麼負債。AI 也能幫忙 review、幫忙找出可以刪的程式碼,維護的負擔不會一點都不降。但會留下來的程式碼,最後還是要有人為它負責,而這件事沒辦法全部交給寫它的那一方。
Claude Code 的 prompt cache 也有類似的味道。每一輪對話,Claude Code 都會把整段歷史重新送一次;快取讓重複的部分讀起來便宜很多,但寫進快取比原價貴,存活時間越長的快取越貴,最高到原價兩倍。停下來太久、超過快取的存活時間,下一則訊息還得整段重新處理。快取降低的是每一則訊息的單價,也讓人更放心把對話一直開下去;但對話越長,每一輪要重讀的歷史越多,總用量照樣往上爬。
/usage 可以看到這些錢花在哪裡。上面的花費是依定價在本機估算的數字,主要給按 API 計費的使用者參考;訂閱方案的用戶還會看到近期用量的特徵分析,例如有多少比例來自超長的 context、有多少來自大量派出分身的對話,並附上建議:任務中段用 /compact 壓縮,換任務時用 /clear 清空。
面對 Jevons paradox,限制使用量通常不是好方法。英國沒有因為煤用得多就回頭用人力,效率帶來的產出是真的。
比較實際的做法是管住範圍。在 CLAUDE.md 寫明只改跟任務直接相關的程式,不順手「改善」旁邊的東西;動手前先進 plan mode,讓 agent 找找 codebase 裡有沒有現成的實作可以共用,Day 4 講的「先找三個類似的實作」在這裡特別有用;review 的時候,除了問這段對不對,也問這段能不能刪。
判斷一次 AI 協作划不划算,除了看花了多少 token,更要看它留下了多少會一直存在的程式碼。
Jevons 在 1865 年提醒同時代的人:效率不會自動帶來節約,它讓用得起的人變多、用途變廣。
AI 讓產生程式碼的成本一年比一年低,這個提醒又派上用場了。不同的是,這次最該盯著的不是燒掉了多少燃料,是燒完之後留下來、得一直維護下去的那些東西。
延伸閱讀