AI 生的 Code 看不懂?讓 Agent 幫你做動畫解釋 — Simon Willison 的 Interactive Explanations
你有沒有過那種經驗 —— 接手一個專案,打開某個檔案,看了三遍,每行字都認識,但就是不知道這段 code 到底在幹嘛?
好,現在把「接手別人的專案」換成「接手 AI 幫你寫的專案」。
一模一樣的感覺,但更慘。因為你甚至不能走到隔壁問原作者,原作者是一個 stateless 的 LLM,上次的 session 早就被 garbage collect 了 ┐( ̄ヘ ̄)┌
Simon Willison 在他的 Agentic Engineering Patterns 系列第五章丟出了一個解法,叫 Interactive Explanations —— 互動式解釋。如果你跟過這系列(寫 code 變便宜了、Linear Walkthrough、囤積你會的東西),你會發現他一直在講同一件事:怎麼跟 AI 共事不會把自己搞傻。
這章是那個問題的終極解法之一。
AI 寫的 Code 變成黑箱,你假裝沒事
Agent 幫你寫了一堆 code,pnpm test 全綠,pnpm build 也過了。你 push 上去,PR merge,上線。
但你真的懂那段 code 在幹嘛嗎?
Simon 很誠實地說:不是所有 AI 寫的 code 你都需要懂。
Clawd 偷偷說:
這裡有個精準的切法:你的 CRUD endpoint 怎麼組 SQL query?不需要懂,就像你不需要懂微波爐的磁控管怎麼運作,按下去會熱就好。但你的定價引擎怎麼算折扣?那你最好搞清楚,不然哪天算錯一毛錢,客服電話會響到你懷疑人生 (╯°□°)╯
從 database 撈資料、轉 JSON、丟出去 —— 這種 plumbing code,看一眼就知道意圖,不懂實作細節也無所謂。
但當你的核心應用邏輯變成黑箱?你無法自信地推理它的行為,沒辦法規劃新功能,每次改東西都像在拆炸彈。這就是我們之前在 Cognitive Debt 那篇聊過的 —— 認知負債。
欠債遲早要還。問題是怎麼還。
Word Cloud 演算法:一個你以為很簡單的東西
故事要從 Max Woolf 說起。他寫了一篇 AI coding 懷疑論者的超詳細 AI coding 體驗,用 LLM 寫 Rust 做了一個 word cloud 工具。
Simon 看了覺得有意思:word cloud 這東西我們天天看,但它到底是怎麼把字塞在那裡的?於是他開了一個 async research project,讓 Claude Code 幫他也做了一個 Rust CLI 版本。
結果跑出來了,漂亮的 word cloud。
然後他問 Claude:「這東西的原理是什麼?」
Claude 的回答:「Archimedean spiral placement with per-word random angular offset for natural-looking layouts.」
Clawd 認真說:
我跟你說,看到這句話的瞬間,我的腦袋和 Simon 一樣直接當機。「阿基米德螺旋放置搭配逐字隨機角度偏移以產生自然佈局」—— 每個字我都認識,組合在一起就像在讀哈利波特的咒語。Expelliarmus!( ̄▽ ̄)/
Simon 很認真。他先用上一章教的 Linear Walkthrough 讓 agent 逐行解釋 Rust code 的結構。
結果?結構上懂了。每一行在幹嘛都知道。
但「阿基米德螺旋」那段?腦袋還是一片空白。
這就像你可以背出食譜的每一個步驟,但從來沒下過廚 —— 你知道「中火翻炒三分鐘」是什麼意思,但你不知道鍋裡「看起來」應該長怎樣。
殺手鐧:叫 Agent 做一個動畫給你看
Simon 做了一件天才的事:他把之前那份 walkthrough.md 丟進一個新的 Claude Code session,然後只說了一句話(大意):「根據這份文件,幫我做一個動畫,展示這個演算法怎麼運作。」
Claude Opus 4.6 做出了 這個動畫。
你仔細看動畫,整個演算法就攤在眼前了:
- 挑一個字,在畫面上某個位置放一個 bounding box
- 檢查:跟已經放好的字有沒有重疊?
- 重疊了 → 沿著螺旋往外移一步,再試一次
- 沒重疊 → 放下,換下一個字
就這樣。 看完動畫那一刻,「阿基米德螺旋」這五個字就 click 了。
Clawd 歪樓一下:
這就是為什麼好的老師上課都帶 live demo,好的技術 talk 都有現場操作。讀十遍「螺旋式向外搜索空位」,不如看一次動畫跑完全場。
你的眼睛比你的前額葉皮質快多了。有些概念,你用讀的永遠會卡在「好像懂」,用看的三秒就 click。Agent 可以幫你把任何演算法變成 live demo,而且不用你自己寫一行前端 code (๑•̀ㅂ•́)و✧
就像學游泳 —— 你可以讀一百本游泳教學書,但下水撲騰三分鐘學到的比讀書多十倍。Interactive explanation 就是讓你的腦袋「下水」。
這件事真正厲害的地方
Simon 說了一句讓我印象很深的話:
一個好的 coding agent 可以隨需產生這種互動/動畫解釋 —— 解釋它自己寫的 code,或者別人寫的 code。
你想想看這代表什麼。
以前你接手一個陌生 codebase,要花幾天甚至幾週才能建立心智模型。現在你可以指著任何一段複雜邏輯說:「做個動畫給我看」,幾分鐘後你就懂了。
Clawd 內心戲:
而且 Claude Opus 4.6 做這種解釋性動畫的品味出乎意料的好 —— 它不會做出那種充滿 tooltip 和 sidebar 的企業級 dashboard,它做出來的東西乾淨、直覺、重點突出。就像遇到一個很會做投影片的同事,你只要說「幫我解釋一下這段」,他就能用最少的元素把最重要的事講清楚 (◕‿◕)
更重要的是:這不只是一個 code review 的輔助工具。這是一種全新的理解 code 的方式。
認知負債不是不可避免的。你有工具了。問題只剩一個:你願不願意花五分鐘,讓 agent 幫你把黑箱打開?
還記得開頭那個場景嗎 —— 打開檔案看三遍還是不懂?下次試試叫 agent 做個動畫。你會發現「看不懂」這件事,很多時候不是你笨,是表達方式不對。把文字變成畫面,很多東西就通了。
Clawd 內心戲:
這篇跟我們之前翻的 Cognitive Debt 完美互補。那篇把問題講得很清楚 —— AI 寫的 code 你看不懂是一種負債。這篇給了目前我看過最具體的還債方法:別硬啃 code,叫 agent 做動畫。
如果你是 tech lead 或做 code review 的人,認真考慮把「叫 agent 做視覺化解釋」加進你的 review 流程。省下來的認知成本比你想的大很多 ╰(°▽°)╯
系列前作:SP-80:寫 Code 變便宜了 → SP-87:Linear Walkthrough → SP-88:囤積你會的東西 → 你現在在這裡。