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

データサイエンス

GenAIにとっての重要なデータファブリックとしてのApache Kafka

ジェンAI、チャットボット、およびミッションクリティカルな展開での大規模言語モデルのリアルタイム機械学習インフラとして...

機械学習

「拡散を支配するための1つの拡散:マルチモーダル画像合成のための事前学習済み拡散モデルの調節」

画像生成AIモデルは、ここ数ヶ月でこの領域を席巻しています。おそらく、midjourney、DALL-E、ControlNet、またはStable dDif...

人工知能

バードは論理と推論力においてますます上達しています

精度の高い回答を得るための2つの改善点と、Google Sheetsへのエクスポートに向けた改善点がBardに導入されます

データサイエンス

『Re Invent 2023の私のお勧め』

ここに私のお気に入りのリストがありますが、特定の順序はありません (Koko ni watashi no okiniiri no risuto ga arimasu ga...

データサイエンス

「ジェンAIの時代:新たな始まり」

イントロダクション 急速に進化するテクノロジーの世界で、我々は新たな時代の予感に包まれています。それは、かつて人間にし...

人工知能

「ネクサスフローのNexusRaven-V2がGPT-4を自分のゲームで打ち負かす方法!」

人工知能の急速に進化する風景の中で、確立されたAIモデルの支配に挑戦する新たな候補が現れました。テックサークルで話題の...