変化は私たちの世界において常に存在し、それぞれの変化がイベントを生み出します。これらのイベントは、部屋の温度変化のような具体的な変化から、株価の上下のような抽象的な変化まで多岐にわたります。
デジタルの世界には、これらのイベントをその発生源から関係者へと移動させるツールがあります。イベントブローカーとして知られるこれらのツールの高度なバージョンにより、コンシューマーは詳細をイベントソースに負担させることなく、特定のイベントにサブスクライブできます。これにより、コンシューマーが参加または離脱しても、イベントプロデューサーは配信の変更を認識せず、ミドルウェアチームも変更のたびにアプリケーションを再設定する必要がありません。
これらのブローカーをリンクすることで、デジタル環境全体にイベントを配信するEvent Meshを形成できます。オンプレミスのデータセンター、パブリック・プライベートクラウドから遠隔の小売店舗や接続された車両まであらゆる場所に到達します。Event Meshは、組織が完全なイベントドリブン・アプローチを採用し、状況の把握を向上させ、大小の変化に即座に対応できるようにします。Event MeshはSolace Agent Meshの重要なコンポーネントです。
まだ初期段階にあるものの、コンピュータ駆動システムとその情報処理能力に対するAIの影響は否定できません。自然言語処理、画像認識、音声文字起こしの向上は目覚ましく、機械が非構造化入力を解釈し、これまで人間だけの領域とされていたタスクを実行する道を切り開いています。
Event MeshとAIはそれぞれイノベーションの触媒ですが、その組み合わせは部分の総和を超えたものをもたらします。
Event MeshがAIを高める方法
あらゆる形式の入力に対応するために、より大規模で高度なAIモデルを構築することは可能ですが、特定の機能に特化した小規模なモデルを持つ方が実用的です — ちょうど私たちの脳が、言語、記憶、運動、問題解決、発話、感覚処理などの領域で異なる役割を担うさまざまな部位を持つように機能するのと同様です。小規模なモデルは実行コストが低く、大規模なモデルよりもはるかに高速に応答できます。しかし、より小規模で特化したモデルでは、各専門モデルに適切な形式で正確なデータを配信する必要があります。
Event Meshは、データを処理できるシステムへの配信を調整することに優れており、データの配信を保証します。あるコンポーネントが処理を完了し、結果をEvent Meshに送り返すと、そのコンポーネントはそれを安全に忘れることができます。これにより、処理パイプラインの作成が容易になります。
AIの文脈では、これにより特定の機能をそれぞれ実行するさまざまなアプリケーションを流れるイベントに、段階的にインテリジェンスを追加する作業が大幅に簡素化されます。パイプラインの各ステージは単一モデルの推論を表し、Event Meshが残りを処理します。
モダンなEvent Meshはテレメトリもサポートしているため、ワークフロー全体を簡単に監視・デバッグして、期待通りに動作することを確認できます。
AIがEvent Meshを強化する方法
Event Meshの価値は、受け取るイベントの価値に依存します。従来、これらのイベントはすでにデジタル領域にありました。例えば、製造ラインのセンサー出力や株取引端末への入力などです。同様に、イベントへの反応は従来、思考ではなくプログラムによってアクションを実行する人手でコーディングされたアルゴリズムによって処理されていました。
今日のAIはEvent Mesh内に新たな機会をもたらします。マシンビジョン、音声文字起こし、言語理解の著しい進歩により、新しい領域のイベントをEvent Meshに送ることが可能になります。デジタルなマシン生成イベントに限定されるのではなく、AIモデルはビデオストリームの変化や音声入力の文字起こしにおけるキーワードなど、アナログ世界をデジタルイベントに変換できます。
さらに、AIはシステム内のイベントを拡張できます。AIエージェントは限られたイベントセットにサブスクライブし、そのサブスクリプションに特化したプロンプトテンプレートを提供した後、大規模言語モデルを使用して追加情報でイベントを強化できます。例えば、ユーザー入力フォームに対してセンチメント分析を実施してアップセルの機会がある顧客を特定したり、蓄積データの組み合わせに基づいて新しいイベントを合成したりすることができます。
これを実現するために、Event Meshを使用して多くのAIエージェントをリンクします。それぞれのエージェントは特定のイベントセットに合わせて調整されています。これは、生の音声を含むすべてのイベントにサブスクライブし、音声テキスト変換モデルを使用して文字起こしを作成し、それをメッシュに再パブリッシュするというシンプルなものでも構いません。あるいは、別のエージェントの出力にサブスクライブして、そのエージェントの正確性を評価するエージェントであることもできます。
実践的なデモンストレーション
Event MeshとAIエージェントのセットを組み合わせて価値あるアプリケーションを構築する方法を示す小規模なデモンストレーションを作成しました。このデモンストレーションでは、ビルのインシデントマネージャーを構築しました。このインシデントマネージャーは、管理するビル内の重要な情報のレポートを受信し、データを集約して進行中のインシデントに対処するための適切なアクションを実行する責任を持ちます。
以下の図は、アプリケーションに関わるコンポーネントの高レベルビューを示しています。
[画像] 注:画像の翻訳が必要な場合はお知らせください。不要な場合はスキップしてください。
Employee(従業員・目撃者)| Security Guard(セキュリティガード)| Security Camera(防犯カメラ)| Event Enabled AI Agents(イベント対応AIエージェント)| Speech to Text(音声テキスト変換)| Image to Text(画像テキスト変換)| Text to Speech(テキスト音声変換)| LLM | Event Mesh | Incident Manager Coordinator / AI(インシデントマネージャーコーディネーター / AI)| Building AI arms(ビルAIシステム)| Emergency Services(緊急サービス)| Building Services(ビル管理サービス)
図1:インシデントマネージャーコンポーネントビュー
図は以下のコンポーネントを示しています:
イベントソース
• セキュリティガード — ネットワーク接続の双方向無線による音声入力
• 従業員 — Slackなどのメッセージングアプリによるテキスト入力
• 防犯カメラ — 画像入力
AIエージェント
• 音声テキスト変換(Speech to Text)
• 画像テキスト変換(Image to Text)
• テキスト音声変換(Text to Speech)
• 大規模言語モデル(Large Language Model)
インシデントマネージャー
• すべてのレポートを調整し、フォローアップアクションを発行
対応アプリ
• ビル警報
• 緊急サービス — 消防署、救急車、警察
• ビル管理サービス — 清掃員など
これらすべてのコンポーネントは、Event Meshを通じてGuaranteed Messagingを使用して非同期に通信し、転送中にイベントが失われないことを保証します。
動作の仕組み
Event MeshとAIエージェントを組み合わせることで、この完全に機能するデモンストレーションを構築することは驚くほど簡単です。
このデモでは、すべてのイベントソースはスマートフォンで実行されるシンプルなWebアプリであり、それぞれが適切なメディア形式でインシデントレポートをEvent Meshに送信できます。例えば、スマートフォンでガードアプリを実行している場合、ユーザーがスマートフォンに向かって話すと、その音声がEvent Meshにパブリッシュされます。
画像と音声のレポートは、インシデントマネージャーが処理できるようになる前に強化する必要があるため、適切なレポートイベントにサブスクライブするAI音声テキスト変換エージェントと画像テキスト変換エージェントが作成されます。インシデントマネージャーは、従業員メッセージ、文字起こしされた音声、説明された画像のレポートにサブスクライブします。
インシデントレポートを受信すると、インシデントマネージャーはすべての過去のレポートと過去のアクションの状態を維持します。そして新しいレポートごとに、以下のプロンプトを使用してLLMにインシデント固有のリクエストを送信します:
あなたはビルのインシデントコーディネーターです。
セクター ${report.sector} でオープンなインシデントが発生しています。
インシデントへの対応を調整するために、現在の状態、過去のアクション、新しいレポートを検討する必要があります。回答には有効なJSONのみを含め、他のテキストや説明は含めないでください。
インシデントレポートのフィールドを更新できます。また、インシデントレポートに新しいアクションを追加することも、インシデントをクローズすることもできます。
実行可能なアクション:
update_field(フィールド更新): {name: <フィールド名>, value: <値>},
alert_service(サービス警告): {service: <消防署|救急|警察|ビルセキュリティ|ビル管理>, message: <メッセージ>, active:
close_incident(インシデントクローズ): {},
message_employee(従業員へのメッセージ): {employee_id: <従業員ID>, message: <メッセージ>},
message_all_employees(全従業員へのメッセージ): {message: <メッセージ>},
message_to_guard_in_sector(セクターのガードへのメッセージ): {sector: <セクター>, message: <テキストメッセージ>},
sector_audio_announcement(セクター音声アナウンス): {sector: <セクター>, message: <テキストメッセージ>},
building_audio_announcement(ビル全体音声アナウンス): {message: <テキストメッセージ>},
sector_alarm(セクター警報): {sector: <セクター>, alarm:
building_alarm(ビル警報): {alarm:
statusフィールドは「open」または「closed」のいずれかです。
alert_levelは1〜5の数値で、1が低、5がクリティカルです。
問題が発生しているセクターのガードには有用な情報を常に提供してください。
ガードに追加の質問をしてより多くの情報を得ることができます。
警察に通報する前に、目撃者だけに頼らず、ガードにインシデントの確認を求めてください。
ビル全体への音声アナウンスが行われた場合、そのアナウンスはすべての従業員にもメッセージで送信してください。
reportsやpast_actionsフィールドは更新しないでください。これらはあなたの参照用です。
回答は以下の形式の有効なJSONのみにしてください:
{
actions: [action1, action2, …]
}
セクター ${report.sector} のインシデントに関する新しいレポートがあります。
インシデント詳細:
${JSON.stringify(state, null, 2)}
新しいレポート:
${JSON.stringify(reducedReport, null, 2)}
どのようなアクションを取るべきですか?JSONのみで回答してください。
LLMとしてGPT-4を使用すると、このシステムで優れた結果が得られます。以下の図に示すように、ビルの受付エリアで迷子の幼児に関するインシデントが探索されます。インシデントマネージャーの画面でわかるように、最初のレポートは目撃者からのもので、「受付に迷子と思われる小さな男の子がいます。泣いています」と報告しています。
図2:インシデントマネージャーダッシュボード
これに対するLLMのアクションは、インシデント状態のいくつかのフィールドを設定すること(例:タイトルを「Lost Child in Reception(受付の迷子)」に設定)と、セキュリティガードにレポートの確認を求めることであり、ガードは次のレポートでそれを行います。
ガードの回答に対して、システムはMESSAGE_EMPLOYEE(従業員へのメッセージ)、MESSAGE_ALL EMPLOYEES(全従業員へのメッセージ)、BUILDING_AUDIO_ANNOUNCEMENT(ビル全体音声アナウンス)のアクションを提供します。また、アラートレベルを5段階中2と判断しました。
他の例では、武器を持った不審者のようなケースでは、システムはすべての人をエリアから遠ざけるよう手配します。ガードへの確認後、警察にも通報します。特定の部屋の汚れを報告するケースでは、システムはビル管理サービスに清掃スタッフを要請します。
これらのインシデントの間、インシデントマネージャーは要求されたアクションをEvent Meshに転送します。それらのアクションを実行できるサービスはそれらのイベントにサブスクライブしており、適切に実行します。このデモンストレーションでは、別のWebアプリ(以下に表示)がそれらを受信して表示する責任を担います。
図3:対応サービス
この作業は、PythonおよびJavaScript内のSolaceイベントブローカーとSolace APIライブラリを使用して実現されました。OpenAI、ElevenLabs、Jina AIのAIツールがAIエージェントのバックエンドとして使用されました。
結論
AIとEvent Meshの統合は、デジタルイベント管理における画期的な進歩を表しています。ビルのインシデントマネージャーのデモンストレーションで示されたこの融合は、Event Meshの機能を大幅に強化するAIの可能性を示しています。音声テキスト変換や画像分析などの精密なタスクに特化したAIモデルを活用し、意思決定に大規模言語モデルを採用することで、システムは物理的な事象を実行可能なデジタルイベントに効率的に変換し、迅速な対応と高い精度の両方を確保します。
示したように、このアプローチはEvent Mesh内でのデータの処理と取り扱い方を変革するだけでなく、複雑な状況においてコンテキストを考慮した意思決定を行うシステムの能力を高めます。デモンストレーションされたインシデント管理アプリケーションは、このAI強化Event Meshの実用性と有効性を裏付けており、さまざまなセクターにおける自動化されたインテリジェントシステムの新たな可能性を開きます。これは、デジタルシステムが現実世界の絶えず変化するダイナミクスにインテリジェントに適応・対応できる未来へ向けた重要な一歩です。
他のカテゴリーの投稿を見る:人工知能(Artificial Intelligence) | アーキテクト向け(For Architects)
Edward Funnekotter
チーフアーキテクト兼AI責任者
エドワード・ファンネコッターは、Solaceのチーフアーキテクト兼AI責任者を務めています。クラウド製品とイベントブローカー製品の両方のアーキテクチャチームを率いる傍ら、製品および社内ツールへのAI統合に関する同社の戦略的方向性も主導しています。2004年、エドワードはFPGAアーキテクトとしてSolaceに入社しました。その後、管理職に転身し、数年間コア製品開発チームを率いた後、現在の役職に就任しました。
エドワードはクイーンズ大学で電気工学の学位を取得後、ニューブリッジ・ネットワークスで組み込みソフトウェア開発者としてキャリアをスタートさせました。ニューブリッジ・ネットワークス退社後、カリフォルニアのインターネットルーティングチップセット企業でASICアーキテクトの職に就き、そこで複数の高速ネットワークプロセッサとキューイングチップの設計・開発に成功しました。
