讓 agent 幫你看懂自己的程式碼
Understanding is the new bottleneck — Geoffrey Litt, Notion

Geoffrey Litt 主張人還是要懂程式怎麼運作,原因不只是檢查對錯。三招:解說文件加測驗、為程式量身做的 micro-world、讓團隊與 agent 共用的空間。
這場講了什麼
- 立場:人還是要懂程式:agent 一次送來 50,000 行的 PR,跟上越來越難。Geoffrey 認為逐行讀程式已經不是唯一的理解方式,這場分享的是自己怎麼看懂 agent 寫的程式。
- 理解是為了參與,不只是為了驗證:驗證對錯的工作會愈來愈多交給 agent。但每看懂一次,人就帶著新的理解進到下一輪,下一個點子也從這份理解長出來,這部分換不掉。
- cognitive debt:引用 Margaret Storey 推廣的說法,類比技術債。vibe coding 一路順利,某天發現自己完全不知道發生什麼事、已經無法參與,就是欠太多。
- 第一招:解說文件加測驗:Geoffrey 寫了 ExplainDiff skill,讓 agent 先講背景、再講直覺、必要時給可互動的圖、最後才依序帶過程式碼。文件底部有五題測驗,沒通過就不送給同事 review。
- 第二招:micro-world:借 Seymour Papert 的想法,請 Claude 做一個專屬的小環境,例如能逐步回放 Prolog 直譯器狀態的 debugger,或讓自己一步步完成網站遷移的互動介面。
- 第三招:共用空間:Notion 在試的是讓多個人與多個 agent 待在同一個對話串,以及直接在文件上留言討論,讓整個團隊一起理解。
影片從哪一段開始看14 段
- 00:12開場與立場Geoffrey 先拋出一個不討好的看法:人還是需要理解程式怎麼運作,現場舉手後大多數人同意。
- 01:06這場要講什麼agent 寫出 50,000 行的 PR,跟上很吃力;但理解的方式不只逐行讀,Geoffrey 預告會談解說文件、測驗、micro-world 這些做法。
- 02:23理解是為了驗證?很多人以為人要懂是為了把關對錯,這部分會隨 agent 變強而縮小,Geoffrey 自己也不反對。
- 04:03理解是為了參與真正的理由是每一輪看懂的東西,會成為下一個點子的基礎;少了它,人就當不成創作的參與者。
- 05:26cognitive debt用技術債的類比,說明理解退化到一個程度就會吃苦頭,自己也碰過 vibe coding 到後來不知道在幹嘛。
- 06:13向教育取經人類怎麼理解事情,教育領域早就研究過;接下來是三個從教育借來的技術。
- 06:59技術一:解說文件最陽春的解說是丟 diff;Geoffrey 問,如果派一個團隊花一年替這次改動設計專屬教材會長怎樣,並拿 ExplainDiff 當例子,示範一次把遊戲視角從俯視改成等角的改動。
- 08:00解說文件的結構先講背景、再講直覺、再給能拖拉的互動圖,最後才是照順序、有文字說明的程式碼,Geoffrey 甚至印出來帶去咖啡店讀。
- 10:08測驗:速度調節器有次自以為看懂,卻被同事一個基本問題問倒;借 Andy Matuschak 的 books don't work,在文件底部加測驗,把它當成理解的速度調節器。
- 11:47技術二:micro-world借 Papert 的 math land 概念:孩子靠在裡面活動學數學,程式也可以讓 agent 做出一個讓人住進去的小世界。
- 12:34Prolog 直譯器的 debugger請 Claude 做了能拖時間軸、逐步看每一步狀態的 debugger,修 bug 之外,也讓人對這台機器有了感覺。
- 13:54網站遷移變成小遊戲光讀 agent 寫的遷移腳本抓不到感覺,於是改成左舊右新、一路按 next 逐步完成遷移的介面。
- 14:58技術三:共用空間前面都是一個人的理解,團隊也要一起懂;Notion 在試多人加多 agent 的對話串,以及在文件上留言討論,並提到上週剛推出把 coding agent 帶進 Notion。
- 17:09收尾:回到 Alan KayGeoffrey 把論點放大成「人要懂的是所有事怎麼運作」,並引 Alan Kay 五十年前的願景,說電腦的重點是讓人升級。
值得記的話5 句
The role of humans in correctness checking is decreasing.
人在檢查對錯這件事上的角色正在變小03:30Your understanding of what's going on is the foundation for you having that next idea
你對事情的理解,是你想出下一個點子的基礎04:22I don't send code to others on my team to review, unless I can pass the quiz
我自己沒通過測驗,就不把程式碼送給同事 review10:59agents can write code to help us understand code
agent 可以寫程式,幫我們看懂程式14:42The point of computers was to level us up as humans
電腦的重點是讓我們人類升級17:55
名詞與人物7 個
- ExplainDiff
- Geoffrey 寫的 skill,讓 agent 為一次程式改動產出附背景、直覺、互動圖與測驗的解說文件
- literate code diffs
- Geoffrey 的說法,指不直接丟檔案清單,而是依合理順序、每個檔案前先用文字說明的程式改動導讀
- micro-world
- agent 替某段程式量身做的小環境或模擬,目的是讓人憑直覺感受它怎麼運作,不是拿來出貨
- cognitive debt
- 類比技術債,指對自己專案的理解退化到無法參與的狀態;Margaret Storey 推廣,Simon Willison 也寫過
- Seymour Papert
- 教育家,提出「活在 math land 裡學數學」的想法,孩子用程式操控 turtle 機器人畫圖來學
- Andy Matuschak
- 研究者,說過 books don't work;與 Michael Nielsen 試過在文章裡內嵌間隔重複的測驗
- Alan Kay
- 個人電腦先驅,五十年前寫了《A Personal Computer for Children of All Ages》
提到但沒有展開
- Notion 當天推出在頁面裡放 HTML block,讓 agent 能把互動模擬放進文件;Geoffrey 也提醒互動性可能變成拐杖,用得隨便就是 slop。
- Prolog 的 debugger 附有留言功能,可以在時間軸上替自己記下當時的想法。