AIにプログラミング自体を学ばせるサービスのアイディア
AIプログラミング実行サービスの概念
AIプログラミング実行サービスとは、AIが作成したプログラムを実際に実行し、その結果をAIに返すことで学習させるシステムです。このアプローチには以下のような特徴と利点があります。
基本概念
このサービスは「プログラムの書き方」というよりも「データの生成処理」として捉えることができる。
つまり、プログラムのシンタックスや文法ではなく、入力データから出力データへの変換プロセスに焦点を当てています。
どうして
データの変化を学習させたい。
AIが作成するプログラムのエラーを削減したい。
自然言語処理と推論だけだと実行したときにエラーが発生するプログラムが返される。
エンジニアの方はわかると思いますが、データの加工として一段上の抽象度で捉えることができます。
データの変化を流れと捉えることでエラーなくプログラムすることができます。
※htmlパーサーなどは当てはまらない
ただデータの変化と実行時間を学ばせるだけでより精度があがらないか?
例えば関数などを動的にして入れ替えるだけでプログラミングできるようにしデータの流れを把握させることでAIに学習させる。
それにより敵対的生成ネットワークのようにAIがデータの変化のみでサービスが出来るのでは?
つまり実際に実行させ結果を学ばせるAPIを作るのはどうだろう?
例えばAIからテキストで処理フローを貰い。
各ステップで処理したデータを返す。
エラーが起きたらエラーの理由を返す。
AIとのコミュニケーションはA2Aプロトコルを使用すればいい。
AIにまとめてもらいました。
目的と利点
- AIが作成するプログラムのエラーを削減できます
- データの変化を学習させることで、より精度の高いプログラミングが可能になります
- 自然言語処理と推論だけでは捉えきれない実行時の問題を解決できます
実装方法
- AIからテキストで処理フローを受け取る
- 各ステップでデータを処理し、中間結果をAIに返す
- エラーが発生した場合は、その理由をAIに返して学習させる
- A2A(AI-to-AI)プロトコルを使用してAIとの通信を行う
応用可能性
この仕組みにより、敵対的生成ネットワーク(GAN)のような方式でAIがデータの変化のみに基づいてサービスを構築できる可能性があります。関数を動的に入れ替えながらデータの流れを把握させることで、AIはより効率的にプログラミングを学習できるでしょう。
制限事項
HTMLパーサーなど一部の用途には適していない場合もあります。これはデータ変換の範囲を超える処理が必要なケースがあるためです。
このアプローチは、AIエンジニアにとってはデータ加工の抽象度を上げるものとして理解でき、一般ユーザーにとってはAIがより正確なプログラムを作成できるようになる仕組みと捉えることができます。
A2Aプロトコルとは
A2A (Agent-to-Agent) プロトコル
A2Aプロトコルとは、AIエージェント間の通信を可能にする標準化されたフレームワークです。
主な特徴
- 自律的通信: 異なるAIシステム間での構造化された情報交換
- 相互運用性: 異なるAIプラットフォーム間でのシームレスな連携
- タスク協調: 複雑なタスクを複数のAIエージェントで分散処理
実現方法
A2Aプロトコルは通常、JSONやXMLなどの構造化データフォーマットを使用し、APIエンドポイントを通じて実装されます。各メッセージには通常、送信者情報、メッセージタイプ、内容、タイムスタンプなどが含まれます。
応用分野
- マルチエージェントAIシステム
- 分散型問題解決
- AI間での知識共有と協調学習
このプロトコルにより、単一のAIモデルでは対応できない複雑な課題に取り組むための協調的なAIエコシステムが実現可能になります。
処理方式
考えられる処理方式は
- プログラムを直接実行し結果を返す方式
- プログラムを直接実行せず、各言語の基本機能を抽象化した指定方法を行う方式
直接実行はセキュリティの関係からdockerのコンテナ技術で実行し、結果だけ返す必要があるかも
また必要な依存関係を含められる利点もある。
検討する必要のあること
セキュリティと倫理的課題
AIプログラミング学習システムの普及に伴い、悪意あるコードの実行防止が技術的な重要課題となっている。現行のサンドボックス技術では、ゼロデイ脆弱性を悪用した脱出試行が後を絶たず、主要プラットフォームでは実行環境のリセット間隔を15分以下に短縮する対策が講じられている。さらに、倫理的な観点から、生成AIが提案するコードの著作権問題に関しては、訓練データの出典追跡システムの導入が業界標準として検討され始めている。
対策として悪意のあるコードをある程度フィルタリングするとか?
レスポンスのイメージ例
関数の返り値をログにして返すイメージ
ProcessId: [実行時のID]
Runtime: [プログラム言語]もしくは[dockerの使用イメージ] // nodeJsなど
Process:
ステップ1の関数[関数名]
実行結果のjson
======
ステップ2の関数[関数名]
実行結果のjson
======
最終結果のjson[関数名]
======
実行時間: [実行時間ミリ秒] // アルゴリズムの実行比較に使用
これをAIが学ぶことで「プログラムの書き方」という視点でなく、「データの生成処理」として把握させることができるかも。
今似たようなサービスはあるの?
perplexityに聞いたら違う答えが帰ってきたので、現時点ではまだないかもしれない。
AIにプログラムを実行させるサービスはありそう。ただ開発用にコード生成支援が目的っぽい。
共有した理由
いいアイディアを思いついたので、自分でつくろうとも思ったが他の開発を考えると時間が足りないかなと思った。
またサーバー代にそれなりのコストがかかりそう。
詳細まで決められてないけど、会社で提案するなりして、このアイディアを活用してほしい。
お願い
claudeのAPI代が欲しいので支援していただけるとありがたいです。
Discussion