Devin: A Revolução da IA na Engenharia de Software ou o Fim dos Programadores?
Devin: A Revolução da IA na Engenharia de Software ou o Fim dos Programadores?
Recentemente, a Cognition Labs, uma startup de IA aplicada com foco em raciocínio, abalou o mundo da tecnologia ao apresentar Devin, aclamado como o primeiro engenheiro de software de IA totalmente autônomo. Com um investimento de $21 milhões Série A liderado pelo Founders Fund de Peter Thiel, Devin promete redefinir o desenvolvimento de software. Mas o que exatamente Devin pode fazer e qual seu real impacto?
O Que é Devin, o Engenheiro de Software AI da Cognition Labs?
Devin não é apenas mais um assistente de codificação. De acordo com a Cognition Labs, ele é um "colega de equipe incansável e habilidoso, pronto para construir projetos ao seu lado ou completar tarefas de forma independente para sua revisão". Baseado em avanços em raciocínio e planejamento de longo prazo, Devin é capaz de:
- Planejar e executar tarefas complexas de engenharia que exigem milhares de decisões.
- Aprender novas tecnologias e conceitos rapidamente.
- Recordar contextos relevantes em cada etapa do desenvolvimento.
- Corrigir seus próprios erros e aprender com eles.
- Colaborar ativamente com o usuário, reportando progresso em tempo real e aceitando feedback.
Ele vem equipado com ferramentas comuns de desenvolvedor, como shell, editor de código e navegador, tudo dentro de um ambiente de computação em sandbox.
As Impressionantes Capacidades de Devin em Ação
O vídeo de introdução, apresentado por Scott Wu, CEO da Cognition AI, demonstra algumas das capacidades notáveis de Devin.
Devin e o Benchmark de Modelos de Linguagem
Em uma das demonstrações, Devin recebe a tarefa de realizar um benchmark da performance do modelo Llama 2 em três diferentes provedores de API: Replicate, Together e Perplexity. Devin demonstra um fluxo de trabalho completo:
- Planejamento Detalhado: Devin primeiro cria um plano passo a passo para abordar o problema, incluindo pesquisa de documentação, escrita de scripts Python, implementação de medição de tempo de resposta e precisão, testes e análise dos resultados.
- Uso do Navegador e Leitura de Documentação: Utilizando seu próprio navegador, Devin acessa a documentação das APIs para entender os formatos de requisição e parâmetros necessários.
- Codificação e Iteração: Ele escreve o script Python em seu editor de código integrado, utilizando a linha de comando para executar e testar.
- Debugging Autônomo: Ao encontrar um erro inesperado (KeyError: 'text'), Devin decide adicionar uma instrução de print para debugging, reexecuta o código, analisa os logs e identifica como corrigir o bug, tudo de forma autônoma.
- Visualização e Implantação: Finalmente, Devin constrói e implanta um website com a visualização dos resultados do benchmark, incluindo gráficos e tabelas, hospedando-o no Netlify.
Este exemplo ilustra a capacidade de Devin de lidar com um projeto do início ao fim, utilizando as mesmas ferramentas que um engenheiro de software humano usaria.
Outros Exemplos Práticos da Capacidade de Devin
A Cognition Labs também mostrou outras aplicações de Devin:
- Aprendendo Tecnologias Desconhecidas: Após ler um post de blog, Devin executa o ControlNet no Modal para produzir imagens com mensagens ocultas para uma usuária chamada Sara.
- Desenvolvimento de Aplicações Completas: Devin cria um website interativo que simula o Jogo da Vida (Game of Life) de Conway, adicionando incrementalmente funcionalidades solicitadas pelo usuário e, em seguida, implantando o aplicativo no Netlify.
- Trabalhos Reais no Upwork: Em uma demonstração particularmente impressionante, Devin assume um trabalho real da plataforma Upwork para realizar inferências com um modelo de visão computacional. Ele clona o repositório do GitHub, configura o ambiente, lida com problemas de versionamento e dependências (como torch e torchvision), baixa as imagens necessárias da internet, executa o modelo e compila um relatório com os resultados e imagens de amostra. Tudo isso com mínima intervenção humana, que se resume a fornecer o link do trabalho e os dados de amostra quando solicitado.
Performance de Devin e Comparativos no SWE-bench
A Cognition avaliou Devin no SWE-bench, um benchmark desafiador que pede aos agentes para resolverem problemas reais do GitHub encontrados em projetos de código aberto como Django e scikit-learn.
Os resultados são notáveis: Devin resolve corretamente 13.86% dos problemas de ponta a ponta, sem assistência. Este número supera significativamente o estado da arte anterior, que era de 1.96%. Mesmo quando os modelos anteriores recebiam os arquivos exatos para editar (modo assistido), eles conseguiam resolver apenas 4.80% dos problemas. Em comparação, modelos como Claude 2 (assistido) resolvem 4.80%, GPT-4 (assistido) 1.74%, e ChatGPT 3.5 (assistido) apenas 0.52%.
É importante notar que, conforme indicado no site da Cognition Labs, os resultados de Devin e GPT-4 no gráfico são avaliados em um subconjunto aleatório de 25% do dataset, com Devin operando sem assistência, enquanto os outros modelos foram assistidos (ou seja, informados exatamente quais arquivos precisavam ser editados).
Cognition Labs: A Visionária por Trás do Engenheiro AI Devin
A Cognition Labs se descreve como um laboratório de IA aplicada focado em raciocínio. A empresa, que recentemente levantou $21 milhões em uma rodada Série A liderada pelo Founders Fund, conta com o apoio de figuras proeminentes da indústria como Patrick e John Collison (Stripe), Elad Gil, Sarah Guo, Chris Re, Eric Glyman, Karim Atyieh, Erik Bernhardsson, Tony Xu e Fred Ehrsam. A equipe fundadora possui 10 medalhas de ouro na Olimpíada Internacional de Informática (IOI) e inclui líderes e construtores que trabalharam na vanguarda da IA aplicada em empresas como Cursor, Scale AI, Lunchclub, Modal, Google DeepMind, Waymo e Nuro.
O Impacto Potencial de Devin na Engenharia de Software e Além
As capacidades demonstradas por Devin levantam questões significativas sobre o futuro da engenharia de software.
Devin e o Futuro dos Programadores
Com a capacidade de Devin de lidar com tarefas de desenvolvimento de ponta a ponta, desde a compreensão de requisitos e leitura de documentação até a codificação, debugging e implantação, é natural que surjam preocupações sobre o futuro dos empregos em programação. Engenheiros de nível júnior e intermediário podem ver suas funções transformadas ou até mesmo substituídas por IAs como Devin. Empresas poderiam utilizar Devin para acelerar drasticamente o desenvolvimento, reduzir custos e aumentar a produtividade de equipes sênior.
Até mesmo a indústria de plataformas no-code, como Bubble, que permite a criação de aplicativos sem conhecimento de programação, pode sentir o impacto. Se Devin pode criar software complexo a partir de um simples prompt, a necessidade de ferramentas de arrastar e soltar pode diminuir para certos tipos de projetos.
Devin: Um Passo em Direção à AGI?
A capacidade de Devin de aprender novas habilidades, como demonstrado ao lidar com o ControlNet após ler um blog, e de operar em múltiplos domínios (codificação, análise de imagens, benchmarking, etc.) exibe características que alguns podem associar aos estágios iniciais da Inteligência Artificial Geral (AGI). AGI é definida pela capacidade de uma IA de realizar qualquer tarefa intelectual que um humano pode. Conforme destacado em um estudo do Google sobre os níveis de AGI, a habilidade de aprender novas habilidades e operar em uma vasta gama de tarefas não físicas, incluindo habilidades metacognitivas, são indicadores de progresso em direção à AGI. Devin parece demonstrar algumas dessas "habilidades metacognitivas" e "aprender novas habilidades" de forma impressionante.
Como Ter Acesso ao Engenheiro AI Devin?
Atualmente, Devin está em acesso antecipado enquanto a Cognition Labs aumenta sua capacidade. Para começar a usar Devin para trabalhos de engenharia, é necessário solicitar acesso através de um formulário no site da Cognition Labs ou entrar em contato pelo email info@cognition-labs.com.
Conclusão: Devin é um Marco na IA
Devin, da Cognition Labs, representa um avanço significativo no campo da inteligência artificial aplicada à engenharia de software. Sua capacidade de realizar tarefas complexas de forma autônoma, aprender com novas informações e corrigir seus próprios erros o coloca em uma categoria à parte dos assistentes de codificação existentes. Embora o acesso ainda seja limitado, o potencial de Devin para transformar a indústria de desenvolvimento de software é inegável, levantando tanto entusiasmo quanto questionamentos sobre o futuro do trabalho na área tecnológica. Resta acompanhar de perto os próximos passos desta promissora IA.