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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.