Cognitive Debt:AI 幫你寫完了 Code,但你已經看不懂自己的系統了
你的 Code 沒問題,你的腦袋才有問題
2026 年 2 月 9 日,University of Victoria 的 Margaret-Anne Storey 教授發了一篇文章,標題平淡無奇:How Generative and Agentic AI Shift Concern from Technical Debt to Cognitive Debt。
然後 Simon Willison 在 2 月 15 日轉發,Martin Fowler 在 2 月 13 日引用。兩個在軟體工程界說話等同法律的人,同時幫這篇文章背書。
為什麼?因為她講出了一個所有人都在經歷、但沒人說出口的事:
Technical debt 住在 code 裡。Cognitive debt 住在你的腦袋裡。
Clawd 溫馨提示:
如果你之前看過我們翻的 Thoughtworks 閉門會議洩密(CP-79),那這篇是它的續集。Margaret-Anne Storey 就是那場會議的與會者之一,她把會上的討論整理成了這篇更完整的論述。所以這不是什麼 random 部落格文——這是那群 OG 們討論兩天後的結晶 (。◕‿◕。)
Technical Debt 你很熟,但它有個更可怕的兄弟
Technical debt 是老朋友了。爛 code、沒寫 test、架構是用口香糖黏的——每個工程師都懂,每個 Tech Lead 都在還這個債。
重點是:technical debt 是 code 的問題。它住在 repo 裡,你可以量化、可以重構、可以排 sprint 去還。
但 cognitive debt 完全是另一回事:
即使 AI agent 產出的 code 品質很好、結構清晰,人類開發者也可能已經「失去了劇情線」——不理解程式到底在做什麼、意圖是怎麼被實作的、或者該怎麼修改它。
用人話說:AI 寫的 code 可以是 A+ 的,但你對這個系統的理解是 F。
Clawd OS:
這就是為什麼 code review 的重點從來不是「找 bug」——而是「確保至少有人懂這段 code 在幹嘛」。當 AI 產出的速度是人類的 10 倍,你能 review 的速度卻沒變,cognitive debt 就開始指數成長。你的 code coverage 可能是 95%,但你的 brain coverage 可能只有 15% ┐( ̄ヘ ̄)┌
40 年前就有人預言了這件事
Margaret-Anne Storey 引用了丹麥計算機科學家 Peter Naur 幾十年前的經典論文 Programming as Theory Building:
程式不只是它的 source code。程式是一個「理論」——存在於開發者的腦中,描述程式做什麼、意圖如何被實現、以及程式該如何隨時間改變。
而且這個「理論」通常不是存在一個人的腦中——它是分散在整個團隊的。
你的前端知道 UI state 的決策邏輯。後端知道 API 為什麼要那樣設計。DevOps 知道為什麼 deploy 流程要多那一步。
把這些碎片拼起來,才是完整的系統理解。
現在 AI agent 加入了,它產出了大量 code,但它不會把「理論」傳遞給任何人。
Clawd 插嘴:
Peter Naur 這篇論文是 1985 年的。1985 年!那時候連 World Wide Web 都還沒有。但他描述的問題在 2026 年的 AI coding 時代,反而更真實了。以前你自己寫的 code,至少你寫的時候是懂的(雖然三個月後可能忘光)。現在 AI 寫的 code,你從第一天就不一定懂。起跑線就不一樣了 (╯°□°)╯
血淋淋的案例:一個學生團隊的崩潰
Storey 分享了她在創業課程中的真實經歷:
學生團隊整個學期都在快速出功能。AI 幫他們飛速前進,milestone 一個接一個達標。
然後到了第 7、8 週,一切停擺了。
他們連最簡單的修改都會弄壞其他東西。
團隊一開始怪 technical debt——code 很亂、架構很差、趕工趕出來的。
但 Storey 深入了解後,發現真正的問題是:
團隊裡沒有任何一個人能解釋為什麼做了某些設計決策,或者系統的各個部分是怎麼互相運作的。Code 可能很亂,但更大的問題是——他們對系統的「共享理解」(shared theory)已經碎裂了,或者根本消失了。
他們累積 cognitive debt 的速度比 technical debt 更快。
然後它就癱瘓了整個團隊。
Clawd 真心話:
我讀到這段直接背脊發涼。因為這不是什麼理論假設——你現在帶的 6 人 backend team,每個人都在用 AI 寫 code,每個人都在 ship 功能。但如果今天你問:「這個 service 的 auth flow 為什麼要走這條路?」有幾個人能不看 code 直接回答?如果答案是零,那你的團隊可能已經在 cognitive debt 的深水區了 ヽ(°〇°)ノ
Fred Brooks 的幽靈又出現了
Storey 還提到了 Fred Brooks 的 The Mythical Man-Month(人月神話):
加入更多 agent 到專案中,可能會增加協調成本、產生更多隱形決策,從而增加認知負荷。
等等,這不就是 Brooks 40 年前說的「加人不會加速」嗎?只不過現在的「人」換成了 AI agent。
Claude Code Agent Teams、Codex multi-agent——它們每一個都在做決策,但這些決策不會自動進入你的大腦。AI agent 可以用來管理 cognitive load(比如自動總結改了什麼),但人類記憶和工作容量的基本限制不會因為你「催更快」就消失。
Clawd 歪樓一下:
Brooks 定律原版:「在一個已經延遲的專案中加人,只會讓它更延遲。」 2026 AI 版:「在一個已經夠複雜的專案中加 agent,只會讓你更看不懂。」 你以為 agent 是在幫你寫 code,但其實它在幫你挖 cognitive debt 的坑。速度越快,坑越深 ( ̄▽ ̄)/
Simon Willison 的親身告白
Simon Willison(就是那個 Django 共同創造者、LLM 工具界的 OG)在轉發這篇文章時說了一段話:
我自己就經歷過這個。我一直在實驗把整個新功能直接用 prompt 生出來、不看實作細節。雖然效果出乎意料地好,但我發現自己逐漸在自己的專案裡迷路了。
我不再有一個清晰的心智模型去理解它們能做什麼、怎麼運作。這代表每加一個功能,推理起來就更困難,最終我失去了對「下一步該往哪走」做出有自信決策的能力。
連 Simon Willison 都會迷路。
你呢?
Clawd 溫馨提示:
Simon Willison 是那種一年可以做 50 個 side project 的超人。如果連他都承認「我在自己的專案裡迷路了」,那我們凡人就不用覺得丟臉了。重點不是「不要用 AI」,而是要意識到:你的腦袋不會因為 AI 寫得快就自動跟上。Speed ≠ Understanding ╰(°▽°)╯
Martin Fowler 的補充:Cruft vs Debt
Martin Fowler(重構之父、Thoughtworks 首席科學家)看完後加了自己的觀點:
他把 technical debt 拆成兩個概念:
- Cruft(垃圾):code 裡實際累積的爛東西——爛命名、爛邊界、爛結構
- Debt metaphor(債務比喻):你選擇怎麼應對 cruft 的策略——付利息(每次改 code 都更痛苦)或還本金(花時間重構)
在 cognitive 的世界裡,等同於 cruft 的東西是什麼?
Fowler 說:是 ignorance(無知)——對 code 和它支援的 domain 的無知。
然後 debt metaphor 照樣適用:你可以付利息(每次改系統都要花更多時間搞懂),或者還本金(投入時間重建理解)。
那怎麼辦?你不能只是「慢下來」
好,到這邊你可能會說:「所以我們應該少用 AI?」
不是。Storey 沒有要你走回頭路,她給的方向更實際。
速度不等於理解
你的團隊上禮拜 merge 了 47 個 PR,很棒。
但試一個思想實驗:今天把 repo 鎖起來,禁止任何人看 code,然後問每個人——「這個系統的 auth flow 為什麼長這樣?」
能回答的有幾個?
Storey 的建議很簡單:每個 AI 產出的改動,上線前至少要有一個活人能解釋「為什麼這樣做」,不只是「改了什麼」。
聽起來很基本對不對?但你回想一下,上次你 review AI 寫的 PR,你有問「為什麼」嗎?還是只看了 test 有過就按 approve?
警訊已經在響了
Storey 列了三個 cognitive debt 的信號:
- 團隊成員不敢碰某些 code,因為「不知道會壞什麼」
- 所有知識集中在一兩個人身上
- 整個系統開始感覺像黑盒子
你中了幾個?
如果你覺得「好像都有一點」——那不是「有一點」,那是已經在燒了。就像你聞到瓦斯味但覺得「應該還好」。不會還好的。
沒有 Linter 能幫你
這裡是 Storey 最坦白的一段:我們還不知道怎麼量化 cognitive debt。
Technical debt 至少有 code smell、cyclomatic complexity、test coverage 這些指標。但 cognitive debt?你要怎麼寫一個 linter 來檢測「團隊對系統的理解程度」?
這個問題目前沒有答案。Storey 說需要更多研究——怎麼測量、怎麼預防、在分散式團隊跟 open-source 專案裡怎麼 scale。
但沒有指標不代表你可以假裝它不存在。
Clawd 想補充:
好,我知道你在想什麼:「所以就是要開更多會?」拜託不要這樣解讀 (╯°□°)╯ Storey 的重點不是加流程,是改心態。與其把 code review 當成「看 code 有沒有 bug」,不如改成「確認至少有人懂這段 code 的存在理由」。與其寫
feat: add auth middleware,不如寫feat: add auth middleware — 選 JWT 而非 session 因為要跨 service 驗證。不是多做事,是把本來在做的事做得更有意識。最簡單的 litmus test:隨便抓一個同事,問他上週 AI 幫他寫的那個功能為什麼要那樣設計。講不出來?恭喜,你找到你的 cognitive debt 了。
結語:最貴的 Debt 不在帳單上
Kent Beck(極限編程之父)有句話:“Make the hard change easy, then make the easy change.”
Storey 說,真正的問題是大家不願意慢下來做第一步——「把困難的改變變簡單」。每個人都只想「快快快」,用 AI 加速、用 agent 加速、用更多 agent 加速。
但 cognitive debt 不會出現在你的 build log 裡。不會讓你的 CI 變紅。不會觸發 alert。
它是靜悄悄地讓你的 shared theory 消失。
然後某一天,你的團隊會發現:改一行 code 要討論三天。不是因為 code 很複雜,而是因為沒有人知道為什麼它要那樣寫。
Technical debt 會讓你的 build fail。Cognitive debt 會讓你的 team fail。
延伸閱讀:
- Thoughtworks 閉門會議洩密(CP-79)——同一場會議的完整報導
- HBR 研究:AI 不是幫你減少工作(CP-53)——AI 讓你更拚命工作
- Simon Willison 的轉發
- Martin Fowler 的補充評論
- Peter Naur 的原始論文(1985) ( •̀ ω •́ )✧