~/VibeHandbook
PDF grátis

Capítulo 07 · 08

Diagnósticos ao Vivo (LSP)

O ciclo de feedback mais curto não espera você rodar o código — ele pega os erros no exato momento em que são digitados. É isso que o Language Server Protocol () fornece: a "inteligência" viva por trás do seu editor, incluindo erros, informações de tipo, ir-para-definição e autocompletar em tempo real. Um language server (servidor de linguagem) lê seu código enquanto ele muda e reporta problemas antes que qualquer coisa seja executada.

A alavancagem para o vibe coding é realimentar esses diagnósticos para a IA. Sem isso, o ciclo é lento: a IA escreve código, você o executa, ele trava por causa de um erro de digitação ou de tipo, e você cola a mensagem de volta manualmente. Com diagnósticos conectados, o agente vê o mesmo sublinhado vermelho que você vê no instante em que escreve a linha — e corrige o erro de tipo ou de lint no ato, antes mesmo de o código rodar.

Você pode dar essa visão ao agente de algumas formas:

  • Rode o language server do seu stack (tsserver, rust-analyzer, pyright, e assim por diante) — a maioria dos editores nativos de IA faz isso por você.
  • Faça o agente rodar um comando de verificação de tipos ou de lint e ler a saída, ou exponha os diagnósticos por meio de um servidor .
  • Trate um relatório de diagnósticos limpo como parte do "concluído", não como um adendo.

Conectado dessa forma, o agente roda o mesmo ciclo autocorretivo por conta própria — editar, rodar, ler a falha, corrigir e rodar de novo até que os diagnósticos voltem limpos:

   ┌──────────┐      ┌──────────┐      ┌──────────────┐
   │   EDIT   │ ───▶ │   RUN    │ ───▶ │ READ FAILURE │
   └──────────┘      └──────────┘      └──────┬───────┘
        ▲                                     │
        │                                     ▼
        │            ┌──────────┐       ┌──────────┐
        │            │   PASS   │ ◀──── │   FIX    │
        │            │  (done)  │  no   └──────────┘
        │            └────┬─────┘
        └─────────────────┘
            still failing

É por isso também que uma linguagem tipada pode ser um superpoder discreto para o vibe coding: cada anotação de tipo é uma pequena especificação verificada por máquina que pega os erros da IA antes de eles chegarem a rodar. Um ciclo de rodar-travar-colar se torna um ciclo silencioso e autocorretivo. A IA gira menos em falso e converge mais rápido.

Quer offline?

Baixe o livro inteiro em PDF ou EPUB — grátis.