AutoGen AgentChat : Tutorial : メッセージ

AutoGen AgentChat では、メッセージは他のエージェント、オーケストレーター、アプリケーションとの通信や情報交換を容易にします。AgentChat はそれぞれ特定の目的のために設計された、様々なメッセージタイプをサポートします。

AutoGen AgentChat : Tutorial : メッセージ

作成 : クラスキャット・セールスインフォメーション
作成日時 : 04/18/2025

* 本記事は github microsoft/autogen の以下のページを独自に翻訳した上でまとめ直し、補足説明を加えています :

* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。

 

クラスキャット 人工知能 研究開発支援サービス ⭐️ リニューアルしました 😉

クラスキャット は人工知能に関する各種サービスを提供しています。お気軽にご相談ください :

  • 人工知能導入個別相談会(無償)実施中! [詳細]

  • 人工知能研究開発支援 [詳細]
    1. 自社特有情報を含むチャットボット構築支援
    2. 画像認識 (医療系含む) / 画像生成

  • PoC(概念実証)を失敗させないための支援 [詳細]

お問合せ : 下記までお願いします。

  • クラスキャット セールス・インフォメーション
  • sales-info@classcat.com
  • ClassCatJP

 

 

AutoGen AgentChat : Tutorial : メッセージ

AutoGen AgentChat では、メッセージは他のエージェント、オーケストレーター、アプリケーションとの通信や情報交換を容易にします。AgentChat はそれぞれ特定の目的のために設計された、様々なメッセージタイプをサポートします。

 

メッセージのタイプ

おおまかに言えば、AgentChat のメッセージは 2 つのタイプに分類されます : エージェント間 (agent-agent) メッセージとエージェント内部のイベントとメッセージです。

 

エージェント間 (Agent-Agent) メッセージ

AgentChat はエージェント間通信のために多くのメッセージタイプをサポートしています。それらは基底クラス BaseChatMessage のサブクラスに属します。具象サブクラスは、TextMessageMultiModalMessage のような基本的なテキストとマルチモーダル通信をカバーします。

例えば、次のコードスニペットは、文字列コンテンツや文字列ソースを受け取る、テキストメッセージを作成する方法を実演します :

from autogen_agentchat.messages import TextMessage

text_message = TextMessage(content="Hello, world!", source="User")

同様に、次のコードスニペットは、文字列や Image オブジェクトのリストを受け取る、マルチモーダル・メッセージを作成する方法を示します :

from io import BytesIO

import requests
from autogen_agentchat.messages import MultiModalMessage
from autogen_core import Image as AGImage
from PIL import Image

pil_image = Image.open(BytesIO(requests.get("https://picsum.photos/300/200").content))
img = AGImage(pil_image)
multi_modal_message = MultiModalMessage(content=["Can you describe the content of this image?", img], source="User")
img

作成した TextMessage や MultiModalMessage は on_messages メソッドでエージェントに直接渡したり、チーム run() メソッドに指定タスクとして渡すこともできます。メッセージはまたエージェントのレスポンスでも使用されます。We will explain these in more detail in Agents and Teams.

 

内部イベント

AgentChat はまたイベントの概念 – エージェント内のメッセージもサポートします。これらのメッセージはエージェント自体の内部でのアクションについてのイベントや情報を伝達するために使用され、基底クラス BaseAgentEvent のサブクラスに属します。

これらの例は、ツールを呼び出すリクエストが行われたことを示す ToolCallRequestEvent や、ツール呼び出しの結果を含む ToolCallExecutionEvent を含みます。

通常、イベントはエージェント自体により作成され、on_messages から返される Responseinner_messages フィールドに含まれます。カスタムエージェントを構築していて、他のエンティティ (e.g., UI) に通知したいイベントがある場合、これらを Response の inner_messages フィールドに含めることができます。We will show examples of this in Custom Agents.

messages モジュールで AgentChat でサポートされるメッセージの完全なセットについて読むことができます。

 

カスタム・メッセージタイプ

基底クラス BaseChatMessage or BaseAgentEvent をサブクラス化することで、カスタム・メッセージタイプを作成することができます。これは、アプリケーションに合わせた、独自のメッセージ形式や動作を定義することを可能にします。カスタムエージェントを作成する場合、カスタムエージェントタイプは役立ちます。

 

以上