看板 Soft_Job ※ 圖文整理 回首頁

[心得] spec 寫到 5,000 行,程式還是跑不動:陳宜昌說 spec 是鷹架,AI Native 團隊的人只管決策、理解和探索

作者:chinghanho
時間:2026-10-15(Asia/Taipei)
來源:AI Coding 新時代的團隊開發:從一個人用 AI 到 AI Native 公司|陳宜昌 YC|HWDC 2026 Keynote/YC不只加速器/44:46/YouTube 2026-10-14
影片封面:AI Coding 新時代的團隊開發,陳宜昌 YC
▲ 影片封面。
AI 寫程式越快,人越要把力氣從動手實作搬到拆問題、定介面和做判斷;spec 是用完就拆的鷹架。

適合正在把 Claude Code 這類 coding agent 從個人工具推到整個團隊的工程師和技術主管。講者是 Noopher AI 創辦人陳宜昌(YC),之前在聯發創新基地帶團隊做 Breeze 繁中語言模型;這場是 iThome Hello World Dev Conference 2026 的 Keynote。〔2:05〕 〔2:46〕

一、spec 是鷹架,蓋完就收掉,不要當成藍圖

spec 寫得越完整,AI 寫出來的程式不一定越好。YC 團隊做語音聊天機器人 TASTE2 時,花了整整一個月寫出 5,000 行以上的 spec,後面還附一堆測試過的程式範例。〔10:41〕 〔11:08〕

結果程式生成跑了很久,測下去連基礎 module 都跑不起來,修了很久也找不到問題。他回頭看,是 spec 塞滿細節,模型的 context 沒聚焦在要解決的問題上。〔11:27〕 〔11:54〕

改法是回到軟體工程的老招:把系統拆成三個 submodule,再用一個 orchestrator 串起來,每個 module 各寫一份小 spec。第一個 submodule 一個早上一小時就跑通,整套一兩天跑通。orchestrator 幾乎不用 spec,因為 AI 看得到前面寫好的程式和介面。〔12:30〕 〔13:03〕 〔13:33〕

「好的程式碼才是更強的 guiding,而且是可驗證的 guiding。」〔14:16〕

藍圖是把細節全想清楚再照圖施工;鷹架是幫忙把程式架起來,架完就拆。拆掉之後,AI 看到的程式跟 spec 都比較乾淨。〔13:44〕

換到你身上
  • spec 越寫越長時,先停下來把問題拆成獨立 module,每個 module 各寫一份短 spec。
  • module 做完就讓 AI 讀現有程式碼去串接,不用再寫一份大 spec。
投影片:spec 寫到 5,000 行,一次生成仍跑不動
▲ 投影片:spec 寫到 5,000 行,一次生成仍跑不動。

二、任務好描述就寫 spec,難描述就先做原型

YC 整理了兩派。Matt Pocock 是規格派,用他的 Grill Me skill 讓 AI 一直問你問題,問到雙方對齊再寫 spec 開發。Claude Code 的負責人 Boris Cherny 則主張不寫 spec,直接用 prompt 做原型、測、改、再迭代,原型本身就是 spec。〔14:56〕 〔15:19〕

他自己看任務決定。好描述的走 spec:寫完就能放著讓它跑,去喝咖啡。難描述的走原型:要一直坐在 terminal 前跟 AI 互動,但省掉討論 spec 的過程。〔16:01〕 〔16:20〕

他也坦白說討論 spec 不容易,AI agent 講的語言跟人有落差,要理解它的思路得花力氣。〔16:41〕

換到你身上
  • 開工前先問:這件事我說得清楚嗎?說得清楚就寫 spec 放著跑,說不清楚就先做原型。

三、AI 寫的程式碼少看,多花力氣監督和驗證

第二個分歧是 AI 寫的大量程式碼,人要看多少。〔17:08〕

誰做法
Simon Willison(Django 共同作者)讓 AI 一次產完,再用 AI 導覽的方式回頭理解程式碼 〔17:20〕
Silen Naihin(參與 AutoGPT 開發)少逐行看,把力氣放在怎麼派 agent 出去、怎麼驗收 〔17:39〕
DHH看系統狀態:新原型可以全交給 AI,Basecamp 那種老 codebase 就要多看 〔17:56〕
Andrej Karpathyvibe coding 適合拋棄式專案,正式工作還是要監督和驗證 〔18:25〕

YC 歸納的共通點是:少看程式碼,多做監督和驗證。〔18:52〕

四、人定架構,AI 拆出互不重疊的單,每張單先對齊再實作

Noopher AI 的流程從人開始:人跟人先討論出大致架構,不用太多細節。接著請 AI 拆單,最重要的是每張單不能 overlap,例如前後端分兩張,或每個 module 一張。〔19:26〕 〔19:42〕

每張單用 Matt Pocock 的 grill-with-docs 對齊,寫出的 spec 放到 GitHub issue。之後把 issue 拉下來用 TDD 實作,做完就關掉 issue,這就是鷹架拆掉的意思。〔20:02〕 〔20:22〕

grill-with-docs 會多產兩份檔案:CONTEXT.md 放統一詞彙,例如 meta-agent 和 member agent 各是什麼;ADR 記架構決策,例如 meta-agent 只指揮、不碰程式。agent 跑到一半有疑問會先查這兩份,不會每次都回頭問你。〔20:57〕 〔21:58〕 〔22:37〕

背後的想法是 DDD(領域驅動設計):程式的結構和命名跟著業務領域走,人講的話和程式長得一樣,跟 AI 對齊就容易。〔22:48〕

review 他寫成 skill:單元測試、整合測試、spec review,再加變異測試,故意把小於改成大於,單元測試沒亮紅燈就代表測試有洞。〔24:13〕

換到你身上
  • 拆單時先檢查每張單有沒有改到同一塊程式。
  • 在 repo 放 CONTEXT.md 和 ADR,讓 agent 有地方查詞彙和既有決策。
  • review 流程加一步變異測試,確認測試真的抓得到錯。

五、Agent Team 要看得到進度,但別叫 agent 自己回報

流程跑順後,YC 發現自己整天坐在電腦前按同意,像在幫 AI agent 服務的小弟。他想要流程自己走,卡住再來問他。〔24:56〕 〔25:21〕

v1 用 Claude Code 原生的 subagent:planner、worker、reviewer,用 worktree 隔開環境,主視窗當 meta-agent 指揮。單之間沒耦合,可以平行跑好幾張。問題是所有訊息都擠在一個主視窗,他上個廁所回來,「選 A 還是 B」的問題已經被洗上去,subagent 全停著等他。〔25:35〕 〔26:24〕 〔26:39〕

v2 改成看板:Backlog、To do、Doing、Review、Done,agent 在 ticket 上寫思路並自己移卡。人看得懂了,但 agent 要多學一套看板規則。他一個月燒掉十億等級的 token、寫了一堆 skill 和 instruction 想修好,新任務還是會零星出錯。〔27:20〕 〔28:12〕 〔28:30〕

「我們其實不需要看板,我們只要監控員工的電腦就好了。」〔29:35〕

他回到 v1,另外加一個看得到每個 agent 在做什麼的機制,寫成開源的 oat-agents(MIT 授權)。結構只有一個 meta-agent 加一群 member agent,規則和角色用 plugin 定義;底下跑原生的 Claude Code 和 Codex,不另外包一層 harness。TUI 畫面一次看到每個 agent 的狀態、token 和花費,要介入就透過 tmux 進那個 session。〔30:28〕 〔31:00〕 〔31:20〕 〔31:48〕 〔32:07〕

換到你身上
  • agent 一多,先想資訊怎麼流到你眼前,不要讓 agent 多做回報工作。
投影片:v2 用看板流讓進度看得見,代價是 agent 要先讀看板規則
▲ 投影片:v2 用看板流讓進度看得見,代價是 agent 要先讀看板規則。

六、AI Native 公司把實作全交給 AI,人負責決策、理解和探索

YC 先講分工依據。AI agent 執行力高、能平行、很細心,改一個變數型別會把每個該改的地方都改到。它的弱點是容易陷進細節、看不到大局,跟人對齊也不容易。〔32:42〕 〔33:18〕 〔34:14〕

他舉例:AI 說架構只能選 A 或 B,他提示可能有第三條路,AI 還是想不出來;他說出解法後,AI 馬上大力稱讚。〔35:29〕 〔35:55〕

所以公司裡拆成兩隊。執行團隊全由 AI 負責實作、測試、除錯和 review,人不寫程式碼。決策團隊由人組成,做三件事:技術選型和架構取捨;理解工程,用 AI 幫忙讀懂整個系統;探索工程,在原型上試 A、B、C、D 版,或帶著原型上網找資料再做新原型。〔34:56〕 〔35:19〕 〔36:23〕 〔38:01〕

他提到新人處境變了:以前問老鳥改哪個檔案就能交差,現在新人要指揮 AI,一進來就得懂整個系統。〔36:47〕 〔37:28〕

「AI 替你實作了,你反而要更瞭解整個專案。」〔41:27〕
投影片:實作交給執行團隊,人組成決策團隊
▲ 投影片:實作交給執行團隊,人組成決策團隊。

七、原型期的人只鎖驗證、介面和 use case,程式碼幾乎不看

人跟人分工時 scope 要拆得很開,不然會打架。〔39:07〕

打造原型時,他們只守三個關卡:怎麼驗證系統、前後端和 module 之間的介面、系統的 use case 和怎樣才算跑通。這三樣鎖死,程式碼幾乎不看。〔39:16〕 〔39:48〕

他也說,公司長大離開原型期後做法可能要改,他們還沒走到那一步。〔39:58〕

換到你身上
  • 讓 AI 做原型前,先由人寫定驗證方式、介面和 use case。
投影片:原型期守住驗證、介面、use case 三個關卡
▲ 投影片:原型期守住驗證、介面、use case 三個關卡。

八、AI 時代最值錢的是判斷力

YC 最後的看法:決定做什麼要靠眼光和品味;過程中 AI 會丟出很多雜訊和發散的選項,要能從中挑出訊號。〔42:33〕 〔42:53〕

判斷力靠認知,而 AI 能幫你拓寬認知。他開公司沒請會計師和記帳士,靠 AI 學會計,再用 AI Coding 寫一套自己作帳的系統。〔43:17〕 〔43:28〕

明天就能做的事

  1. 把越寫越長的 spec 拆成獨立 module,每個各寫一份短 spec。
  2. 開工前判斷任務好不好描述,好描述寫 spec,難描述先做原型。
  3. 拆單時確認每張單不會改到同一塊程式。
  4. 在 repo 放 CONTEXT.md 和 ADR,給 agent 查詞彙和決策。
  5. spec 放 GitHub issue,做完就關掉。
  6. review 加變異測試,確認測試抓得到錯。
  7. 原型開工前,由人先定驗證、介面和 use case。

資料來源

  1. AI Coding 新時代的團隊開發:從一個人用 AI 到 AI Native 公司|陳宜昌 YC|HWDC 2026 Keynote(原始影片)|YC不只加速器(YouTube)|2026
  2. Noopher-AI/oat-agents|Noopher AI(GitHub,MIT)|2026
  3. TASTE2 專案頁|陳宜昌|影片說明附的連結
  4. YC 的數位名片|Noopher AI|影片說明附的連結

※ 逐字稿以 Whisper(medium,中文)轉寫影片原音,並對照頻道上傳的繁中字幕校正。圖片截自原片投影片。〔時間〕連結開啟原片對應段落。5,000 行、一個月、十億等級 token 等數字是講者自述,沒有另外查證。海外開發者的看法依講者投影片整理,本文沒有逐一回查原出處。本文為非官方整理,以原影片為準。

推 ClareQ: 很真誠的分享,感謝
→ OP: 影片目前只有一則留言,原文照錄。