Skip to main content
Devin Desktopの前提情報エンジンは、コードベース、これまでのアクション、そして次に何をしようとしているかを深く理解します。 従来、コード生成のアプローチは、大規模言語モデル (LLM) をコードベースに対してファインチューニングすることに重点を置いていましたが、 これは個々のユーザーのニーズに合わせてスケールさせるのが困難です。 近年広く利用されているアプローチでは、検索拡張生成 (RAG) を活用し、 関連性が高く前提情報が豊富なプロンプトを構築する技術に重点を置くことで、 LLMから正確な回答を引き出します。 Devin Desktopでは、コードベースの前提情報に対して最適化したRAGアプローチを実装しており、 これにより、より高品質な提案と、より少ないハルシネーションを実現しています。
Devin DesktopはEnterprise向けにフルファインチューニングを提供しており、最良の解決策は ファインチューニングとRAGを組み合わせることです。

デフォルトの前提情報

Devin Desktop は、初期状態で複数の関連情報を前提情報として考慮します。
  • IDE で現在開いているファイルやその他のファイル。これらは、今書いているコードにとって非常に重要な情報になることがよくあります。
  • さらに、ローカルのコードベース全体がインデックス化され (開いていないファイルも含む) 、 コードを書いたり、質問したり、コマンドを実行したりする際に、関連するコードスニペットが Devin Desktop の検索エンジンによって取得されます。
  • Pro ユーザー向けには、より長い前提情報長、より高いインデックス上限、カスタム前提情報と固定した前提情報アイテムの上限拡大を提供しています。
  • Teams および Enterprise ユーザー向けには、Devin Desktop はリモートリポジトリもインデックス化できます。 これは、開発組織が複数のリポジトリにまたがって作業している企業にとって便利です。

前提情報のピン留め

ベストプラクティス

前提情報のピン留めは、現在のファイルでの作業が他のファイルの情報に依存している場合に特に有効です。 ピン留めするのは、本当に必要なものだけにしてください。ピン留めしすぎると、モデルの性能が低下したり、悪影響が生じたりする可能性があります。 効果的に前提情報をピン留めするためのヒントをいくつか紹介します。
  • モジュール定義: 現在アクティブなファイルとは別モジュールにある、リポジトリ内のクラス/構造体の定義ファイルをピン留めします。
  • 内部フレームワーク/ライブラリ: フレームワーク/ライブラリの使用例を含むディレクトリをピン留めします。
  • 特定のタスク: 特定のインターフェースを定義しているファイルまたはフォルダ (例: .proto ファイル、抽象クラスのファイル、設定テンプレート) をピン留めします。
  • 現在の重点領域: 現在のコーディングセッションで必要なファイルの大半を含む、最も近い共通ディレクトリをピン留めします。
  • テスト: 単体テストを書いている対象クラスが含まれる特定のファイルをピン留めします。

チャット固有の前提情報機能

Devin Desktop Chat で会話する際は、@メンション やカスタムガイドラインなどを使って、コードベースの前提情報を活用できます。 詳しくは Chat ページ をご覧ください。

よくある質問 (FAQ)

Devin Desktop は私のコードベースをインデックス化しますか?

はい、Devin Desktop はコードベースをインデックス化します。また、独自の M-Query 技術を用いて、コードベースに対する検索拡張生成 (RAG) を行うために LLM も利用します。 インデックス化のパフォーマンスと利用できる機能は、ワークフローと Devin Desktop のプランによって異なります。詳細については、前提情報認識ページ をご覧ください。