SendMessageは「メッセージを送る」ための道具
名前がそのまま意味を表しているのですが、SendMessage は「メッセージを送信する」という動作を指す名前です。プログラムの世界では、何かに向かって指示や情報を投げるときに、この名前がよく使われます。AIエージェントの文脈では、あるエージェントが別のエージェント(あるいは会話の相手)に対して、テキストのメッセージを渡す仕組みを指すことが多いです。
正直、最初にこの単語を見たときは「送信するだけの関数に、わざわざ名前を付けて解説するほどのことがあるのか?」と思ったのですが、実際に触ってみるとこれが結構重要でした。エージェント同士が協調して動く仕組みでは、「誰が」「誰に」「何を」伝えるかが動作のすべてを決めるからです。
身近な例で考える
職場でのやり取りを想像してください。あなたがチームリーダーで、デザイン担当のAさんに「トップページのバナーを作り直してほしい」とチャットを送るとします。このチャットを送る行為そのものが SendMessage です。
ここで大事なのは、送った瞬間に仕事が終わるわけではないという点です。Aさんはメッセージを読み、自分の手元で作業をして、結果を返してきます。あなたは返事が来るまで待つか、他の作業を進めるかを選ぶ。エージェント同士のメッセージ送信も、これとまったく同じ構造をしています。
「送る」だけなのに気をつけることが多い
チャットの例をもう少し続けます。「バナー作り直して」とだけ送ったら、Aさんは困ります。どのバナーか、どんなトーンにするのか、締め切りはいつか。情報が足りないと、相手は推測で動くしかなくなります。
エージェントに対するメッセージも同じで、送る内容が曖昧だと期待した結果は返ってきません。逆に、関係ない情報まで詰め込みすぎると、相手が本題を見失うこともあります。「必要なことを、必要なだけ」というのが、メッセージを送るときの基本になります。
宛先を間違えない
もうひとつのつまずきポイントが宛先です。デザインの依頼を経理担当に送っても何も起きません。エージェントが複数いる構成では、どのエージェントがどんな役割を担っているのかを把握したうえで、適切な相手を指定する必要があります。
ここを間違えると、エラーになるならまだ親切なほうで、相手が「よく分からないなりに何かやってしまう」という結果になることもあります。人間のチームでも起きがちなトラブルですね。
覚えておきたいポイント
| 観点 | 意味 |
|---|---|
| 送る相手 | どのエージェント・どの宛先に渡すのか |
| 送る内容 | 相手が判断できるだけの情報が入っているか |
| 返ってくるもの | 結果を待つのか、待たずに進めるのか |
まずはここから
SendMessage という名前を見かけたら、「ここでメッセージが誰かに渡されているんだな」と読み替えてみてください。処理の流れを追うときの目印になります。そして自分で使う側になったら、宛先と内容の2つを意識するだけで、うまく動かないときの原因がかなり絞り込めるようになります。
結局のところ、人にお願いごとをするときのコツとそう変わりません。相手を選び、伝わる言葉で、必要な情報を渡す。それだけです。
このページは役に立ちましたか?