Skip to main content
Casos de uso estratégicos são projetos grandes, de alto valor para o negócio, que podem ser divididos em subtarefas isoladas e repetitivas. Cada parte é o trabalho de um Devin, portanto deve ser simples (menos de 90 minutos de tempo de um engenheiro humano) e incremental.
TLDR — Requisitos de casos de uso do Devin:
  1. Alto volume de subtarefas repetitivas (fatias)
  2. Subtarefas com dificuldade equivalente a um engenheiro júnior
  3. Subtarefas que sejam isoladas e possam ser feitas de forma incremental
  4. Subtarefas com um ciclo de verificação objetivo
  5. (Recomendado): Dependências mínimas de projeto

Características necessárias

Um caso de uso estratégico ideal do Devin é raso e amplo, em vez de estreito e profundo. Funcionalidades complexas e criadas do zero (mesmo que repetitivas) dificilmente serão confiáveis o suficiente em larga escala.
Comparação entre estreito-profundo e raso-amplo
Um grande backlog de mudanças horizontais e simples (por exemplo, issues do SonarQube) gera um ROI enorme quando escalado horizontalmente. Diagrama de mudanças horizontais
Quanto mais simples o recorte, mais confiável é o projeto como um todo.

Casos de uso de fatiamento [IMPORTANTE]

Migrações, refatorações, modernizações e backlogs de dívida técnica são ótimos casos de uso. Por exemplo, considere uma migração de código. Divida a migração em partes isoladas, em que cada tarefa é tratada por uma sessão individual do Devin. Slicing use cases illustration

Verificação

Um slice deve ser a menor unidade atômica do projeto (arquivo, notebook ou módulo) com:
  1. Menos de 90 minutos de trabalho de engenharia humana
  2. Uma forma de verificar as mudanças de código (testes, build, checagens de CI ou script de verificação personalizado)
Cada Devin deve saber objetivamente se concluiu sua tarefa com sucesso. Até concluir a verificação, ele deve continuar iterando usando stack traces detalhados ou logs de erro.
Cada slice deve evitar ter dependências demais ou muitas plataformas com as quais interagir. Concentre o Devin nas mudanças de código! Diagrama de compatibilidade com versões anteriores Cada slice deve ser isolado e incremental. Aproveitando o paralelismo do Devin, conclua a migração um slice por vez. Após a revisão humana, faça o merge sucessivo de cada PR em master. Visualização de execução paralela O modelo geral para um caso de uso do Devin: Diagrama de modelo geral O Devin deve ser o mais confiável possível no nível individual de cada slice, para que, ao paralelizarmos milhares de slices, mantenhamos alta confiabilidade em escala. Mesmo uma pequena margem de erro pode resultar em muitas mudanças incorretas quando ampliada.

A ser fornecido pelo cliente

  • Detalhamento claro de cada etapa em cada slice (um documento detalhado ou vídeo do processo de ponta a ponta é muito eficaz)
  • Vários exemplos de alterações de código antes/depois (pares de entrada/saída)
  • Acesso do Devin a todas as dependências necessárias em cada slice

Exemplos

Tarefas contínuas relacionadas à dívida técnica (por exemplo, revisão de PRs ou testes de QA) também são ótimos casos de uso, desde que possam ser divididas em partes.
Migrações, modernizações e refatorações são ótimos casos de uso para o Devin quando são incrementais. Uma migração que exige atualizar todo o repositório para o novo sistema de uma só vez, em vez de uma parte por vez, não é recomendada.
Leitura adicional: Estudo de caso de migração do Nubank