Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
IDEニュース

RAD Studio 12.3 の AI 搭載 Smart CodeInsight

smartci_cover_bis-3

Embarcadero は、バージョン 12.2 で RAD Studio IDE に初の統合 AI ソリューションを導入しました。Smart CodeInsight と呼ばれるこのテクノロジーは、オンラインとオフラインのさまざまな LLM エンジンと対話する機能を提供するだけでなく、特定の OpenTools API インターフェイスにより他の AI エンジンのドライバーをインストールすることもできます。使用可能なエンジンは次のとおりです。

  • OpenAI
  • Ollama (オフライン)
  • Gemini
  • Claude

RAD Studio IDE から LLM を呼び出すには、主に 2 つの方法があります。汎用チャット ウィンドウを使用する方法と、エディタ内の特定のコマンドを使用する方法です。これらのコマンドでは、プロンプトの一部として選択したソース コードを操作 (および AI に渡すことが) できます。

AI エンジンに Smart CodeInsight の動作を質問するのは良いアイデアだと思いましたが、その応答は、Delphi LSP エンジンについての説明が中心という実に興味深い、しかし奇妙なものでした。昨年 9 月のこのブログ投稿をご覧ください。RAD Studio IDEで「AI LLM」と「Smart CodeInsight」を使用する.

新しいチャットウィンドウ

すでに述べたように RAD Studio 12.3 Athens提供開始のお知らせ 12.3 では Smart CodeInsight にいくつかの機能強化が加えられています。最も注目すべきは、チャットでプレーンテキストではなく Markdown がサポートされ表示されることです。これにより、下の画像に示すように、はるかに読みやすい回答が提供されます。

smartci_01-2

Smart CodeInsight チャット ウィンドウのその他の変更点は、エディタまたはユニットで現在選択されているテキストをコピーするための 2 つの新しいボタン (ペインの下部) の存在です。手動でコピーして貼り付ける代わりに、ボタンを使用して「直接貼り付け」を行うことができます。

さらに、リクエストに特別なマクロを使用できます。リクエストを入力して $ を追加すると、エディタで現在選択されているテキスト( $selection) やエディタでアクティブなユニットのコード全体の($Unit) など、使用可能なシンボルのリストが表示されます。

smartci_02-2

回答は、現在のエディタの選択に基づいて、チャット ウィンドウに再度表示されます。フォーム変数の宣言部を選択し、AI エンジンのプロンプトから処理された結果は次のとおりです。

smartci_03-2

新しいエディタ コマンド: ユニットの検索/ヘッダーの検索

IDE で AI エクスペリエンスが改善されたもう 1 つの領域はエディタです。使用可能なコマンドは 2 つの方法で拡張されました。まず、新しい [ユニットの検索/ヘッダーの検索] オプション (Delphi または C++ 用) があり、特定の型またはシンボルを宣言するユニット (コードをコンパイルするために uses ステートメントに追加する必要があるユニット) を見つけるのに役立ちます。未定義のシンボルを含む次のコードを入力しているとします。

smartci_04

「TInifile」を選択し、「ユニットの検索」 コマンドを発行すると、エディタに次の出力が表示されます。

smartci_05-2

必要なことは、コメントに追加されたユニットの名前 (Sytem.IniFiles) を取得し、それを現在のユニットの uses ステートメントに貼り付けることだけです。 これは実際のプロジェクト コードに基づくものではなく、AI がトレーニングされたコード内で一般的に参照されるユニットに対してのみ機能しますが、コア Delphi RTL データ型に対しては非常に信頼できると思います。

エディタとチャット

エディタのもう 1 つの変更点は、上記の例のように、エディタ内のコメントではなく、Markdown 対応チャットに Ai リクエストの結果を送信できることです。これは、エディタの Smart CodeInsight メニューのオプションで設定できます。次に例を示します。

smartci_06

この機能を有効にすると、エディタでコードを選択してコマンドを発行できるようになります。(バグ検知の例):

smartci_07

利用可能なモデル

12.3 で Smart CodeInsight に追加された最後の新機能は、[ツール オプション] ダイアログ ボックスの機能構成に関係しています。AI サービス (URL と資格情報を使用) を構成すると、モデル名を入力する代わりに、要求に応じて入力されるドロップダウン リストから、特定のサービスで使用可能なモデルの 1 つを選択できます。モデルは時間の経過とともに継続的に追加されますが、修正リストを提供できないため、これは重要です。新しいバージョンを出荷した日に、古いリストは廃止されます。 (ちなみに、新しいモデルはより良い結果をもたらす可能性があるが、呼び出しコストも高くなる可能性があります。). Gemini の場合、この機能は次のようになります。

smartci_08

要約

要約すると、Smart CodeInsight アーキテクチャは複数の目標を提供します。すべてがオプションで、デフォルトで無効になっています。複数のプロバイダーを利用できるようにして、有効にするプロバイダーを 1 つ以上選択できるようにしています。プライバシーを最大限に高めるために、ローカルにインストールされたオフライン ソリューションが含まれています。このリリースでは、エディタとチャット ウィンドウの統合が改善され、チャットで Markdown 表示が有効になりました。私たちはこの分野を継続的に追跡し、この機能を強化して、お客様の IP とプライバシーを最大限に尊重し、特定のベンダーを強制するのではなく、お客様の要望により AI エンジンを選択できるようにします。

Kai 1.1 Now Available! Kai 1.1 Now Available! What's Coming in RAD Studio 13.2 Florence

Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.

Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

IN THE ARTICLES