下拉重新整理
tech 公開 vibe-coding dhh ai-agent criticality rails

Vibe Coding 的臨界性光譜:什麼時候可以放手,什麼時候得有人把關

DHH 在 On Rails podcast 提出判斷「該不該放手讓 agent 全自動 vibe code」的框架——臨界性光譜。重點不是能不能信任 AI,而是系統出錯的後果有多嚴重:後果輕可放手(人甚至不看 code),後果重仍需合格人類把關,而臨界性會隨產品成熟而上升。

| 匯入於 2026-06-13 |

Vibe Coding 的臨界性光譜:什麼時候可以放手,什麼時候得有人把關

vibe-coding-criticality-spectrum-v2.jpg

摘要

在 On Rails podcast 上,DHH 提出一個判斷「該不該放手讓 AI agent 全自動 vibe code」的框架:
臨界性光譜(criticality spectrum)。重點不是「能不能信任 AI」,而是
「這個系統出錯的後果有多嚴重」。後果輕的應用可以真正放手——指揮開發的人甚至完全不看程式碼;
後果重的系統(銀行、Basecamp 規模)則仍需合格人類把關。他並把 Rails 標語改成
「from prompt to IPO」,預言會出現「應用全靠 vibe code、一路做到 IPO」的公司。


核心主張:把應用攤在一條光譜上

DHH 不把問題切成「AI 能不能寫正式程式」的是非題,而是攤成一條連續光譜,兩端是他自己舉的具體錨點:

臨界性 例子 合理做法
「我下一個銀行 App」、Basecamp 規模 不會 vibe code;需要合格人類審核每一步
「一整類臨界性低到不是什麼大事的應用」 真正的 vibe code:指揮的人從頭到尾不看程式碼,全交給 agent

他的原話:

「我不會 vibe code 我下一個銀行 App,但有一整類應用,它們的臨界性低到——這根本不是什麼大事。」
("I wouldn't vibe code my next bank app, but there's a whole class of apps that exist at a level of criticality where that's just not a big deal.")

換句話說,同一套 AI 工具,套在玩具 App 和銀行系統上,合理的放手程度完全不同。
判斷依據是「壞掉會死人/賠錢/外洩嗎」,而不是工具本身。


為什麼現在敢這樣講(半年前還不敢)

DHH 點出風氣的轉變:6~9 個月前大家還在擔心「agent 會洩漏所有 API key、會把密碼設成 admin」。
現在這種抱怨少很多了,他歸因於兩件事:

  1. 模型本身變聰明——正常開發流程裡就是不太會犯這種低級錯。
  2. 從「AI」進化到「agent」——agent 有工具,會跑測試、跑 linter。 所以即使產生幻覺,幻覺也進不了 pull request:agent 自己把 code 跑過一遍就發現不對了。

他補充:prompt injection 仍是真實風險,偶爾也還會幻覺;但「幻覺直接混進 PR」這件事,
基本上已被工具鏈擋掉。

flowchart TD
    A["要開發一個應用"] --> B{"出錯的後果<br/>有多嚴重?"}
    B -- "低臨界<br/>(玩具 / MVP / 驗證市場)" --> C["放手 vibe code<br/>人可以完全不看 code"]
    B -- "高臨界<br/>(銀行 / 大規模 / 敏感資料)" --> D["合格人類逐步審核<br/>agent 輔助但不全權"]
    C --> E["達到 product-market fit"]
    E --> F{"經濟上跑得通了?"}
    F -- "是" --> G["雇工程師 review<br/>補安全性、修組態"]
    F -- "或" --> H["agent 已強到<br/>能自行把關"]
    G --> I["臨界性隨成熟上升<br/>把關力道跟著加"]
    H --> I
    D --> I

「from prompt to IPO」:臨界性會隨產品成熟而上升

DHH 把 Rails 的標語從舊的 "hello world to IPO" 改成 "from prompt to IPO",並預言:

未來幾年一定會出現「應用是 vibe code 出來的」公司一路做到 IPO——
vibe coding 就是你達到 product-market fit 的方式。

關鍵在於這是分階段的,臨界性不是固定的,而是隨產品長大而升高:

  • 早期:低臨界、要快速驗證市場 → 放手 vibe code,不看 code 也沒關係。
  • 一旦經濟上跑得通:再雇用工程師 review,確保「密碼不是 admin、Redis 沒有對整個雲端全開」 這類問題。或者到時 agent 已經好到能自己處理這些。

也就是:早期容許犯錯換取速度,做大之後補上合格人類審核。把關力道跟著臨界性一起爬升。


這其實是 Rails 一貫的精神

DHH 把這套邏輯接回 Rails 二十年的價值觀:Rails 從第一天就「擁抱臨界性光譜」。

它吸引了大量非傳統背景的人入門(他舉例:原本是生物學家、音樂家),因為 Rails
把學習曲線壓平、內建處理掉安全性等麻煩,讓新手犯的錯大多不會是致命的——
你想犯「其他語言裡最蠢的錯」都犯不了,因為框架已經幫你擋掉。

他說這跟「現在 agent 的 on-ramp」幾乎一模一樣:降低門檻、容許犯錯、讓更多人能上路。
他明確反對那種「你得先翻過 200 公尺高牆,才准進高級程式設計師的伊甸園」的社群文化——
他要 Rails 保持「平的(flat)」,讓不懂很多東西的人也能起步、上路、犯點錯、學起來。

連 Rails 框架本身,他都歡迎 agent 來貢獻功能、改善 codebase——
但強調「核心、committer、contributor 團隊裡非常合格的人類,還會需要審核很長一段時間」。
這正是臨界性光譜的體現:開放擁抱,但高臨界處(框架核心)仍要人把關。


一句話總結

後果不嚴重的應用,放手讓 agent 全自動寫(甚至不看 code),用最快速度驗證市場;
後果嚴重的系統,仍然需要合格人類把關。

而且臨界性會隨產品成熟而上升——Rails 的角色,是把整條光譜的門檻都壓平,讓兩端的人都能玩。


反向連結:DHH 談 Basecamp 5、Vibe Coding 與 Rails 的未來

vibe-coding-criticality-spectrum.jpg

vibe-coding-criticality-spectrum.jpg

© 2025-2026 Nickle Cheng Built with Ruby Ruby on Rails