> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devinenterprise.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Melhores práticas

> Como estruturar o trabalho com o Devin para maximizar a eficiência e o ROI

Identificar o caso de uso ideal para o Devin é fundamental para maximizar a eficiência e o retorno sobre o investimento (ROI). A seguir estão as melhores práticas para selecionar um caso de uso que aproveite os pontos fortes do Devin.

<div id="best-enterprise-use-cases">
  ## Melhores casos de uso para Enterprise
</div>

| **Critérios ideais de casos de uso**                                                                              |
| :---------------------------------------------------------------------------------------------------------------- |
| Projetos grandes, de alto valor para o negócio, que podem ser divididos em **subtarefas isoladas e repetitivas**. |
| Tarefas que exigem **menos de 90 minutos** de trabalho de engenharia manual.                                      |
| **Tarefas compatíveis com versões anteriores** que podem ser validadas e mescladas de forma independente.         |

<div id="devins-ideal-requirements">
  ## Requisitos ideais para o Devin
</div>

| **Requisito**                                      |
| :------------------------------------------------- |
| Alto volume de **subtarefas repetitivas** (slices) |
| Tarefas com complexidade de **engenheiro júnior**  |
| Tarefas **isoladas e incrementais**                |
| Subtarefas **objetivas e verificáveis**            |
| **(Recomendado)** Mínimas dependências de projeto  |

Se sua tarefa atende à maioria ou a todos esses requisitos, ela é uma candidata ideal para o Devin.

<div id="crafting-devins-work">
  ## Definindo o trabalho do Devin
</div>

Selecionar o **tipo de tarefa** certo é crucial para maximizar a confiabilidade do Devin.

| **Cenário**                                                                                 | **Questão de confiabilidade**        | **Tipo de tarefa** |
| ------------------------------------------------------------------------------------------- | ------------------------------------ | ------------------ |
| Pedir ao Devin para construir **funcionalidades novas e complexas** (mesmo que repetitivas) | Menor confiabilidade em larga escala | **Tall & Deep**    |
| Atribuir ao Devin **tarefas simples e bem definidas**                                       | Altamente confiável e eficaz         | **Wide & Shallow** |

<div id="tall-deep-vs-wide-shallow">
  ### Vertical e profundo vs. horizontal e raso
</div>

<div style={{ width: '100%' }}>
  <img src="https://mintcdn.com/cognitionai-enterprise/A1NrXl_1--Cgx5nh/images/use-cases/narrow-deep-vs-shallow.png?fit=max&auto=format&n=A1NrXl_1--Cgx5nh&q=85&s=31e8a4ed3215dda3a3bb7a530dbdc75a" alt="Comparação entre estreito-profundo e raso-amplo" width="50%" style={{ marginLeft: 'auto', marginRight: 'auto' }} data-path="images/use-cases/narrow-deep-vs-shallow.png" />
</div>

Um **grande backlog** de tarefas simples, **escaláveis horizontalmente** (por exemplo, resolver issues do SonarQube) pode gerar um **ROI** significativo quando replicado ao longo de milhares de iterações.

<img src="https://mintcdn.com/cognitionai-enterprise/A1NrXl_1--Cgx5nh/images/use-cases/horizontal-changes.png?fit=max&auto=format&n=A1NrXl_1--Cgx5nh&q=85&s=573767f3f77f9a58c0781b8e02bebc31" alt="Diagrama de mudanças horizontais" width="1916" height="322" data-path="images/use-cases/horizontal-changes.png" />

<Note>
  Quanto mais simples for a fatia, mais **confiável** será o projeto como um todo.
</Note>

<div id="what-to-slice">
  ## O que dividir em partes
</div>

**Ótimos candidatos para o Devin:**

* **Migrações**
* **Refatorações**
* **Modernizações**
* **Backlogs de dívida técnica**

Por exemplo, ao trabalhar em uma **migração de código**, ela deve ser dividida em **partes isoladas**, cada uma tratada em uma sessão individual do Devin.

<img src="https://mintcdn.com/cognitionai-enterprise/A1NrXl_1--Cgx5nh/images/use-cases/slicing-use-cases.png?fit=max&auto=format&n=A1NrXl_1--Cgx5nh&q=85&s=6aa284d1718ffdbee6c34bc5941c6f0f" alt="Slicing use cases illustration" width="2000" height="581" data-path="images/use-cases/slicing-use-cases.png" />

<div id="verification">
  ## Verificação
</div>

Uma slice deve ser a **menor unidade atômica** do projeto.

| **Exemplos de Slices** |
| :--------------------- |
| **Arquivo**            |
| **Notebook**           |
| **Módulo**             |

| **Requisito**       | **Detalhes**                                                                                                                                                                                            |
| :------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Limite de tempo** | Cada slice deve exigir **menos de 90 minutos** de trabalho manual de engenharia.                                                                                                                        |
| **Verificação**     | Deve incluir uma forma de **validar alterações de código**, como: <br /> - Executar testes <br /> - Fazer o build do código <br /> - Verificações de CI <br /> - Um script de verificação personalizado |

<Warning>
  Devin deve ter um mecanismo claro de verificação de **sucesso ou falha**.
</Warning>

<Tip>
  Evite tarefas com **muitas dependências** ou que envolvam sistemas externos. Devin é excelente em **tarefas de programação**.
</Tip>

<img src="https://mintcdn.com/cognitionai-enterprise/A1NrXl_1--Cgx5nh/images/use-cases/backwards-compatibility.png?fit=max&auto=format&n=A1NrXl_1--Cgx5nh&q=85&s=af04cf632b6147d00d0a7b8770ea7565" alt="Diagrama de compatibilidade retroativa" width="1746" height="1332" data-path="images/use-cases/backwards-compatibility.png" />

<div id="parallel-execution">
  ## Execução paralela
</div>

| **Requisito**         | **Descrição**                                                                                                |
| --------------------- | ------------------------------------------------------------------------------------------------------------ |
| **Isolamento**        | Cada slice deve ser **independente** e **retrocompatível**.                                                  |
| **Execução paralela** | Use o **paralelismo do Devin** para executar os slices **simultaneamente**.                                  |
| **Revisão humana**    | Após a conclusão de cada slice, ele deve ser submetido a **revisão humana** antes de ser mesclado em `main`. |

<img src="https://mintcdn.com/cognitionai-enterprise/A1NrXl_1--Cgx5nh/images/use-cases/parallel-execution.png?fit=max&auto=format&n=A1NrXl_1--Cgx5nh&q=85&s=a433d54e210090f0684cc52fe1dc9721" alt="Visualização da execução paralela" width="2576" height="872" data-path="images/use-cases/parallel-execution.png" />

<div id="scaling-considerations">
  ## Considerações sobre Escalabilidade
</div>

<img src="https://mintcdn.com/cognitionai-enterprise/A1NrXl_1--Cgx5nh/images/use-cases/overall-model.png?fit=max&auto=format&n=A1NrXl_1--Cgx5nh&q=85&s=19606bc8be5371a190001df9daf3d2cf" alt="Diagrama geral do modelo" width="2216" height="1510" data-path="images/use-cases/overall-model.png" />

| **Princípio**                        | **Descrição**                                                                         |
| ------------------------------------ | ------------------------------------------------------------------------------------- |
| **Confiabilidade em nível de slice** | Devin é otimizado para **máxima confiabilidade** no nível de **slice individual**.    |
| **Consideração de escalabilidade**   | Ao escalar para **milhares de slices**, manter **alta confiabilidade** é fundamental. |
| **Impacto de erros**                 | Mesmo uma pequena taxa de erro pode se acumular quando se opera em grande escala.     |

<div id="best-practices-for-task-definition">
  ## Melhores práticas para definição de tarefas
</div>

| **Requisito**                     | **Descrição**                                                                   |
| --------------------------------- | ------------------------------------------------------------------------------- |
| **Detalhamento claro das etapas** | Forneça **instruções explícitas** para cada etapa.                              |
| **Referência de ponta a ponta**   | Um **guia detalhado ou vídeo** ajuda a garantir a consistência.                 |
| **Exemplos de Antes/Depois**      | Ofereça vários **exemplos de código de antes/depois** (pares de entrada/saída). |
| **Acesso a dependências**         | Garanta que o Devin tenha **todas as dependências necessárias** para a tarefa.  |

Devin é excelente em tarefas contínuas relacionadas a **dívida técnica** (por exemplo, **revisão de PRs, automação de QA**) quando são bem **divididas e estruturadas**.

<Note>
  Migrações, modernizações e refatorações são ótimos casos de uso **se puderem ser realizadas de forma incremental**.
  Por exemplo, uma migração de repositório completo que exija **todas as mudanças de uma só vez** **não é recomendada**.
</Note>

**Estudo de caso:** [Estudo de caso de migração da Nubank](https://devin.ai/customers/nubank)
