Como uma ferramenta de edição de código assistida por IA funciona

Por

Publicado em

Código mostrando uma implementação Typescript the uma ferramenta de edição de código assistida por IA

Em uma das minhas últimas postagens no LinkedId, eu falei em como o caminho para criar seu próprio Claude Code no CodeCrafters é uma boa forma para se aprender e entender como essas ferramentas de edição de código assistida por IA funcionam. Aqui vou entrar mais a fundo e te explicar isto em mais detalhes.

Primeiro ponto é que toda LLM é uma ferramenta que recebe texto e retorna texto. Ela calcula qual é o retorno em texto mais provável, baseado nos dados com que ela foi treinada. Ou seja, LLMs não podem pensar ou ser proativas. Uma LLM é um modelo de linguagem que pega seu texto, joga em uma série de matrizes e calcula a resposta média. Não a melhor, nem a pior, a média.

Com isso, é provável que você esteja se perguntando como as LLMs conseguem procurar, ler e escrever no seu código. Ou como ela vai até o Linear ou Figma pegar informações. A resposta é que nenhuma delas faz isso. Quem faz isso é a ferramenta CLI ou a IDE que você usa.

CLIs como Claude Code e Codex, ou até mesmo IDEs como Cursor, oferecem à LLM o que eles chamam de tools (ou ferramentas em português). Tools são uma série de funcionalidades e descrições que falam para a LLM o que ela pode pedir para rodar dentro do seu ambiente. Se a LLM precisar ler um arquivo, ela pede pro CLI rodar a tool de READ (leitura). O CLI lê o arquivo pedido usando a ferramenta de leitura da própria linguagem de programação que a CLI foi criada ou usando Bash e manda o resultado para a LLM como uma mensagem comum, mas avisando que é uma mensagem de sistema e não de usuário.

É por esse motivo que modelos mais antigos não sabem como usar essas ferramentas. Usar tools é algo que elas tiveram que ser treinadas para entender. Sendo que cada tool nova é um código novo adicionado ao sistema de edição de código assistido por LLM, assim como qualquer código comum.

Tools como READ, WRITE e outras são só código normal. É por isso que ferramentas como RTK-ai funcionam tão bem. No caso do Claude Code, ele troca o uso da classe de leitura de arquivos do Node por grep, le, git e outras ferramentas que já existem no bash e que tem melhor performance.

Saber que tudo que as LLMs fazem é calcular texto baseado no que foram treinados é o que separa um dev que está começando a aprender a usar LLM pra quem já tem experiencia, sabe usar bem e conhece os limites da ferramenta