AI 寫程式總是不如預期?Anthropic 工程師:問題不在模型,而在你的「盲點」
編輯核心觀點
- ✦Anthropic 開發者 Thariq Shihipar 指出,Claude 3.5 Sonnet 等先進模型表現受限,往往源於使用者未能釐清自身的知識盲點。
- ✦透過「盲點盤點(Blindspot Pass)」與結構化訪談,使用者能引導 AI 主動揭露未考慮到的技術變數與架構風險。
- ✦在開發過程中建立「實作筆記」並進行自我測驗,是確保 AI 產出符合預期且易於維護的關鍵策略。

當開發者使用 AI 代理(AI agents)編寫程式時,常會遇到指令設定明確、計畫看似可行,但最終產出卻不如預期的窘境。Anthropic 開發者 Thariq Shihipar 認為,隨著 Claude 3.5 Sonnet 等模型的進化,這類問題已逐漸從「模型能力不足」轉變為「使用者對自身盲點缺乏認知」。
釐清四種知識維度
Shihipar 將開發過程中的知識狀態分為四類,並強調「未知盲點(Unknown Unknowns)」是導致專案失敗的核心原因:
- 已知已知(Known Knowns):明確寫入提示詞中的知識。
- 已知未知(Known Unknowns):你知道自己尚未釐清的問題。
- 未知已知(Unknown Knowns):那些過於直覺、以至於你從未寫下,但看到時就能辨識的知識。
- 未知未知(Unknown Unknowns):你完全未曾考慮過的事項。
他指出,若提示詞過於具體,模型會僵化執行,無法在發現路徑錯誤時彈性調整;反之,若過於模糊,模型則會套用不適用的產業預設值。關鍵在於向 Claude 提供你的「起點」資訊,包括你的思考脈絡與相關經驗。
系統化排除盲點的實作技巧
在進入實作階段前,Shihipar 建議採取以下策略來優化 AI 協作:
- 盲點盤點(Blindspot Pass):在接觸不熟悉的程式碼庫時,直接詢問 Claude:「我正在新增一個驗證模組,但我對此庫的驗證機制一無所知,請協助進行盲點盤點,找出相關的未知未知,並教我如何更好地對你下指令。」
- 腦力激盪與原型設計:針對視覺設計等「未知已知」領域,先要求 Claude 產生多種不同方向的 HTML 原型,透過實際反應來定義專案範疇。
- 結構化訪談:要求 Claude 針對架構變動的關鍵問題,逐一向使用者提問。
- 參考資料:直接提供原始碼作為參考,Claude 能夠讀取網站底層程式碼,而不僅僅是視覺截圖。
實作中的紀錄與驗證
Shihipar 強調,盲點在實作過程中仍會持續出現。他會要求 Claude Code 維護一個 implementation-notes.md 檔案,追蹤所有決策過程。若遇到預料之外的邊緣案例,則要求模型採取保守方案並記錄偏差。
在專案完成後,他建議採用「簡報說明(Pitches and explainers)」與「自我測驗(Quizzes)」:
我不會在通過 Claude 生成的測試報告之前合併任何程式碼。
Shihipar 以其親自使用 Claude Code 剪輯的 Fable 發布影片為例,當時他對影片剪輯完全陌生。他並未盲目要求 AI 嘗試,而是先釐清自己對色彩分級等專業知識的匱乏,轉而要求 Claude 擔任「導師」角色,先教會他相關概念,再進行後續的技術實作。
他總結道,每一個腦力激盪、訪談與原型開發,都是在錯誤變得昂貴之前,以低成本找出盲點的必要手段。隨著模型能力增強,開發者的價值在於如何定義自身的未知,並建立能讓 AI 彈性發揮的實作計畫。



