Smart CodeInsight
Smart CodeInsight はオープン アーキテクチャであり、好きな AI エンジンを使用した作業を可能にします。RAD Studio はまた、次の実装済み機能に加え、カスタマイズ可能な UI インテグレーションも提供しています。
- コア AI エンジンと ToolsAPI
- IDE インテグレーション:
- オンライン/オフライン LLM プロバイダのサポート:
- OpenAI、Gemini、Claude(オンライン)
- Ollama(オフライン)
ヒント: Ollama は、MIT ライセンスに基づいてオープンソースとして配布されます。Ollama と共に使用する可能性のある個々のモデルは、それぞれ独自のライセンスが適用されます。Codellama の利用規約はこのページでご確認いただけます。
style="list-style: none; display: inline"
メモ: ToolsAPI を愛用されている方のために、RAD Studio では独自の API プラグインを作成することができます。詳細については、「AI プラグインの作成と実装」ページを参照してください。
構成オプション
RAD Studio では、拡張設定と完全なプライバシ制御を複数の方法で提供しており、次のことが可能です:
- AI 機能全体を、1つのグローバル設定でオフにする
- 4 つのエンジンそれぞれを有効/無効にする
- UI 要素(チャット/エディタのメニュー)のデフォルト エンジンを選ぶ
これらすべての機能は、IDE オプションで設定できます。このトピックの詳細については、ページ「Smart CodeInsight の設定」を参照してください。
- システムのセキュリティを確保するため、次の対策も実施されています:
- API キーの暗号化形式での保存
- ローカル、オフライン エンジンを使用するためのオプションの提供
エディタ メニューのコマンド
エディタ メニューでは、エディタ自身の中で選択されたコードに対して、いくつか事前設定された操作が用意されています。アプリケーションのソース コードの一部を分析および最適化することを目的としています。
出力として、LLM エンジンは、分析されたコードの後のコメントとして、結果をエディタ ウィンドウに返します。(★add a screenshot)
利用可能なコマンド
Smart CodeInsight で利用可能なコマンドを確認しましょう:
- AI チャット:チャット ビューを開きます。
- [バグの検知]: 選択されたコード内で潜在的なバグを検索します。
- [コードの説明]: 選択されたコードを説明します。
- [コメントの追加]: 選択されたコードにコメントを追加します。
- [コードの補完]: 選択されたコードを補完します。
- [コードの最適化]: 選択されたコードを最適化します。
- [ユニット テストの追加]:選択されたコードにユニット テストを追加します。
- [アセンブリに変換]: 選択されたコードをアセンブリ コードに変換します。
- [Delphi に変換]: 選択されたコードを Delphi コードに変換します(C++ またはアセンブリから)。
- [C++Builder に変換]: 選択されたコードを C++Builder コードに変換します。
- [ヘッダーの検索(AI)](C++)または[ユニットの検索](Delphi): 選択されたコードのクラスまたはデータ型の uses 文に、不足しているユニットを追加します。
- [エディタに結果を表示]: エディタに出力を送ります。
- [チャット ウィンドウに結果を表示]' ': 出力をマークダウン形式で AI チャット ウィンドウに送信します。
AI チャット ウィンドウ
AI チャット ウィンドウは、IDE のドッキング可能フォームで、LLM チャット ウィンドウのように動作します。 リクエストを入力し、エンジン(デフォルトのエンジンを使用する場合を除く)を選択して、応答を待つことができます。簡単な例を以下に示します:
350px
このチャットウィンドウには、シンプルなコマンドラインのように動作する質問メモがあります。使用可能なコマンドは以下のとおりです:
chatgpt> + Enter
: アクティブ AI エンジンを ChatGpt に(有効な場合)切り替えますgemini> + Enter
: アクティブ AI エンジンを Gemini に(有効な場合)切り替えますclaude> + Enter
: アクティブ AI エンジンを Claude に(有効な場合)切り替えますollama> + Enter
: アクティブ AI エンジンを Ollama に(有効な場合)切り替えますclear> + Enter
: 質問メモをクリアします。stop> + Enter
: 停止ボタンをクリックしたときと同じように、回答の生成を停止します。Ctrl + Enter
: 開始ボタンをクリックしたときと同じように、回答の生成を開始します。
標準クエリを実行するだけでなく、コード ウィンドウから特定のコード スニペットを選択して、次のコマンドのいずれかを使用して、そのコード スニペットについて、新しい質問をしたり、説明を要求したりすることができます。
450px
- $COL: アクティブなコード エディタ ウィンドウ内のカーソルが位置する列番号に展開されます。
- $ROW: エディタ ウィンドウ内のカーソルが位置する行番号に展開されます。
- $CURTOKEN: アクティブなコード エディタ ウィンドウ内のカーソルが位置する単語に展開されます。 これは、カーソルの位置にある変数、メソッド、識別子を参照する際に便利です。
- $EDNAME: アクティブなコード エディタ ウィンドウ完全ファイル名に展開されます。これは、現在のパス ファイルの名前(パス付)が必要な場合に便利です。
- $SELECTION: アクティブなエディタで選択されたコード テキストを説明します。
- $UNIT: ユニットのコンテンツ全体のコードについて説明します。
さらなる情報と例については、「転送マクロ」を参照してください。