~/VibeHandbook
免費 PDF

07 · 08

即時診斷 (LSP)

最緊湊的反饋迴圈不會等你去執行程式碼——它會在你剛敲下錯誤的那一刻就抓住它。這正是語言伺服器協議 () 所提供的:你編輯器背後的即時"智慧",包括即時的錯誤型別資訊跳轉到定義自動補全。語言伺服器會在你的程式碼發生變化時讀取它,並在任何東西執行之前就報告問題。

對 vibe coding 而言,這裡的槓桿在於把這些診斷回傳給 AI。沒有它,迴圈很慢:AI 寫程式碼,你執行它,它因為一個拼寫錯誤或型別錯誤而崩潰,然後你手動把錯誤資訊貼回去。把診斷接進來以後,智慧體會在它寫下那行程式碼的瞬間,看到和你一樣的紅色波浪線——並隨手修掉型別或 lint 錯誤,根本不用等程式碼執行。

你可以用幾種方式給智慧體這雙眼睛:

  • 為你的技術棧執行語言伺服器(tsserver、rust-analyzer、pyright 等等)——大多數 AI 原生編輯器會替你做好這件事。
  • 讓智慧體執行一個型別檢查或 lint 命令並讀取輸出,或者通過一個 伺服器暴露診斷資訊。
  • 把一份乾淨的診斷報告當作"完成"的一部分,而不是事後才想起來的東西。

這樣接好線,智慧體就能自己跑一個自我糾正的迴圈——編輯、執行、讀取失敗、修復,再執行,直到診斷乾淨地返回:

   ┌──────────┐      ┌──────────┐      ┌──────────────┐
   │   編輯   │ ───▶ │   執行   │ ───▶ │   讀取失敗   │
   └──────────┘      └──────────┘      └──────┬───────┘
        ▲                                     │
        │                                     ▼
        │            ┌──────────┐       ┌──────────┐
        │            │   通過   │ ◀──── │   修復   │
        │            │  (完成)  │  否   └──────────┘
        │            └────┬─────┘
        └─────────────────┘
            仍在失敗

這也是為什麼一門帶型別的語言,對 vibe coding 來說可以是一種安靜的超能力:每一個型別註解都是一份小小的、由機器檢查的規格,會在 AI 的錯誤執行起來之前就把它逮住。一個"執行—崩潰—貼上"的迴圈,於是變成了一個安靜的、自我糾正的迴圈。AI 少做無用功,收斂得更快。

想離線閱讀?

免費下載整本書的 PDF 或 EPUB。