Avançado 13 minDev

Aider: um agente de desenvolvimento em CLI

Resposta direta

Aider é um agente de código em linha de comando que edita seus arquivos a partir de uma solicitação em francês e commita cada alteração no Git. Localmente, ele se conecta ao Ollama com o prefixo ollama_chat/; a configuração decisiva é o tamanho da janela de contexto, pois o Ollama trunca silenciosamente para 2.000 tokens por padrão. Um modelo com 24 bilhões de parâmetros, como o Devstral, é o mínimo confortável.

Um assistente que realmente modifica seus arquivos deve permitir reverter as alterações, ser previsível e ser capaz de funcionar sem enviar seu código a terceiros. O Aider atende a esses requisitos, desde que você o configure corretamente para um modelo local. Este guia aborda a instalação, a conexão com o Ollama, a escolha do modelo, os modos de chat, o papel do Git e dos seus testes e, por fim, o que falha na prática.

Por Mohamed Meguedmi·Atualização 2026-09-30·Testado no Windows, macOS e Linux

#O que é Aider e o que ele faz no seu repositório

Aider é um assistente de programação via linha de comando, open source, que se apresenta como programação em par com uma IA no terminal. Você executa o comando aider em um repositório Git, descreve uma alteração em linguagem natural e ele propõe modificações de arquivos, as aplica e as salva em um commit. Ele funciona com modelos hospedados (Claude, GPT, DeepSeek) assim como com modelos locais servidos por Ollama ou LM Studio, tornando-se um dos poucos agentes de código utilizáveis sem que uma linha do seu projeto saia da máquina. O repositório oficial ultrapassa 49.000 estrelas no GitHub.

Três coisas o diferenciam de um simples chat. Primeiro, ele mantém um mapa do repositório: a cada requisição, envia ao modelo uma lista dos arquivos com suas classes, funções e assinaturas principais, para que o modelo saiba onde procurar sem que você precise mostrar tudo. Em seguida, ele está integrado ao Git: cada alteração se torna um commit reversível. Por fim, ele executa repetidamente os comandos que você fornece, como linter e testes, e tenta corrigir o que falha. Ele não é um agente autônomo que explora a web ou inicia servidores: é um editor de código guiado pela conversa.

i
Este guia e o guia complementar
Este guia abrange a instalação, a configuração local e os hábitos que evitam falhas. O guia “Aider + Ollama: programar no terminal” vai além com um fluxo de trabalho completo; o comparativo entre modelos de código está no guia dedicado.

#Instalar Aider

O kit Copiloto Local

Este guia leva você ao modelo. O kit leva você ao copiloto que programa no seu editor.

  • Espaço online vitalício
  • PDF + arquivos
  • Atualizações vitalícias

O método oficial mais curto é o pacote aider-install, que instala o Aider em um ambiente Python isolado e, se necessário, baixa uma versão de Python compatível. O pré-requisito é um Python entre 3.8 e 3.13 para esse caminho. Existem instaladores em uma linha, baseados em uv, para macOS, Linux e Windows. A receita antiga com pipx continua funcionando, mas a documentação atual recomenda aider-install.

Instalação recomendada
python -m pip install aider-install
aider-install

# Vérifier
aider --version

Em seguida, acesse o diretório raiz do seu projeto. Se o diretório não for um repositório Git, o Aider oferece a opção de criar um, mas é melhor inicializá-lo você mesmo: toda a rede de segurança descrita mais adiante depende do Git.

#Conectar ao Ollama sem se atrapalhar com o contexto

A documentação oficial do Aider para Ollama se resume a quatro passos: definir a variável OLLAMA_API_BASE (o endereço habitual é http://127.0.0.1:11434), baixar o modelo com ollama pull, iniciar o servidor e então executar aider com o prefixo ollama_chat/ antes do nome do modelo. O prefixo ollama_chat/ é explicitamente recomendado em vez de ollama/.

Execução com um modelo local
export OLLAMA_API_BASE=http://127.0.0.1:11434
ollama pull devstral:24b
OLLAMA_CONTEXT_LENGTH=8192 ollama serve

# Dans un autre terminal, à la racine du projet
aider --model ollama_chat/devstral:24b

A armadilha mais custosa é a janela de contexto. O Ollama usa, por padrão, 2.000 tokens de contexto, o que é minúsculo para um agente de código, e, ponto decisivo, descarta silenciosamente o que ultrapassa esse limite. Sem saber, você pode estar conversando com um modelo que só recebeu o início dos seus arquivos. O Aider limita o problema: por padrão, ele próprio ajusta a janela do Ollama ao tamanho de cada requisição mais 8.000 tokens para a resposta. Se você preferir um tamanho fixo, precisa usar um arquivo de configurações de modelo, e não o arquivo principal de configuração.

Arquivo .aider.model.settings.yml (tamanho fixo do contexto)
- name: ollama_chat/devstral:24b
  extra_params:
    num_ctx: 32768
!
Um erro comum em tutoriais
Escrever num_ctx diretamente no .aider.conf.yml não configura a janela de contexto do Ollama: esse parâmetro pertence às configurações do modelo (extra_params). Verifique o valor realmente usado com o comando /tokens, que detalha o que é enviado.

O contexto tem um custo em memória: o cache KV aumenta com a janela, e um modelo de 24 bilhões de parâmetros que já ocupa cerca de 14 GB em Q4 deixa pouca margem em uma placa de 16 GB. Os guias sobre a janela de contexto e sobre a quantização do cache KV fornecem as ordens de grandeza.

#Qual modelo local para Aider

Aider é tão bom quanto o modelo que o controla, e a dificuldade é dupla: o modelo precisa raciocinar sobre o código e respeitar um formato de edição rígido. Um modelo que não segue esse formato gera alterações que a ferramenta não consegue aplicar. O ranking público do Aider, baseado em 225 exercícios do Exercism em seis linguagens, mede justamente essa dupla capacidade; ele é dominado por modelos hospedados muito grandes, e os modelos que cabem em um computador pessoal têm posições consideravelmente inferiores. Consulte esse ranking antes de esperar um resultado de nível de nuvem.

Para uma máquina local, o Devstral 24B, publicado pela Mistral AI e pela All Hands AI, é um ponto de partida coerente: foi projetado para agentes de código, pesa 14 GB na biblioteca Ollama e anuncia uma janela de 128.000 tokens. Em uma GPU de 12 GB ou menos, é necessário recorrer a um modelo menor e aceitar mais erros de formato. O guia "Melhor LLM local para programar" compara os candidatos atuais; este guia não estabelece um ranking fixo, pois ele muda rápido demais.

Escolher conforme a sua máquina (referências de memória, pesos em Q4 sem incluir a memória do contexto)
Memória disponívelTamanho realista de modeloO que esperar de Aider
8 a 12 GB7 a 14 bilhões (5 a 9 GB)Edições pequenas e direcionadas, um arquivo de cada vez; erros de formato frequentes
16 GB14 a 24 bilhões (9 a 14 GB)Modificações em dois ou três arquivos com contexto reduzido
24 GB ou mais24 a 32 bilhões (14 a 20 GB)Uso diário aceitável, com um contexto de 16.000 tokens ou mais
Modelos hospedadosModelos muito grandesMaior confiabilidade; reservar para repositórios não confidenciais

#Uma primeira alteração, do prompt ao commit

  1. 01
    Adicionar os arquivos corretos
    Execute aider passando os arquivos a serem modificados, por exemplo, aider src/api.py src/models.py. Os arquivos adicionados são aqueles que ele pode editar; ele conhece o restante do repositório por meio do mapa.
  2. 02
    Descrever a alteração com precisão
    Escreva uma solicitação completa: «Adicione um endpoint GET /users/:id que retorne o usuário, ou um erro 404 se ele não existir». Uma solicitação vaga produz um diff vago.
  3. 03
    Reler o diff
    Aider exibe as alterações e as aplica. Veja com /diff antes de continuar: é o momento de recusar, não depois de mais três solicitações.
  4. 04
    Verificar o commit
    Cada edição é registrada com uma mensagem descritiva. Se o resultado for ruim, /undo anula o último commit feito por Aider.
  5. 05
    Avançar em pequenas etapas
    Peça em seguida os testes, o tratamento do caso-limite e o registro de logs, uma etapa de cada vez. Etapas pequenas mantêm o contexto curto e o diff legível.

#Os comandos de chat que importam

Aider oferece dezenas de comandos que começam com uma barra oblíqua; poucos deles bastam para trabalhar. A regra geral: o que você não adicionou ao chat não pode ser modificado, mas o mapa do repositório permite que o modelo saiba que outros arquivos existem.

/add et /drop
Adicionam ou removem arquivos do chat. Remover os arquivos que deixaram de ser necessários libera contexto, o que é muito importante com um modelo local.
/read-only
Adiciona um arquivo apenas como referência: o modelo pode lê-lo, mas não editá-lo. Útil para um arquivo de convenções ou um contrato de interface.
/ask, /code, /architect
Alteram o modo de chat para uma mensagem ou de forma persistente com /chat-mode.
/run et /test
/run executa um comando shell e pode enviar a saída para o chat; /test executa o comando de teste e adiciona a saída ao chat se ele falhar, o que dispara uma correção.
/diff et /undo
/diff mostra as alterações desde sua última mensagem; /undo desfaz o último commit, se ele tiver sido feito pelo Aider.
/tokens
Informa o número de tokens usados pelo contexto atual: um hábito a adotar para entender por que um modelo local "esquece".
/map
Exibe o mapa do repositório enviado ao modelo.

#Os modos de chat: code, ask, architect

Aider distingue quatro modos de chat. O modo code, o padrão, modifica seus arquivos. O modo ask discute o código sem nunca modificá-lo. O modo architect usa dois modelos: um modelo arquiteto propõe a solução, depois um modelo editor a traduz em modificações precisas nos arquivos. O modo help responde a perguntas sobre o próprio Aider. Não existe um modo intermediário chamado "paired"; a combinação de um modelo forte e um modelo rápido é configurada com as opções --model e --editor-model.

O fluxo recomendado pela documentação consiste em alternar entre /ask e /code: você discute a abordagem no modo ask e depois passa para o modo code, em que um simples “go ahead” basta para executar o plano acordado. É uma versão mais fluida do modo architect com um único modelo. Para um modelo local de tamanho médio, esse costuma ser o melhor equilíbrio: você evita carregar dois modelos na memória e mantém o controle sobre o plano.

O modo architect se justifica para modelos que raciocinam bem, mas editam mal. Ele exige duas requisições em vez de uma: só o ative se o modo code produzir diffs inválidos regularmente.

#Git, sua rede de segurança

Aider se baseia no Git para tornar cada erro reversível. A cada edição, ele faz um commit das alterações com uma mensagem descritiva, gerada pelo modelo fraco a partir do diff e da conversa, no estilo dos commits convencionais. Antes de tocar em um arquivo com alterações ainda não registradas em um commit, ele primeiro faz um commit das alterações existentes: seu trabalho e o da IA permanecem separados no histórico. Os commits que ele cria incluem a indicação “(aider)” no nome do autor, o que permite encontrá-los.

O corolário é que surgem muitos commits pequenos. A boa prática é fazer o Aider trabalhar em uma branch dedicada, revisar e depois consolidar os commits (squash) antes de fazer o merge. Duas opções merecem ser conhecidas: --no-auto-commits desativa o commit automático e --git-commit-verify reativa os hooks pre-commit, que a ferramenta contorna por padrão com --no-verify. Se sua equipe depende desses hooks, a opção muda tudo.

Trabalhar em uma branch descartável
git switch -c ai/endpoint-users
aider src/api.py
# ... relire, tester, puis :
git rebase -i main

#Executar seus testes dentro do ciclo de trabalho

É esta configuração que transforma Aider de um gerador de código em uma ferramenta que se corrige. Com --test-cmd e --auto-test, ele executa sua suíte de testes após cada modificação; se o comando retornar um código de saída diferente de zero, ele lê a saída e tenta corrigir o problema. O princípio é o mesmo para o linter, com --lint-cmd, e Aider faz o lint por padrão nos arquivos que edita.

Loop de teste automático
aider --test-cmd "pytest -x -q" --auto-test --lint-cmd "ruff check"

Duas precauções. O comando de teste deve ser rápido: com um modelo local, cada ciclo já custa algumas dezenas de segundos de geração. E deve exibir erros com código de saída não nulo, caso contrário, o Aider acredita que tudo está bem.

#O que falha com um modelo local e como contornar esses problemas

Erros no formato das edições
O modelo retorna uma modificação que a ferramenta não consegue aplicar. Mude para um modelo maior ou teste o modo architect. A documentação do Aider dedica uma página de solução de problemas a esses erros.
Perda de contexto
Sintoma: o modelo ignora um arquivo que acabou de ser adicionado. Causa provável: janela muito pequena ou contexto saturado. Solução: /tokens, /drop de arquivos desnecessários, depois contexto maior.
Arquivos longos demais
Um arquivo com milhares de linhas satura o contexto local. Divida-o ou solicite uma alteração em uma função específica.
Solicitações vagas
'Melhore este código' gera diffs imprevisíveis. Nomeie o arquivo, a função, o comportamento esperado.
Erro de limite de tokens
Aider avisa quando um modelo ultrapassa seus limites e sugere ações: pedir mudanças menores, dividir os arquivos, mudar de modelo.
→
Confidencialidade: o que realmente sai
Com o Ollama rodando localmente, o código permanece na máquina. Verifique, porém, a configuração do Aider: a ferramenta oferece uma coleta opcional de estatísticas de uso, e um modelo hospedado configurado por engano enviaria trechos de código a terceiros. A checklist de privacidade do site detalha os pontos a serem verificados.

#Aider ou um agente no editor

O Aider se destina a quem trabalha no terminal e quer um histórico Git limpo. Se preferir ficar no VS Code, o Cline oferece uma experiência equivalente com validação passo a passo; se quiser um agente de terminal mais autônomo, o OpenCode é uma opção. A escolha não depende da qualidade do modelo, que é a mesma, mas do local onde você quer revisar as diferenças.

Aider em comparação com os outros agentes de código locais
CritérioAiderAgente no editor (Cline)Agente de terminal (OpenCode)
InterfaceTerminalVS CodeTerminal
Histórico do GitCommit automático por ediçãoA seu cargoA seu cargo
Contexto do repositórioMapa do repositório, arquivos adicionados manualmenteExploração com ferramentasExploração com ferramentas
Caso idealModificações pontuais e revisadasTarefas com várias etapas e validação visualTarefas longas no terminal
FAQ
O Aider funciona realmente com um modelo local?+
Sim, a documentação do Aider descreve a conexão com o Ollama. A qualidade depende principalmente do modelo: modelos com 24 a 32 bilhões de parâmetros são utilizáveis no dia a dia; abaixo disso, os erros no formato de edição se multiplicam. Para código confidencial, essa é a concessão habitual: um pouco menos de confiabilidade em troca de nenhum dado sair.
Qual modelo escolher para usar o Aider com o Ollama?+
Devstral 24B é um ponto de partida razoável: foi projetado para agentes de código e pesa 14 GB. Com menos memória, escolha um modelo de código menor e aceite mais erros. O ranking público do Aider indica quais modelos seguem bem o formato de edição; consulte-o em vez de um ranking fixo.
Por que Aider parece esquecer meus arquivos?+
Ollama utiliza por padrão uma janela de 2.000 tokens e descarta silenciosamente o que ultrapassa esse limite. O Aider normalmente ajusta essa janela ao tamanho da requisição mais 8.000 tokens, mas ainda é possível saturar o contexto. Use /tokens para medir, /drop para liberar espaço e defina num_ctx nas configurações do modelo.
Como desfazer uma alteração feita pelo Aider?+
Digite /undo: o comando desfaz o último commit se ele tiver sido feito pelo Aider. Para voltar mais atrás, use o Git normalmente, com git reset ou git revert. O mais seguro continua sendo trabalhar em uma branch dedicada, que você pode excluir inteiramente se o resultado não lhe agradar.
É necessário desativar os commits automáticos?+
Não necessariamente. Eles tornam cada alteração reversível e legível no histórico. A desvantagem é o número de pequenos commits, resolvido com um rebase ou um squash antes de fazer o merge. Com --no-auto-commits, você perde essa rede de segurança; reserve essa opção para os casos em que sua equipe exige commits manuais.
O Aider pode executar meus testes sozinho?+
Sim: com --test-cmd e --auto-test, ele executa o comando após cada modificação e tenta corrigir se o comando falhar. Prepare um comando rápido que exiba seus erros e retorne um código de saída diferente de zero. Com um modelo local, cada ciclo de correção acrescenta várias dezenas de segundos.
Este guia ajudou você?

Um comentário, um erro ou uma observação? Avise-nos; isso ajuda a melhorar o guia para todos.