AIコードの意図
AIコードの意図 (Intention of AI code)
任意のモダンなIDEには、コードのコンテキストに基づいてあらかじめ定義されたアクションを実行するためのコードインテンションが含まれています。たとえば、for
文の場合、whileに変換
、逆順
、ストリームを使用
など、複数のインテンションがあります。インテンションの使用は非常に便利であり、クイックなリファクタリングやコードの操作が可能です。
インテンションは開発が非常に困難であるため、通常はIDEのベンダーによってハードコードされ、IDEと一緒に提供されます。一部のIDEでは独自のインテンションを開発することも可能ですが、IDEプラットフォームの良好な知識、多くのコードの記述、インテンションを展開するためのプラグインの開発などが必要です。
しかし、ハードコードされたインテンションは陳腐化する可能性があります。今日では、例えばChatGPTなどのLLMに、コード上でいくつかのアクションを実行するよう依頼することが非常に簡単です。コードの断片と適切なプロンプトを提供するだけです。たとえば、次のループをChatGPTにループの方向を逆にする
というプロンプトで提供すると、同様のハードコードされたインテンションを使用した場合と同じ結果が得られます。
そのため、AIインテンションを導入するべきだと考えられます。AIインテンションは、基本的には特定のコンテキストにバインドされた名前付きのAIプロンプトです。コンテキストはファイル、クラス、文、特定のメソッドなどが対象となります。IDEは正しいコンテキストを提供し、正しいプロンプトを使用してLLMに依頼し、結果を取得して解析し、コードに反映する責任を持ちます。
- 強化学習:コンピューターに最適な決定をさせる方法の教え方
- SAM-PTとは SAM(Segment Anything Model)の機能を拡張し、動画内の任意のオブジェクトのトラッキングとセグメンテーションを可能にする、新しいAIメソッドです
- Falcon-7Bの本番環境への展開
AIインテンションを持つことの利点は以下の通りです:
- ほとんどのリファクタリングはプレーンな言語を使用して行うことができます。プロンプトは、よく知られたAPI(例えばJavaの
PrintStream.println(String)
)の場合はformatを使用して置換
のように単純なものであるか、より少なく知られたAPIの場合はより複雑なものになるかもしれません。 - AIインテンションをハードコードする必要はありません。
- AIインテンションを配布するためにプラグインを作成する必要はありません。
- AIインテンションは簡単にユーザーが設定できます。
- 繰り返しのアクティビティには特にチャットインターフェースを使用する必要はありません。
- チャットインターフェースを使用する場合と比べて、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!
Was this article helpful?
93 out of 132 found this helpful
Related articles