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

# 最佳实践

> 如何组织工作以充分发挥 Devin 的效率并最大化投资回报率（ROI）

为 Devin 确定合适的用例是最大化效率和投资回报率（ROI）的关键。以下是选择与 Devin 优势相契合用例的一些最佳实践。

<div id="best-enterprise-use-cases">
  ## 最佳 Enterprise 使用场景
</div>

| **理想使用场景评估标准**                       |
| :----------------------------------- |
| 规模大、业务价值高，且可以拆分为**相互独立且可重复的子任务**的项目。 |
| 需要**少于 90 分钟**工程师人工时间的任务。            |
| **向后兼容型任务**，可以被独立验证并合并。              |

<div id="devins-ideal-requirements">
  ## Devin 的理想任务要求
</div>

| **要求**               |
| :------------------- |
| 大量**重复性的子任务**（切片）    |
| 复杂度相当于**初级工程师水平**的任务 |
| **相互独立且可逐步推进**的任务    |
| **客观且可验证**的子任务       |
| \*\*（推荐）\*\*对项目依赖最少  |

如果你的任务满足上述大部分或全部要求，那么这个任务就非常适合交给 Devin 处理。

<div id="crafting-devins-work">
  ## 规划 Devin 的工作
</div>

选择合适的**任务类型**对于最大化 Devin 的可靠性至关重要。

| **场景**                           | **可靠性考量**    | **任务类型**                 |
| -------------------------------- | ------------ | ------------------------ |
| 让 Devin 构建复杂的、**全新的功能**（即使是重复性的） | 在大规模使用时可靠性较低 | **纵深型（Tall & Deep）**     |
| 给 Devin 分配**简单、定义清晰的任务**         | 可靠性高且效果显著    | **广而浅型（Wide & Shallow）** |

<div id="tall-deep-vs-wide-shallow">
  ### 垂直深入 vs. 水平广浅
</div>

<div style={{ width: '100%' }}>
  <img src="https://mintcdn.com/cognitionai/k89q9Lsp7DOurdC0/images/use-cases/narrow-deep-vs-shallow.png?fit=max&auto=format&n=k89q9Lsp7DOurdC0&q=85&s=0cb1923b1f49d4ca184a2a6597b774d7" alt="狭窄-深入 与 浅层-广泛 的对比" width="50%" style={{ marginLeft: 'auto', marginRight: 'auto' }} data-path="images/use-cases/narrow-deep-vs-shallow.png" />
</div>

由简单、**可水平扩展**的任务（例如解决 SonarQube 问题）构成的**大量待办事项**，在扩展到成千上万次迭代时，可以产生显著的**投资回报率（ROI）**。

<img src="https://mintcdn.com/cognitionai/k89q9Lsp7DOurdC0/images/use-cases/horizontal-changes.png?fit=max&auto=format&n=k89q9Lsp7DOurdC0&q=85&s=d310cd031634c6747a29948b7009c3b4" alt="水平变更示意图" width="1916" height="322" data-path="images/use-cases/horizontal-changes.png" />

<Note>
  切片越简单，整体项目就越**可靠**。
</Note>

<div id="what-to-slice">
  ## 应该切分什么
</div>

**非常适合交给 Devin 处理的任务类型：**

* **迁移**
* **重构**
* **现代化改造**
* **技术债务积压事项**

例如，在进行**代码迁移**时，应当将任务拆分为一系列**彼此独立的切片**，每个切片由一个独立的 Devin 会话负责处理。

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

<div id="verification">
  ## 验证
</div>

一个 slice 应该是项目中**最小的原子单元**。

| **示例 Slice**   |
| :------------- |
| **文件（File）**   |
| **Notebook**   |
| **模块（Module）** |

| **要求**   | **详情**                                                                             |
| :------- | :--------------------------------------------------------------------------------- |
| **时间限制** | 每个 slice 所需的人工工程工作必须**少于 90 分钟**完成。                                                |
| **验证**   | 必须包含一种**验证代码变更**的方式，例如：<br /> - 运行测试 <br /> - 构建代码 <br /> - CI 检查 <br /> - 自定义验证脚本 |

<Warning>
  Devin 必须具有清晰的用于判断**成功/失败**的验证机制。
</Warning>

<Tip>
  避免选择对**依赖**或外部系统依赖过多的任务。Devin 擅长**编码类任务**。
</Tip>

<img src="https://mintcdn.com/cognitionai/k89q9Lsp7DOurdC0/images/use-cases/backwards-compatibility.png?fit=max&auto=format&n=k89q9Lsp7DOurdC0&q=85&s=f61b10cfb2c001154e5665f97c97f776" alt="向后兼容性示意图" width="1746" height="1332" data-path="images/use-cases/backwards-compatibility.png" />

<div id="parallel-execution">
  ## 并行执行
</div>

| **需求**   | **说明**                                    |
| -------- | ----------------------------------------- |
| **隔离性**  | 每个 slice 必须是**独立的**并且**向后兼容**。            |
| **并行执行** | 利用 **Devin 的并行处理能力**来**同时**执行各个 slice。    |
| **人工审查** | 每个 slice 完成后，在合并到 `main` 之前，都应经过**人工审查**。 |

<img src="https://mintcdn.com/cognitionai/k89q9Lsp7DOurdC0/images/use-cases/parallel-execution.png?fit=max&auto=format&n=k89q9Lsp7DOurdC0&q=85&s=037101d29598ed4efcc626e8d8210bd8" alt="并行执行可视化" width="2576" height="872" data-path="images/use-cases/parallel-execution.png" />

<div id="scaling-considerations">
  ## 扩展性考量
</div>

<img src="https://mintcdn.com/cognitionai/k89q9Lsp7DOurdC0/images/use-cases/overall-model.png?fit=max&auto=format&n=k89q9Lsp7DOurdC0&q=85&s=8e2d8ed7a06a2ebbeef75591c57d3c3b" alt="Overall model diagram" width="2216" height="1510" data-path="images/use-cases/overall-model.png" />

| **原则**     | **描述**                             |
| ---------- | ---------------------------------- |
| **切片级可靠性** | Devin 在**单个切片**层面经过优化，确保**最大可靠性**。 |
| **扩展性考量**  | 当扩展到**成千上万的切片**时，保持**高可靠性**至关重要。   |
| **错误影响**   | 即使是很小的错误率，在大规模执行时也会不断累积放大。         |

<div id="best-practices-for-task-definition">
  ## 任务定义最佳实践
</div>

| **需求**                    | **说明**                        |
| ------------------------- | ----------------------------- |
| **Clear step details**    | 为每个任务切片提供**明确的操作说明**。         |
| **End-to-end reference**  | 提供**端到端的详细指南或视频**以确保一致性。      |
| **Before/After examples** | 提供多个**变更前后的代码对比示例**（输入/输出对）。  |
| **Dependency access**     | 确保 Devin 拥有完成该任务所需的**全部依赖项**。 |

当相关工作被合理地**拆分和结构化**后，Devin 在处理持续性的**技术债务**类任务（例如 **PR 评审、QA 自动化**）时表现尤为出色。

<Note>
  迁移、现代化改造和重构是非常适合的用例，**前提是可以分阶段、逐步推进**。
  例如，如果要求对**整个代码库进行一次性迁移**，则**不推荐**这种做法。
</Note>

**案例研究：**[Nubank 迁移案例研究](https://devin.ai/customers/nubank)
