~/VibeHandbook
無料 PDF

07 · 08

ライブ診断 (LSP)

もっともきついフィードバックループは、コードを実行するのを待たない。タイプした瞬間に間違いを捕まえる。それを提供するのが Language Server Protocol () だ。エディタの背後にあるライブな「賢さ」であり、リアルタイムのエラー型情報定義への移動、そしてオートコンプリートを含む。言語サーバーは変化していくコードを読み、何かが実行される前に問題を報告する。

vibe codingにとってのレバレッジは、それらの診断をAIに戻してやることだ。それがないとループは遅い。AIがコードを書き、あなたが実行し、タイプミスや型エラーでクラッシュし、あなたがそのメッセージを手で貼り戻す。診断を繋ぎ込めば、エージェントは行を書いたその瞬間に、あなたと同じ赤い波線を見る。そして型エラーやlintエラーをその場で、コードが実行されるより前に直す。

エージェントにこの視力を与える方法はいくつかある。

  • 自分のスタックの言語サーバー(tsserver、rust-analyzer、pyrightなど)を動かす。AIネイティブなエディタの多くはこれを代わりにやってくれる。
  • エージェントに型チェックやlintコマンドを実行させて出力を読ませる、あるいはサーバー経由で診断を公開する。
  • クリーンな診断レポートを後付けではなく「完了」の一部として扱う。

こう配線すれば、エージェントは自力で自己修正サイクルを回す——編集し、実行し、失敗を読み、修正し、診断がクリーンに返ってくるまでまた実行する。

   ┌──────────┐      ┌──────────┐      ┌──────────────┐
   │   EDIT   │ ───▶ │   RUN    │ ───▶ │  失敗を読む  │
   └──────────┘      └──────────┘      └──────┬───────┘
        ▲                                     │
        │                                     ▼
        │            ┌──────────┐       ┌──────────┐
        │            │   合格   │ ◀──── │   修正   │
        │            │  (完了)  │ いいえ└──────────┘
        │            └────┬─────┘
        └─────────────────┘
            まだ失敗中

これはまた、型のある言語がvibe codingにとって静かな超能力になりうる理由でもある。すべての型注釈は、AIの間違いが実行されるより前に捕まえる、小さく、機械が検査する仕様なのだ。実行・クラッシュ・貼り付けのサイクルが、静かで自己修正的なものになる。AIは無駄に粘る回数が減り、より速く収束する。

オフラインでも読みたい?

本編まるごとを PDF または EPUB で無料ダウンロード。