A atenção de muitos desenvolvedores interessados em IA está atualmente voltada para um repositório específico no GitHub: o GPT Engineer. O software baseado no GPT-4 foi projetado para automatizar grande parte do processo de escrita de código, de acordo com as necessidades do programador.
Além dos redatores, os programadores têm se beneficiado há muito tempo dos avanços em chatbots, como o ChatGPT ou o Google Bard. A Microsoft também integrou o Github Copilot X, um assistente de código baseado em IA, em seu popular ambiente de desenvolvimento Visual Studio. O Starcoder é outro projeto de modelo de código de código aberto que sustenta chatbots. Esses parecem ser úteis; o Github, por exemplo, relata um grande aumento na produtividade dos programadores.
Agora, outro projeto, o GPT Engineer, está atraindo muito interesse da comunidade de desenvolvedores. Em um tempo muito curto, o repositório de código aberto no GitHub já acumulou mais de 26.000 estrelas, tornando-se o projeto mais seguido na plataforma em alguns momentos. É um software que utiliza as capacidades existentes do LLM, aquelas do GPT-4, para automatizar o máximo possível de trabalho de código.
Prompt para base de código
De acordo com o desenvolvedor Anton Osika, o GPT-Engineer é uma solução de IA flexível e adaptável que visa gerar uma base de código completa com apenas um prompt. Ele aprende como o código deve ser e se adapta de acordo.
Partindo de um prompt inicial, o GPT-Engineer segue o princípio de encadeamento de pensamento e solicita de forma independente as informações ausentes ao longo do caminho para a base de código. Você diz o que deseja construir, a IA pergunta sobre isso e depois constrói. O GPT-Engineer pode avaliar vários arquivos ao mesmo tempo. O sistema é semelhante ao Chaos GPT, mas voltado para código.
Todo o código gerado pelo GPT-Engineer é armazenado no sistema de arquivos e pode ser reutilizado posteriormente. Isso é feito para manter o GPT-Engineer o mais simples e flexível possível e diferenciá-lo de algumas soluções anteriores desse tipo.
O GPT-Engineer é operado a partir de um terminal e requer conhecimentos básicos de Python. O programa atualmente só aceita chaves de API para o GPT-4, o GPT-3.5 não é suportado. O GPT-4 é superior ao GPT-3.5 para tarefas de código.
Osika demonstra as capacidades do GPT-Engineer no seguinte vídeo, usando um exemplo simples de jogo da cobrinha.
👶🤖 Introducing `gpt-engineer`
— Anton Osika (@antonosika) June 10, 2023
▸ One prompt generates a codebase
▸ Asks clarifying questions
▸ Generates technical spec
▸ Writes all necessary code
▸ Easy to add your own reasoning steps, modify, and experiment
▸ open source: https://t.co/61YQQDbK3c
▸ Lets you finish a… pic.twitter.com/SLKGZfjdU8
O Hype é justificável?
O projeto ainda está em estágio inicial de desenvolvimento, mas dá uma primeira impressão de como os modelos de linguagem podem tirar ainda mais trabalho dos programadores. Até agora, só vi demonstrações técnicas com o GPT-Engineer, mas isso não significa que as pessoas estejam usando-o para tarefas de produção.
A atenção que o trabalho de Osika está recebendo atualmente deve motivá-lo a abordar os próximos itens em seu roadmap. Existem coisas como “código de autorregeneração” que insere automaticamente erros no GPT-4, pedindo feedback, dividindo a geração de código em pequenas partes ou a capacidade de permitir que o GPT-Engineer decida o que fazer em seguida. O código e as instruções de instalação estão disponíveis no GitHub.
gpt-engineer is in its infant stage.
— Anton Osika (@antonosika) June 22, 2023
Good developers could have insane impact – and learn a ton – by taking leadership, facilitate structure, unleash hundreds of passionate coders that want to contribute and get shit done.
Hard work will be acknowledged.