AIコードの意図

AIコードの意図 (Intention of AI code)

任意のモダンなIDEには、コードのコンテキストに基づいてあらかじめ定義されたアクションを実行するためのコードインテンションが含まれています。たとえば、for文の場合、whileに変換逆順ストリームを使用など、複数のインテンションがあります。インテンションの使用は非常に便利であり、クイックなリファクタリングやコードの操作が可能です。

インテンションは開発が非常に困難であるため、通常はIDEのベンダーによってハードコードされ、IDEと一緒に提供されます。一部のIDEでは独自のインテンションを開発することも可能ですが、IDEプラットフォームの良好な知識、多くのコードの記述、インテンションを展開するためのプラグインの開発などが必要です。

しかし、ハードコードされたインテンションは陳腐化する可能性があります。今日では、例えばChatGPTなどのLLMに、コード上でいくつかのアクションを実行するよう依頼することが非常に簡単です。コードの断片と適切なプロンプトを提供するだけです。たとえば、次のループをChatGPTにループの方向を逆にするというプロンプトで提供すると、同様のハードコードされたインテンションを使用した場合と同じ結果が得られます。

そのため、AIインテンションを導入するべきだと考えられます。AIインテンションは、基本的には特定のコンテキストにバインドされた名前付きのAIプロンプトです。コンテキストはファイル、クラス、文、特定のメソッドなどが対象となります。IDEは正しいコンテキストを提供し、正しいプロンプトを使用してLLMに依頼し、結果を取得して解析し、コードに反映する責任を持ちます。

AIインテンションを持つことの利点は以下の通りです:

  1. ほとんどのリファクタリングはプレーンな言語を使用して行うことができます。プロンプトは、よく知られたAPI(例えばJavaのPrintStream.println(String))の場合はformatを使用して置換のように単純なものであるか、より少なく知られたAPIの場合はより複雑なものになるかもしれません。
  2. AIインテンションをハードコードする必要はありません。
  3. AIインテンションを配布するためにプラグインを作成する必要はありません。
  4. AIインテンションは簡単にユーザーが設定できます。
  5. 繰り返しのアクティビティには特にチャットインターフェースを使用する必要はありません。
  6. チャットインターフェースを使用する場合と比べて、LLMトークンの通信量を減らすことでコストを節約できます。

もう一つのクールなオプションは、AIインテンションをAPIに直接組み込むことです。このような宣言型のAIインテンションは、クラス、フィールド、またはメソッドごとにどのインテンションが利用可能であり、どのプロンプトを使用して特定のインテンションを実行するかをIDEに指示します。このような宣言型のAIインテンションは、フレームワークやライブラリの作者によって提供されることがあり、それによりこれらのインテンションはサポートしているすべての開発者にすぐに利用可能となります。

たとえば、次のアノテーションは、連結された文字列を取るprintln(String)呼び出しをフォーマットと引数リストを取るprintln(String, Object...)呼び出しに置換するformatを使用して置換というAIインテンションを指定します。

このようなインテンションを呼び出しに適用すると、次のような結果が得られます:

宣言型のAIインテンションの使用は、非推奨のAPIの取り扱いを大幅に改善することができます。各非推奨メソッドにはいくつかのAIインテンションを含めることで、将来のリファクタリングをスキップする必要がなくなります。ドキュメントや手動のコーディングを見ながらではなく、1クリックでコードを最新のものに更新できます。

私はAIインテンションがIDEとLLMの統合の未来であると信じています。そのため、近い将来、多くのIDEにAIインテンションが登場することを期待しています。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

機械学習

「Underrepresented Groupsの存在下での学習について」

「ICML 2023で受け入れられた最新の成果をご紹介いたします『Change is Hard A Closer Look at Subpopulation Shift』という...

機械学習

Learning to build—Towards AI コミュニティニュースレター第1号

私たちは最新のニュースレターをお知らせすることをとても楽しみにしています!それは私たちの共同体についてのすべてですコ...

機械学習

「メタのMusicGenを使用してColabで音楽を生成する」

「ColabでMusicGenをセットアップする方法を学びましょうこの先進のテキストから音楽へ変換するモデルは、人工知能アルゴリズ...

データサイエンス

「機械学習アルゴリズムとGAN」

「GANとさまざまな機械学習アルゴリズムについて詳しく学びましょう」(GANとさまざまなきかいがくしゅうアルゴリズムについて...

AI研究

「CMUの研究者がBUTD-DETRを導入:言語発話に直接依存し、発話で言及されるすべてのオブジェクトを検出する人工知能(AI)モデル」

画像内のすべての「オブジェクト」を見つけることは、コンピュータビジョンの基礎です。カテゴリの語彙を作成し、この語彙の...

人工知能

「C# で GPT(一般目的テンプレート)を拡張しましょう」

この記事では、OpenAIを使用してGPTを作成し、AINIRO.IO Magic Cloudを使用して独自のC#コードで拡張する方法を示しています