「エージェント」とは、すっかり古びてしまった言葉・用語ですが(死語?)、昨今のChatGPTやNotionやBird等のAIプロダクトの登場によって、(個人的に)「そろそろ見直し・再評価されてもよいのでは?」と思い、この記事を書きました。
初めに「エージェント」とは、なんらかの学習&推論モデルと意思&行動決定プロセスが実装されたクラスであり、これはシステム上で比較的自由かつ自律的に振舞うことのできる者達です。
※ビデオゲームでいうところのAI-BotやNPCみたいなものの延長だと考えていただいて差支えありません・・・。
エージェントは一つのユーザー環境(ユーザーの管理・コントロールする「プログラム‐ホスティング環境」あるいは簡単に言ってしまえば「ハードウェア環境」)に複数の個体が存在できて、その環境の中で活動するという定義です。
その主だった活動内容といえば、ユーザーからの刺激・入力に応じて、システム環境全体としてなんらかの反応・出力をするということであり、具体的には、絵を描くエージェントであれば、人物の描写を担当する個体があって、さらに、背景を描写する個体があったりと色々とエージェントの個体の可能性は考えられるわけです。
つまりは、一つのホスティング環境でメモリィを共用・共有しているそれぞれのエージェントの計算結果をそれぞれのタイミングでメモリィに書き込んでいき、最終的なユーザーの目指すところの成果物を作っていくわけですね・・・。
(繰り返しになりますが、)たとえば、人物を描写するエージェントがいれば、背景を描写するエージェントもいて、それぞれを同時に平行実行ないし並列実行していき、最後に人物部分と背景部分を合成・マージすることで、一つの絵画・イラストを完成させるというシステム全体の振舞い・動作イメージです。
ここで、個々のユーザー環境でそれぞれ独自に学習を経たエージェント達は、それぞれの学習結果(=ユーザーの癖や嗜好と、ユーザーに固有の文章表現やデータ表現など)から、ユーザーにとってはセンシティヴあるいはクレデンシャルな情報をそぎ落とした形に変換・加工した上で、ユーザー環境間でシェアするというものです。
※個々のユーザー環境が、ネット上のクラウドにつながれているという前提・想定です。
その際に、クラウドが個々のユーザー環境(=エージェント駆動環境)から、それぞれの抱え持つ学習結果ないし学習成果を一旦吸い上げて、それを一元管理して整理・分類してから、各々のユーザー環境に同時・一斉配信するという考え方です。
※この際、その働き・振舞いをするネットワーク全体を「agency」と仮に呼ぶこととします。
最後に、このアイデアは、この記事が書かれた同日にマクニカによって発表された「AI連合学習プラットフォーム」である「STADLE」という技術内容を参考にして書かせていただきました。