> ## 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に複雑な\*\*新規機能（net-new features）\*\*の実装を依頼する場合（たとえ反復的でも） | 規模が大きくなるほど信頼性が低下しやすい | **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 の issue 解消）の**大規模なバックログ**は、何千回もの反復にスケールさせることで、非常に大きな **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="スライスのユースケースの図解" width="2000" height="581" data-path="images/use-cases/slicing-use-cases.png" />

<div id="verification">
  ## 検証
</div>

スライスはプロジェクトにおける**最小のアトミックな単位**である必要があります。

| **スライスの例** |
| :--------- |
| **ファイル**   |
| **ノートブック** |
| **モジュール**  |

| **要件**   | **詳細**                                                                                                  |
| :------- | :------------------------------------------------------------------------------------------------------ |
| **時間制限** | 各スライスは、人手によるエンジニアリング作業が**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>

| **要件**       | **説明**                                             |
| ------------ | -------------------------------------------------- |
| **分離性**      | 各スライスは**互いに独立**しており、かつ**後方互換性**を維持している必要があります。     |
| **並列実行**     | **Devin の並列実行機能**を活用して、スライスを**同時に**実行します。          |
| **人によるレビュー** | 各スライスが完了した後、`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="全体モデルの図" width="2216" height="1510" data-path="images/use-cases/overall-model.png" />

| **原則**           | **説明**                                                |
| ---------------- | ----------------------------------------------------- |
| **スライス単位の信頼性**   | Devin は、**個々のスライス** 単位で **最大限の信頼性** を発揮するよう最適化されています。 |
| **スケーリング時の考慮事項** | **数千のスライス** にスケールさせる場合、**高い信頼性** を維持することが重要です。        |
| **エラーの影響**       | 大規模に実行する場合、わずかなエラー率でも累積して大きな影響を及ぼし得ます。                |

<div id="best-practices-for-task-definition">
  ## タスク定義のベストプラクティス
</div>

| **要件**              | **説明**                                      |
| ------------------- | ------------------------------------------- |
| **明確なステップの詳細**      | 各スライスごとに**明示的な手順**を記載します。                   |
| **エンドツーエンドのリファレンス** | **詳細なガイドまたは動画**を用意すると、一貫性を保ちやすくなります。        |
| **Before/After の例** | 複数の**Before/After のコード例**（入力/出力のペア）を提供します。  |
| **依存関係へのアクセス**      | Devin がタスク実行に必要な**すべての依存関係**へアクセスできるようにします。 |

Devin は、適切に**分割および構造化**されている場合、継続的な**技術的負債**対応のタスク（例：**PR レビュー、QA 自動化**）で真価を発揮します。

<Note>
  マイグレーション、モダナイゼーション、リファクタリングは、**段階的に対応できる場合は**非常に有効なユースケースです。
  たとえば、**すべての変更を一度に**行う必要があるリポジトリ全体のマイグレーションは、**推奨されません**。
</Note>

**ケーススタディ：** [Nubank Migration Case Study](https://devin.ai/customers/nubank)
