Skip to content

EMQX Agents

EMQX Agentsは、EMQX Cloud上でホストされるサービスで、MQTTおよび時系列データを基盤にイベント駆動型のAIエージェントを構築・実行するためのものです。カスタムの自動化コードを書く代わりに、エージェントにやってほしいことを自然言語で記述すると、プラットフォームがそれを構築してデプロイします。

エージェントはMQTTメッセージに反応し、時系列データをクエリし、デバイスに対してアクションをパブリッシュします。追加のミドルウェアや長時間実行されるサービスループを管理する必要はありません。

EMQX Agents in EMQX Cloud

EMQX AgentsはEMQX Cloudプラットフォームの自動化レイヤーです:

サービス役割タグ
EMQX ブローカーMQTTメッセージの輸送CONNECT
EMQX Tables時系列データのストレージSTORE
EMQX Fleetsデバイスのレジストリおよび状態管理MANAGE
EMQX Agentsイベント駆動型AI自動化AUTOMATE

EMQX AgentsはEMQX ブローカーとEMQX Tablesの上に構築されています。EMQX Agentsのデプロイメントは、同じリージョン内に少なくとも1つのブローカーまたはTablesのデプロイメントがある既存のネットワークに関連付ける必要があります。

コアコンセプト

チャット

チャットは組み込みのLLMとの対話であり、エージェントにやってほしいことを記述します。LLMはリクエストを解釈し、エージェントの指示やスキルを作成し、デプロイ準備が整ったエージェント定義を組み立てます。チャット内で繰り返し調整(動作の微調整、トリガートピックの変更、ロジックのテストなど)が可能で、デプロイ前に完成度を高められます。

チャットはまた、継続的に実行する必要のない一時的なタスク(例えば、最近のデバイスデータのクエリや運用インシデントの要約)にも便利です。

エージェント

エージェントはデプロイされた長時間実行されるプロセスで、イベントに反応してインフラ上でアクションを実行します。各エージェントはチャットセッションから生成されたエージェント定義に基づき、隔離されたサンドボックス環境で動作します。トリガーとなるMQTTメッセージが到着すると、エージェントは実行を開始し、指示やスキルを読み込み、必要なツールを呼び出してタスクを完了します。

エージェントには名前、説明、トリガー、ツールセット、プロンプトがあり、すべてチャットから自動生成されます。これらはエージェント詳細ページで確認できます。

コネクター

コネクターは外部サービスへの設定済み接続であり、エージェントやチャットで利用可能です。各コネクターはエージェントが呼び出せる型付きのアクションセットを公開します。EMQX Agentsは現在、以下の2種類のコネクターをサポートしています:

  • EMQX ブローカー:MQTTトピックをトリガーとしてサブスクライブし、アクションとしてメッセージをパブリッシュします。
  • EMQX Tables:SQLを通じて時系列データのクエリおよび書き込みを行います。

コネクターはデプロイメントレベルで作成・管理され、複数のエージェントやチャットで再利用可能です。

実行(Run)

実行は、1つのインバウンドイベントによってトリガーされたエージェントの単一実行です。各実行にはステータス、実行時間、トークン使用量、エージェントが実際に行った操作(呼び出したツール、受け取ったレスポンス、最終結果)を示すタイムラインがあります。

実行ステータスは以下の通りです:

ステータス意味
successエージェントがタスクを完了しました。
failedエージェントが回復不能なエラーに遭遇しました。
timeout実行が設定された時間制限を超過しました。
cancelled実行が完了前にキャンセルされました。

スキル

スキルはチャット中にLLMが生成し、エージェント定義にバンドルされる再利用可能な機能です。スキルはドメイン固有のロジック(例:デバイスごとの温度読み取りのローリング平均の維持など)をカプセル化し、エージェントが実行ごとに一貫して呼び出せるようにします。スキルは自動生成され、手動で作成する必要はありません。

動作の流れ

  1. コネクターを追加します。 EMQX ブローカーとEMQX Tablesのデプロイメントを接続し、エージェントがデータおよびメッセージングインフラにアクセスできるようにします。

  2. チャットで自動化内容を記述します。 新しいチャットを開き、使用したいコネクターを選択し、やりたいことを自然言語で記述します。LLMがトリガー、ツール、スキル、プロンプトを含む完全なエージェント定義を生成します。

  3. エージェントをデプロイします。 チャット内のDeploy Agentをクリックして、生成された定義から実行中のエージェントを作成します。エージェントは設定されたMQTTトピックの監視を即座に開始します。

  4. イベントが実行をトリガーします。 トリガートピックにMQTTメッセージが届くたびに、エージェントは実行を開始します。ロジックを適用し、mqtt.publishtables.sqlなどのツールを呼び出してタスクを完了します。

  5. 監視と反復を行います。 エージェント詳細ページで実行履歴、成功率、トークン使用量、各実行のタイムラインを確認します。動作を変更したい場合はチャットに戻り、再デプロイします。

主なユースケース

  • 異常検知:デバイスのテレメトリを監視し、ローリング平均が閾値を超えた場合にアラートをパブリッシュする。
  • インシデント要約:最近のMQTTイベントを集約し、オンデマンドで人間が読める要約を生成する。
  • 条件付きアクション:センサーデータが定義された条件を満たしたときにデバイスのトピックにコマンドをパブリッシュする。
  • データ強化:MQTTイベントに応じてEMQX Tablesをクエリし、その結果をブローカーにパブリッシュする。
  • 運用通知:停止したデバイスやハートビートの欠落を検知し、オンコールチームに通知する。

プランと利用状況

EMQX Agentsは現在、Starterプランでパブリックベータとして提供されています。ベータ期間中は無料で利用可能です。

仕様内容
プランStarter
利用状況パブリックベータ
ベータ期間中の課金無料(トライアル)
クラウドプラットフォームAWS、Google Cloud

次のステップ