> ## 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.

# 一般的なユースケース

> コード生成、単体テスト生成、コードドキュメント作成、API統合、コードのリファクタリングなど、Devin Desktopの一般的なユースケース。

Devin Desktopは幅広いユースケースに対応していますが、その中でも特によく見られるものがいくつかあります。特に、Enterpriseのお客様の本番コードベースで多く見られます。

<div id="code-generation">
  ## コード生成
</div>

<AccordionGroup>
  <Accordion title="ボイラープレートコード">
    **ガイダンス:** このユースケースでは Devin Desktop が適しています。単一行候補、複数行候補、fill-in-the-middle (FIM) 補完などの Devin Desktop の機能が役立ちます。

    **ベストプラクティス:** Next Completion (`⌥ + ]`)、Context Pinning、@メンション、Custom Context を活用すると、より良い結果が得られます。
  </Accordion>

  <Accordion title="フロントエンド開発タスク">
    **ガイダンス:** このユースケースでは Devin Desktop が適しています。単一行候補、複数行候補、fill-in-the-middle (FIM) 補完などの Devin Desktop の機能が役立ちます。

    **ベストプラクティス:** Next Completion (`⌥ + ]`)、Context Pinning、@メンション、Custom Context を活用すると、より良い結果が得られます。
  </Accordion>

  <Accordion title="バックエンド開発タスク">
    **ガイダンス:** このユースケースでは Devin Desktop が適しています。単一行候補、複数行候補、fill-in-the-middle (FIM) 補完などの Devin Desktop の機能が役立ちます。

    **ベストプラクティス:** Next Completion (`⌥ + ]`)、Context Pinning、@メンション、Custom Context を活用すると、より良い結果が得られます。
  </Accordion>
</AccordionGroup>

<div id="unit-test-generation">
  ## 単体テストの生成
</div>

<AccordionGroup>
  <Accordion title="単体テストを生成し、冗長なテストケースを自動的に削除する">
    **ガイダンス:** Devin Desktop の基本的な使い方でも、単体テストの 60〜70% は安定して生成できます。エッジケースの網羅性は、モデルへのプロンプトの質に大きく左右されます。

    **ベストプラクティス:** @メンションを利用し、プロンプトエンジニアリングのベストプラクティスに従ってください。使用例:

    X と Y (例: メールドメイン) に関するすべてのエッジケースを検証する `@function-name` の単体テストを書いてください。

    `@testing-utility-class` を利用して、`@function-name` の単体テストを書いてください。
  </Accordion>

  <Accordion title="テスト実行用のサンプルデータを生成する">
    **ガイダンス:** 比較的簡単なユースケースに適しています。非常に具体的な API 仕様や社内ライブラリについては、Devin Desktop は細部まで十分に把握できないため、生成されるサンプルデータの品質を保証できません。

    **ベストプラクティス:** 期待するインターフェースをできるだけ具体的に示してください。タスクの複雑さと、単発の LLM 呼び出しだけで十分に対応できるかどうかを考慮してください。
  </Accordion>
</AccordionGroup>

<div id="internal-code-commentary">
  ## コード内コメント
</div>

<AccordionGroup>
  <Accordion title="インラインコメントとコードの説明を生成する">
    **Guidance:** この用途には Devin Desktop が適しています。インラインコメントやコードの説明を生成するには、Devin Desktop Command または Devin Desktop Chat を利用してください。

    **Best Practices:** LLM の呼び出し範囲が適切になるよう、@メンションとコードレンズをできるだけ活用してください。
  </Accordion>

  <Accordion title="改善案や明確化を提案する">
    **Guidance:** 一般的に、改善を促すには Refactor ボタン / Devin Desktop Command を利用するのが最適です。説明や明確化を求めるには Devin Desktop Chat が最適です。やや曖昧な区分ではありますが、Devin Desktop はどちらにも対応できます。

    Devin Desktop Chat は、説明や明確化を求めるのに最適です。

    やや曖昧な区分ではありますが、Devin Desktop はどちらにも対応できます。

    **Best Practices**: ドロップダウンのプロンプト (つまり Devin Desktop の Refactor ボタン) を利用してください。より期待に近い回答を返せるよう、専用に設計されたカスタムプロンプトを用意しています。
  </Accordion>

  <Accordion title="関数ヘッダーを自動化する (C/C++/C#)">
    **Guidance**: これを行う最善の方法は、ヘッダーファイルを作成し、チャットを開いて、cpp ファイル内の関数を @メンションし、その関数のヘッダーを書かせることです。その後、cpp ファイル内の各関数についてこれを繰り返してください。こうすることで、途中でハルシネーションが発生するのを最も確実に防げます。

    **Best Practices**: 一般的に、1 回の LLM 呼び出しでヘッダーファイル全体を書こうとするのは避けてください。作業をより細かい粒度に分けることで、生成されるコードの品質は大幅に向上します。
  </Accordion>
</AccordionGroup>

<div id="api-documentation-and-integration">
  ## APIドキュメントと統合
</div>

<AccordionGroup>
  <Accordion title="APIの作成とあわせてドキュメントを作成し、適切な前提情報を伝える">
    **指針**: これはテストカバレッジに似ています。多くのライブラリに共通するAPI仕様の部分であれば、Devin Desktopは正確に補完できます。一方、社内の特定のユースケース向けに独自に作られたものは、期待どおりの品質で対応するのが難しい場合があります。

    **ベストプラクティス**: テストカバレッジと同様に、APIが何をしているのか、どう捉えるべきかをできるだけ丁寧にDevin Desktopのモデルに伝えることで、より適切に補完できるようになります。
  </Accordion>

  <Accordion title="自然言語でリポジトリ内のAPIを検索し、統合用のコードを生成する">
    **指針**: Devin Desktopの1回のLLM呼び出しで扱える前提情報の長さは16,000トークンです。そのため、検索範囲によっては、Devin Desktopのリポジトリ全体を対象とした検索機能だけでは不十分な場合があります。リポジトリ全体にまたがる複数ステップ・複数編集のタスクは、今後のDevin Desktop製品でサポートされる予定です。

    これは本質的に複数ステップの問題であり、単発のLLM呼び出し (つまり、現在のすべてのAIコードアシスタントの機能) では十分に対応できません。さらに、統合は特に壊れやすいため、結果の正確性は他のユースケースよりもはるかに高くある必要があります。

    **ベストプラクティス**: 現時点では、Devin Desktopはこの問題の解決に十分対応できません。Devin Desktopの既存機能でどこまで対応できるか試したい場合は、ステップごとの計画を立て、各ステップについて詳細な指示を添えて個別にDevin Desktopへプロンプトを与え、AIを導いてください。
  </Accordion>
</AccordionGroup>

<div id="code-refactoring">
  ## コードのリファクタリング
</div>

<AccordionGroup>
  <Accordion title="コードの簡素化とモジュール化">
    **ガイダンス**: 必要な前提情報がすべて LLM に渡されるよう、Devin Desktop のコードレンズまたは @メンションを使って適切にスコープを設定してください。

    1 回の LLM 呼び出しで扱える前提情報の長さには限りがあります。そのため、リファクタリングの範囲によっては、この制限が問題になる場合があります (これは単発の LLM アプローチ全般に当てはまります) 。リポジトリ全体にまたがる複数ステップ・複数編集のタスクは、Devin Desktop の [Cascade](/ja/desktop/cascade) でサポートされています。

    **ベストプラクティス**: プロンプトはできるだけ細かく分解してください。リファクタリング用の Command は、シンプルで短いほど効果的です。
  </Accordion>

  <Accordion title="可読性 / 保守性を高めるためのコード再構成">
    **ガイダンス**: 必要な前提情報がすべて LLM に渡されるよう、Devin Desktop のコードレンズまたは @メンションを使って適切にスコープを設定してください。

    Devin Desktop では、1 回の LLM 呼び出しで扱える前提情報の長さは 16,000トークン です。そのため、リファクタリングの範囲によっては、この前提情報の長さが問題になる場合があります (これは単発の LLM アプローチ全般に当てはまります) 。リポジトリ全体にまたがる複数ステップ・複数編集のタスクは、今後の Devin Desktop 製品でサポート予定です。

    **ベストプラクティス**: プロンプトはできるだけ細かく分解してください。リファクタリング用の Command は、シンプルで短いほど効果的です。
  </Accordion>
</AccordionGroup>
