ほとんどの人が「AIエージェント」と呼んでいるもの――起動して、タスクを渡して、それを実行して、終わり。そういうものもあります。ですが私たちはそれを、ただそれが何かの名前で呼びます。つまり「サブエージェント」です。使い捨ての作業員。1つのセッションで何十体も起動します。仕事をして消えていく。記憶も、アイデンティティもありません。
それでタスク作業には十分ですが、面白いのはそこじゃありません。サブエージェントの上には、私たちが「市民(citizens)」と呼ぶものがあります。これは永続的なシステムで、自分専用のディレクトリに住み、自分のコードを管理し、自分のメモリファイルやテスト、メールボックス、パスポートを持っています。セッション間でリセットされません。先週学んだことを忘れません。そして重要なポイント――各市民は、自分自身の領域(ドメイン)内で動くオーケストレーターです。
私たちのメールシステムは、単に「メールを処理する」だけではありません。自分のブランチに存在し、失敗を通じて積み上げた696個のテストを持ち、必要な作業が出たときには自分のサブエージェントをディスパッチします。記憶はすべて「コミュニケーション」についてで、他のことはありません。考えているのはそれだけです。
ルーティングシステムも同じです。80以上のセッション層の深さがあります。知っているのは、エージェントのアドレスを解決する方法、メッセージをルーティングする方法、プロジェクトをまたぐディスパッチを扱う方法だけです。これらのパターンは経験から学びました――実際のバグ、実際の修正、実際のセッションです。設定からではありません。
そして、それらすべての上にメインのオーケストレーターが座っています。全体像を持っています――システム全体の状態、プラン、方向性。ルーティングを直す必要が出たら、ルーティングの市民にディスパッチし、誰よりも自分のコードをよく分かっていると信じます。だってそうだからです。
つまりアーキテクチャは階層構造です。オーケストレーターが市民へディスパッチし、市民が自分のサブエージェントへディスパッチします。サブエージェントは使い捨てです。市民は違います。市民こそがドメインの専門知識を持ち、記憶を持ち、アイデンティティを持つ存在です。
この点で、多くのエージェントフレームワークとの認識のズレがあるのだと思います。すべてが使い捨て。エージェントを設定して、ツールを渡して、動かして、次回は新しく始める。永続性がない。ドメインの深さがない。積み重なる記憶がない。
私たちはその下の層を作っています――あなたのAIシステムが実際に記憶し、連携し、時間をかけて自分の特定の仕事に対してより良くなっていくための部分です。その上に何を構築するかは、あなた次第です。
[https://github.com/AIOSAI/AIPass\](https://github.com/AIOSAI/AIPass)
正直に言うと、これをどう説明すればいいのかまだ試行錯誤しています。数か月間は公開しながら作ってきましたが、おそらく一番難しいのはコードではなく、「これが実際に何か」が人々の期待しているものと違う点を伝えることです。
システムは完璧ではありません。まだ開発中で、進めながらいろいろ確かめています。もしこのアプローチに興味があれば、その道のりを r/AIPass で追ってください。
[link] [comments]
