RELATED
事例:営業業務をつなぐマルチエージェントシステム(A社)
A社は従業員約15名のテクノロジー系スタートアップで、ご相談の窓口は営業部門でした。マーケティングまで手が回る人員がいないため、チームの業務を自動化して人員とコストの負担を減らしたいという要望でした。バイナリテックジャパンは、営業リストの調査からメール文案の作成、人による承認、送信、返信の確認までをつなぐマルチエージェントシステムを構築しました。本案件の実施期間は2か月で、現在は実際にメールを送信する本番運用に入っています。成果を示す数値はまだ出ておらず、人員やコストの負担がどの程度減ったかは現時点では示せる段階にありません。
営業リストの調査
企業情報の分析と適合度の採点
メール文案の作成
Critic Gate
書き直して再チェック(最大3回)
人による承認
送信
返信の確認
担当者へ引き継ぎ
フォローアップ
通過差し止め通過3回書き直しても未通過価格の質問・反対意見営業リストの調査
企業情報の分析と適合度の採点
メール文案の作成
Critic Gate
書き直して再チェック(最大3回)
人による承認
送信
返信の確認
担当者へ引き継ぎ
フォローアップ
通過差し止め通過3回書き直しても未通過価格の質問・反対意見- 営業リストの調査 → 企業情報の分析と適合度の採点
- 企業情報の分析と適合度の採点 → メール文案の作成
- メール文案の作成 → Critic Gate
- Critic Gate → 人による承認(通過)
- Critic Gate → 書き直して再チェック(最大3回)(差し止め)
- 書き直して再チェック(最大3回) → 人による承認(通過)
- 書き直して再チェック(最大3回) → 担当者へ引き継ぎ(3回書き直しても未通過)
- 人による承認 → 送信
- 送信 → 返信の確認
- 返信の確認 → 担当者へ引き継ぎ(価格の質問・反対意見)
- 返信の確認 → フォローアップ
図2A社のマルチエージェントシステムの処理の流れシステムは企業情報を分析して適合度を採点し、その企業に合う事例を紹介する敬語のメール文案を作成したうえで、AIによるチェックと人の承認を経て送信し、返信の確認とフォローアップまで行います。通常の流れで人が必ず関わるのは、送信前のメールの承認と、商談で顧客に会い成約につなげる場面です。このほか、3回書き直してもCritic Gateを通過しない文案と、慎重な対応を要する返信は、担当者に引き継ぎます。メールには特定電子メール法に沿って送信者情報と配信停止の案内を記載し、連絡しない企業のリストも管理しています。また個人情報保護法を踏まえ、保存するのは企業単位の情報に限り、送信先の担当者個人の情報は保存していません。
LangGraphで構築した処理の流れは18のノードからなり、LLMを呼び出すのはそのうち約5ノードで、残りは決まった処理を行うロジックです。次にどのノードへ進むかはLLMに選ばせず、採点結果や状態に応じてコードで分岐させ、順に進む状態遷移の形にしました。こうするとテストがしやすく、結果も安定するためです。一般に、LLMに次の処理を選ばせる設計は柔軟な反面、同じ入力でも経路が変わることがあり、動作の検証が難しくなります。
LLMは作業ごとに使い分けています。分類やチェックには軽量なモデル、企業情報の分析と敬語の採点には中位のモデル、メール文案の作成には最上位のモデルを割り当てました。一般に、すべての処理に最上位のモデルを使うとコストがかさみ、軽量なモデルだけでは文章の品質が不足しやすくなります。作業ごとにモデルを分けたのは、品質とコストの釣り合いをとるためです。
さらに、LLMと外部ツールにはすべて代替手段を用意し、接続できないときはルールやテンプレートで処理を続けるようにしました。そのため、代替手段を用意した部分では、障害時も処理を続けられる設計です。また、企業の識別には社名ではなく法人番号を使い、同じ企業への重複送信を防いでいます。一般に社名は表記ゆれが起きやすく、同じ企業を別の企業として扱ってしまうおそれがあるためです。
人の承認の前には、2段階のCritic Gateを置いています。1段目はコードによるチェックで、メール内のパーセント表記の数値が承認済みの数値一覧と一致するか、「必ず」「絶対」「保証します」といった断定表現が含まれていないかを確かめます。2段目はLLMによる敬語の採点で、0〜100点のうち70点未満の文案を差し止めます。差し止められた文案は自動で書き直されますが、AIが書いてAIが止める往復は際限なく続く可能性があるため、書き直しは最大3回までとし、3回書き直しても通過しない場合は人に引き継ぎます。
Critic Gateを通った文案は送信の手前で処理が止まり、担当者がダッシュボード上で承認(Approve)、修正(Edit)、却下(Reject)を選びます。却下時にメモを残すと、AIがその内容に沿って書き直します。運用の初期段階では自動送信を有効にせず、すべてのメールを人が確認しています。送信後に届いた返信に価格の質問や反対意見など慎重な対応を要する内容があれば、AIでは対応せず、常に人に引き継ぎます。
運用面では、各ステップの状態を保存し、送信ログには重複送信を防ぐキーを持たせ、ステップごとにトークン数、応答時間、コストを記録しています。コストについては1日と1年の予算上限を設け、上限に達すると自動処理を一時停止して警告を出します。あわせて、1回の実行で送るメールは最大50通に制限しています。
構成要素は、LangGraphのほか、バックエンドのFastAPI、進捗確認と承認用ダッシュボードのNext.js、グラフの状態保存と事例検索のRAGに使うPostgreSQLとpgvector、Web情報の収集や法人情報の照会を行うMCPサーバー、メール送受信のSMTP/IMAPです。一方で、外部ツールを呼び出すたびに接続し直す作りのため、一括実行では時間がかかるという課題が分かっています。この点は次の段階で最適化する予定です。
関連するソリューション
PoCの進め方については、次のソリューションページもあわせてご覧ください。