きっかけ
LLMベースのエージェントが複数必要な案件で、それら同士をどう連携させるか毎回悩んでいた。検索や分析、要約といった役割を分けたエージェントを作ると、今度は「それぞれどうやってデータを渡すのか」という問題が出てくる。何か標準的なメッセージング層があるといいなと思ってたら、Solace Agent Meshが目に入った。
使ってみた
セットアップはシンプルで、GitHubからクローンして Python環境を整えたらすぐ動いた。ドキュメントのサンプルに従って、まずは2つのエージェント間でメッセージをやり取りする最小限の構成を試してみた。イメージとしては、エージェント同士が Publish-Subscribe パターンで繋がる感じ。あるエージェントが結果をパブリッシュすると、それをリスニングしてる別のエージェントが勝手に拾って処理する。この非同期性がいいなと思った。
ここが良い
やっぱり非同期メッセージング周りが実装済みという点が大きい。従来だと、複数エージェントの通信基盤って自分たちで Redis やら RabbitMQ やら選んで組み込むんだけど、その心配がなくなる。また、エージェント側の実装が Solace に寄せられてるので、「このエージェントはどこから仕事を受け取るのか」という意図が設定側で明確に見える。デバッグの時も、メッセージフローが想像しやすい。
気になった点
ドキュメントはまだ発展途上という感じで、深い使い方になると公式サンプルだけでは足りないこともある。また、本格運用になるとネットワークの安定性や遅延が気になる局面も出てくるだろう。今のバージョンではそこまで詳しい運用ガイドは見当たらない。
まとめ
複数のAIエージェントを繋げて何かやる人には、一回は試してみる価値がある。特にLLMを複数つなげるプロジェクトで「同期処理だと遅い」という悩みがあれば、このマイクロサービスっぽい非同期アーキテクチャは肌に合うと思う。自分も引き続き本番運用を試してみる予定。