Aider - Programação em par com IA no terminal
(github.com/paul-gauthier)- Ferramenta de linha de comando que permite fazer programação em par com GPT-3.5/GPT-4 e editar código armazenado em um repositório git local
- O aider edita diretamente o código dos arquivos-fonte locais e registra as mudanças com mensagens de commit apropriadas no git
- É possível iniciar um novo projeto ou trabalhar em um repositório git existente
- Um diferencial do aider é permitir solicitar mudanças em bases de código grandes já existentes
Principais recursos
- Você pode iniciar o aider pela linha de comando com um conjunto de arquivos-fonte a serem editados e conversar com o GPT sobre o código. Por meio do aider, o GPT vê e edita o conteúdo desses arquivos
- O GPT pode escrever e editar código na maioria das linguagens populares, como python, javascript, typescript, php, html e css
- Você pode pedir novos recursos, alterações, melhorias ou correções de bugs no código. Também pode solicitar novos casos de teste, documentação atualizada ou refatoração de código
- O aider aplica diretamente aos arquivos-fonte as modificações sugeridas pelo GPT
- O aider faz automaticamente commit de cada conjunto de mudanças no repositório git local com uma mensagem de commit descritiva. Esses commits automáticos frequentes fornecem uma rede de segurança. Você pode desfazer mudanças facilmente ou gerenciar sequências maiores de alterações usando o fluxo de trabalho padrão do git
- É possível usar vários arquivos-fonte ao mesmo tempo com o aider, então o GPT pode coordenar alterações de código em todos os arquivos dentro de um único conjunto de mudanças/commit
- O aider pode fornecer ao GPT-4 um mapa do repositório git inteiro, ajudando a entender e modificar grandes bases de código
- Durante a conversa com o aider, você também pode editar arquivos manualmente no editor. O aider detecta essas edições feitas fora do fluxo e mantém o GPT atualizado com a versão mais recente dos arquivos. Isso permite alternar entre o chat do aider e o editor, colaborando com o GPT durante a programação
- Ao usar gpt-4 diretamente via openai, você pode adicionar arquivos de imagem ao contexto, e nesse caso ele muda automaticamente para o modelo gpt-4-vision-preview
Comandos no chat
- O aider oferece suporte a comandos iniciados com
/dentro do chat. Alguns dos comandos mais úteis são:/add: adiciona arquivos correspondentes à sessão de chat/drop: remove arquivos correspondentes da sessão de chat/undo: desfaz o último commit do git, se ele tiver sido feito pelo aider/diff: mostra o diff do último commit feito pelo aider/run: executa um comando de shell e, opcionalmente, adiciona a saída ao chat/voice: fale com o aider para solicitar alterações no código por voz/help: mostra ajuda para todos os comandos
Dicas
- Pense em quais arquivos precisam ser editados para fazer a mudança e adicione-os ao chat. O aider até tem alguma capacidade de descobrir sozinho quais arquivos o GPT deve editar, mas a forma mais eficaz é adicionar explicitamente ao chat os arquivos necessários
- Mudanças grandes funcionam melhor quando são feitas em uma sequência cuidadosa de etapas para planejar a abordagem e o design geral. Oriente as mudanças no GPT como se estivesse trabalhando com um desenvolvedor júnior. Peça refatorações preparatórias e depois solicite a mudança real. Vale a pena dedicar tempo a pedir melhorias de qualidade e estrutura do código
- Se o GPT não estiver fornecendo respostas úteis, você pode interromper com segurança usando Control-C. As respostas parciais permanecem na conversa, então podem ser usadas como referência ao responder ao GPT com mais informações ou direcionamento
- Use o comando
/runpara executar testes, linters etc. e mostrar a saída ao GPT para resolver problemas - Use Meta-ENTER (em alguns ambientes, Esc+ENTER) para inserir mensagens de chat com várias linhas. Ou então digite apenas
{na primeira linha para iniciar uma mensagem multilinha e apenas}na última linha para encerrá-la - Se ocorrer um erro no código, use
/runou cole a saída do erro no chat para compartilhá-la com o GPT. Assim, o GPT pode encontrar e corrigir o bug - O GPT conhece muitas ferramentas e bibliotecas padrão, mas pode entender incorretamente alguns detalhes sobre APIs e argumentos de funções. É possível resolver isso colando trechos da documentação no chat
- O GPT só consegue ver o conteúdo dos arquivos que foram especificamente "adicionados ao chat". O aider também envia ao GPT-4 um mapa de todo o repositório git. Assim, o GPT pode pedir para ver arquivos adicionais se entender que eles são necessários para a solicitação.
Opinião do GN⁺
- Em projetos grandes, o uso do aider parece facilitar a aplicação de mudanças consistentes em toda a base de código. Especialmente quando combinado com a capacidade do GPT-4, ele parece ainda mais poderoso
- Ainda assim, em vez de aceitar incondicionalmente as mudanças sugeridas pelo GPT, parece necessário que o desenvolvedor revise e teste tudo diretamente. Como os modelos GPT ainda não são perfeitos, ainda existe a possibilidade de surgirem bugs
- Parece uma boa ideia usar o aider não só para código, mas também para documentação e criação de casos de teste. Aproveitando a capacidade de compreensão de linguagem natural do GPT, espera-se que seja possível gerar rapidamente documentação e código de teste de maior qualidade
- Por ser baseado em CLI, a acessibilidade é boa, mas se houvesse uma integração mais próxima com o ambiente de desenvolvimento, como plugins de editor, isso poderia ajudar bastante a melhorar a produtividade dos desenvolvedores
- A vantagem diferenciada em relação a ferramentas semelhantes de programação em par com IA, como GitHub Copilot, parece ser o uso do GPT-4 e um fluxo de trabalho baseado em git. Comparar os prós e contras com as ferramentas existentes parece algo interessante
1 comentários
Comentários do Hacker News
A seguir está um resumo dos comentários do Hacker News: