1. Brooks 否定的不是進步,而是萬用的十倍捷徑
「沒有銀彈」不是「軟體永遠不會大幅進步」。Brooks 問的是:單一技術或管理方法,能否在十年內同時、普遍地讓生產力、可靠度與簡單性提升一個數量級。窄任務十倍加速,或多項改良長期累積,都不直接反駁這個命題。
他的推論來自「本質」與「偶然」複雜度。本質工作包含理解問題、建構概念模型、處理例外與衝突;偶然工作來自表達工具、機器限制與流程摩擦。四個本質困難是複雜性、相容約束、持續變動與不可見性。
1987 年原文已檢視人工智慧、專家系統、自動程式設計、物件導向與圖形化程式設計。《人月神話》二十週年版又把原文與〈No Silver Bullet Refired〉並列。AI 值得重畫邊界,但不能以「Brooks 沒想過電腦幫忙寫程式」草率結案。
三種命題不能混為一談
FIGURE 01 / MATRIX| 項目 | 現有證據能支持什麼 | 不能直接推論什麼 |
|---|---|---|
| 單一萬用十倍突破 | Brooks 否定跨生命週期、跨品質面向的普遍十倍解法 | 窄任務 benchmark 不能證明整個工程已十倍化 |
| 局部任務大幅加速 | 規格清楚、輸出易驗收時,AI 可能非常有效 | 整合、維護、營運與責任成本不會自動下降 |
| 多項改良長期累積 | 語言、工具、流程與平台可共同推高生產力 | 其中任何一項都不因此成為單獨銀彈 |
2. AI 正在移動本質與偶然的邊界,不是讓複雜度消失
把 AI 說成只會補全語法,也低估了它。大型模型能整理需求、找歧義、提出架構、生成原型、列測試、解讀日誌並修改多個檔案;它已進入規格、設計與測試,不只翻譯既定設計。
AI 最明顯的作用是降低「產生候選」的成本。它能提出五個資料模型,卻不承擔哪個最能兼顧法規、舊系統與未來變更;能生成測試,卻不知道 oracle 是否漏掉業務限制;能執行 migration,卻不能決定可接受的停機、資料損失與回復責任。
本質與偶然不是永久標籤。某段推理一旦能被可靠自動化,就可能成為基礎設施;模型版本、上下文與權限邊界又會帶來新摩擦。AI 改變地形,沒有讓地形消失。
AI 重新分配了工作,但沒有接走最後責任
FIGURE 02 / MATRIX| 項目 | 1987 年常見摩擦 | AI 現在能做的事 | 仍需工程裁決 |
|---|---|---|---|
| 語法與樣板 | 查 API、手寫與格式轉換 | 補全、生成、遷移與重構 | 是否符合本地契約與長期維護策略 |
| 需求文字 | 訪談、整理與追蹤 | 摘要、分類、找矛盾、產生案例 | 誰的目標優先、哪些風險可接受 |
| 設計空間 | 靠經驗探索少量方案 | 快速產生多個架構與實作候選 | 取捨、演化成本與失敗半徑 |
| 測試與除錯 | 列舉案例、閱讀日誌 | 生成測試、分析 trace、提出修補 | oracle 是否獨立、證據是否足以發布 |
| 正式環境 | 整合、發布與值班 | 協助部署、監控與事件摘要 | 責任、權限、回滾與重大風險決策 |
3. 實證沒有宣布銀彈,只顯示效益取決於任務與量尺
現有研究測量不同工作,不是彼此否定。三項企業隨機實驗合併 4,867 名開發者後,AI 助手組完成任務數增加 26.08%;METR 讓 16 名熟悉成熟開源專案的開發者完成 246 項真實任務,允許使用 AI 時卻平均慢 19%。前者量企業任務輸出,後者量深厚既有上下文與高品質門檻下的端到端工時。
METR 在 2026 年更新設計時又碰到兩個問題:重度 AI 使用者不願進入禁用組,多 Agent 並行也使單項工時失真。這不是可忽略的雜訊,而是工作選擇與並行模式正在改寫生產力的定義。
DORA 2025 以近 5,000 名技術專業人士與質性資料把 AI 定位為既有系統的放大器。2026 年對 1,110 份 Google 工程師回覆的分析則指出,產碼省下的時間常移到稽核與驗證,較高採用也同時和吞吐量、不穩定性增加相關。脆弱管線只會更快抵達故障。
為什麼「快 26%」與「慢 19%」可以同時成立
FIGURE 03 / MATRIX| 項目 | 主要量尺 | 結果 | 合理解讀 |
|---|---|---|---|
| 三家企業、4,867 名開發者 | 完成任務數 | AI 組增加 26.08% | 企業工作流可提高輸出,資淺者增益較大 |
| 成熟開源專案、16 人、246 項任務 | 端到端完成時間 | AI 組增加 19% | 大型熟悉專案中,互動與審查成本可能抵銷產碼節省 |
| DORA 組織層研究 | 吞吐、穩定性與回覆主題 | 速度與不穩定性同時增加 | 效果取決於平台、流程、測試與回饋能力 |
4. AI 清除舊雜務,也新增一份工程帳單
程式碼生成器不是零摩擦抽象層。只計算少打多少字,會漏掉新帳單:餵什麼上下文、模型能碰哪些工具、輸出如何追溯、版本更新是否改變行為、誰閱讀大量 diff,以及失敗後如何重現。
這些多屬偶然複雜度,更好的平台與流程可以降低;在被治理前,它們仍會消耗工程時間。DORA 所稱的 verification tax 與 workflow gap,就是產生端加速、下游整合與審查排隊的落差。
- 上下文債:文件、規則與程式庫狀態無法被模型可靠取用與追溯。
- 非決定性債:模型、工具狀態與重試改變同一任務的結果。
- 權限債:Agent 權限過大,錯誤半徑同步擴張。
- 證據債:程式、測試與說明共享同一誤解,缺乏外部 oracle。
- 審查債:變更產生速度超過人與 CI 的消化能力。
5. 產碼變便宜後,「什麼算完成」成了瓶頸
可編譯實作只需幾分鐘時,昂貴工作會集中在驗收。功能正確只是第一層;效能、相容性、安全、隱私、資料完整性、可維護性與營運限制仍須轉成可檢查條件。沒有條件,Agent 只能優化表面訊號。
這也是軟體工程不會縮成提示詞技巧的原因。Google 以時間、規模與取捨界定工程;SWEBOK 把需求、架構、測試、維運、維護、安全與管理納入核心;ACM 2030 路線圖則把人類控制、信任與失敗責任列為未解問題。三者都在處理「哪個結果可被接受」。
最危險的捷徑,是讓同一模型根據同一份模糊描述,同時寫實作、測試與驗收報告。三者可能共享同一誤解。獨立證據可以來自既有回歸、正式規則、外部資料、不同分析方法、線上觀測或負責人的風險裁決。
6. 新流水線應是:意圖、候選、證據、發布、回饋
主流程不應是「提示—產碼—合併」,而是五段閉環:把意圖寫成契約,讓 AI 產生受限候選,以獨立證據淘汰錯誤,小批次發布,再把正式環境觀測回灌規格與測試。每段都能自動化,但不能互相冒充。
候選生成可以並行,裁決必須落在清楚介面與門檻。模組邊界限制上下文與修改範圍;CI、靜態分析、契約與差分測試提供機器證據;高風險取捨由明確角色核准;漸進發布、觀測與回滾處理測試環境無法窮舉的現實。
這不要求每個變更都增加繁重文件。低風險、可逆且 oracle 清楚的工作,應讓 Agent 自主完成;風險越高、需求越含糊、結果越難逆轉,越要縮小範圍與增加獨立閘門。
以證據為中心的 AI 軟體交付閉環
FIGURE 04 / FLOW目標、限制、驗收、風險與停止條件
Agent 在模組、權限與變更大小內產生方案
回歸、契約、差分、靜態分析與風險審查
小批次、漸進流量、觀測與演練回滾
事件、使用者結果與漂移更新規格和測試
7. 稀缺能力會轉向建模、裁決與復原
寫程式仍重要,因為抽象、效能、並行、資料與故障模式,是判斷 AI 輸出是否可信的基礎。但價值不再主要來自手動產生多少語法,而是能否把模糊問題切成可驗證邊界、設計反例、控制正式環境風險並快速復原。
產品與領域角色要說清楚目標和不可接受結果;平台團隊提供可搜尋上下文、最小權限沙箱與證據介面;開發者負責分解、裁決與可維護性;測試、安全與維運共同設計 oracle、觀測與停止條件。
程式碼行數、PR 數、建議接受率與 token 用量只能描述活動。更接近成果的訊號是使用者結果、返工、缺陷外逸、審查等待、變更失敗、回復時間與技能成長。
AI 時代要從產出指標換成工程結果
FIGURE 05 / MATRIX| 項目 | 容易造成的偏差 | 更接近結果的替代觀測 |
|---|---|---|
| 程式碼行數 | 鼓勵膨脹與重複 | 需求達成、維護成本、刪除與簡化 |
| PR 或提交數 | 切碎工作或製造審查塞車 | 前置時間、審查等待與返工 |
| AI 建議接受率 | 偏好易接受而非有價值的建議 | 缺陷外逸、變更失敗與證據覆蓋 |
| token 使用量 | 把消耗誤認為採用與能力 | 任務結果、成本、人工介入與失敗率 |
| 單人短期速度 | 把驗證與維運成本轉嫁下游 | 團隊吞吐、穩定性、復原與技能成長 |
8. 自主權看可驗證性與可逆性,不看模型聲量
「沒有銀彈」不能成為拒絕自動化的護身符。任務越容易驗證、越容易回滾、失敗半徑越小,越適合提高 Agent 自主權;需求越矛盾、結果越難觀測、後果越不可逆,越應把 AI 限制在探索、模擬與候選生成。
更強的 Agent 可能把今天的本質工作變成明天的基礎設施。工程仍會在新邊界上出現:誰定義目標、誰相信證據、誰承擔例外、誰在環境改變後修正系統。判準不是生成有多快,而是錯誤能否被發現、隔離與便宜地撤回。
- 清楚且可逆:允許 Agent 自主執行,保留證據與回滾。
- 清楚但高風險:AI 產生候選,由獨立測試與明確角色放行。
- 含糊且不可逆:用 AI 擴展選項與找反例,不交出最終裁決。