Agentforce Voice と ElevenLabs Agents を比較する

こんにちは。エンジニアの山下です。

今回は Agentforce Voice と ElevenLabs Agents について書こうと思います。

Salesforce には Agentforce Voice という音声エージェント構築のためのプラットフォームがありますが、現時点では英語のみのサポートとなっており、日本語のサポートが待ち望まれる状況です。

一方で、市場には既に日本語をサポートする競合サービスも出てきており、競合他社が Agentforce Voice に対してどのような優位点を持っているのかが気になるところです。また、これらのサービスには Agentforce とは全く異なる開発体験を提供しているところもあり、開発者目線でどういった利点があるのかといった点にも大いに興味を惹かれます。

というわけで、今回は Agentforce Voice の競合製品の一つである ElevenLabs Agents に触ってみて得られた使用感や、Agentforce Voice との差別化要素をまとめてみたいと思います。

なお、ElevenLabs には他にも音声生成等のサービスもありますが、今回の記事ではそれらのサービスについては特に触れませんので、ご承知おき願います。

Agentforce Voice の概要

そもそも Agentforce Voice を知らない方もいらっしゃると思うので簡単に紹介しておきます。

Agentforce Voice は音声エージェント構築のためのプラットフォームです。ざっくり述べると、通常のチャットベースの Agentforce に、チャットの代わりに音声対応をさせることができるというサービスになります。

開発方法は旧来の Agentforce Builder によるトピックとアクションを定義する形式になります。ただし、新しい Agentforce Builder で Agent Script を使って構築されたエージェントでは Agentforce Voice が利用できないようなのでご注意ください。Agent Script を使って開発したエージェントには Agentforce Voice の有効化に必要な Telephony が追加できないようになっています。

要するに、Agent Script が使えない点を除けば、良くも悪くも開発体験はそのまま、音声対応用のインターフェースが追加されるというイメージになります。

ただし、Agentforce Voice を有効化すると音声対応用に内部の処理が最適化されるため、動作は必ずしも既存のものと同じものにはならないという点には注意が必要です。

ElevenLabs Agents の概要

ElevenLabs Agents は AI を使った音声エージェントを構築するためのプラットフォームです。公式ドキュメントは以下から参照できます。

elevenlabs.io

ElevenLabs Agents では Workflow と呼ばれる会話の流れを制御するためのフローを使って音声エージェントを定義します。Workflow のブロックごとに会話の目的やトーンをプロンプトで指示し、ブロック間の遷移条件を定義することで会話を制御するというのが基本的な流れです。

実際の Workflow の定義画面が以下になります。

上記の画像では Workflow が一本道になっていますが、当然分岐も可能です。それなりにリッチな機能が揃っており、以下のようなことが可能です。

  • ブロック単位で使用するモデルが選択できる
  • ブロック単位で API 等の Tool 呼び出しが制御できる
  • ブロック間の遷移条件の判定に LLM を使用できる
  • 特定の電話番号への転送も可能

また、回答生成モデルと発話モデルは個別に選択でき、回答の内容とそれを読み上げる音声を独立に制御できるようになっています。発話モデルは ElevenLabs が提供しているモデルの中から適当なものを選んで使用する形になりますが、回答生成モデルは Gemini や Claude などの馴染みのモデルから選択できます。

評価観点

冒頭でも述べましたが、Agentforce Voice ではまだ日本語がサポートされておらず、日本語の品質を評価することができません。Agentforce Voice を有効化したエージェントは以下のように言語設定が English に限定され、日本語を選択することができなくなります。

ただし、上記の言語設定のドロップダウンリストを無視して ja と入力すると日本語モデルに切り替わるようにはなっているようです。

とはいえ、正式サポートが謳われていないものを評価してもあまり意味はないでしょう。

しかし、Agentforce Voice の ドキュメント には発話に ElevenLabs を使用しているという旨が記載されており、おそらく会話の品質については両プラットフォームで共通する部分が大きいと思われます。そのため、ElevenLabs Agents で得られた会話の品質に関する知見は、そのまま Agentforce Voice でも活きる可能性が高いです。

従って、今回は評価を以下の2つの軸に分けます。

  • 機能差
  • 会話の品質

前者については両者の比較の形で記述し、後者に関しては ElevenLabs Agents を日本語で使用してみて得られた知見をまとめるという形で記載したいと思います。

以下、それぞれの評価軸の内容について述べます。

機能差

会話の品質以外の機能差について以下の点で比較を行います。

  • 会話の制御
    • 会話の流れの制御がどれくらい正確かつ容易であるか
  • モデルの選択
    • 使用するモデルをどれくらい柔軟に変更できるか
  • 外部システム連携
    • 外部システムとの連携がどれくらい容易か

会話の制御

Agentforce Voice と ElevenLabs Agents の最大の差は会話の制御方式で、前者はトピックとアクションによる制御、後者は Workflow を使った状態遷移による制御になっています。つまり、Agentforce Voice は話の内容ごとに対応方法を定義していく方式で、一方で ElevenLabs Agents は会話を一連の流れと捉え、その推移について定義していく方式になっています。

これは以下の点に影響を与えそうです。

ユースケースへの適性

Agentforce Voice のトピック・アクション方式はユーザの要望があまり明確ではないユースケース、例えばコールセンターの一次対応などに向いています。このような場合はどんな質問がどんな順序で来るのか予想できないため、対応可能な事柄を会話の内容ごとに定義できる方が便利です。

一方で、面談などのように決まった流れに沿って会話するのが望ましい場合にはトピック・アクション方式はあまり有用ではありません。このようなユースケースにおいては ElevenLabs Agents のようなフロー方式に軍配が上がりそうです。

特に Agentforce Voice は現時点で Agent Script に未対応なため、細かな制御は難しいという側面があります。Agent Script による静的判断と動的対応の恩恵が受けられれば、多少状況は変わってくるかもしれません。

テストの容易さ

ElevenLabs Agents の Workflow 方式では会話の流れがブロックとその間の遷移条件として明示されるため、問題が発生した際に原因の解析が容易です。状態遷移のどの部分で失敗したのかはログを見返すだけで簡単に特定できます。

一方で Agentforce Voice のトピック・アクション方式では、状態遷移が Atlas 推論エンジンによってブラックボックス化されてしまうため、トピックの誤選択の解析が難しいという特性があります。特にトピックの数が膨らんでくると、この問題は顕著になります。

また Workflow 方式では会話の流れの一部を切り出してテストすることもでき、テスト可能性が非常に高いです。トピック・アクション方式では基本的にトピックの選択からテストにかける形になるため、単一モジュールのテストがやや難しいという側面があります。従って、会話の流れ全体をテストしたい場合は Workflow 方式の方が便利だと思われます。

では設計判断として Workflow 方式の方が優れているかというと、必ずしもそうとは言えません。Workflow 方式にはあらかじめ会話の流れを決めておく必要があるという前提があり、複雑な系においては開発者が想定できなかった合理的な経路が発生するといった問題が生じる可能性があります。

また、Workflow 方式では機能追加の際に既存のフローに追加の処理を慎重に差し込む必要があり、ナイーブに運用するとフローの肥大化を招きやすいという特性があります。トピック・アクション方式ではトピックを個別に定義して積み上げることになるため、個々のトピックとそれに付随するアクションの開発自体は比較的容易であるという利点があります。

要するに、これらはあくまで用途の相異なる定義の方式であり、単にそれぞれが異なる特性を持っていると理解するのがよさそうです。

その他

細かい点にはなりますが、ElevenLabs Agents では Workflow のブロックとして Tool の静的な実行が行えるという利点があります。これは全ての判断を LLM が行う Agentforce Voice ではできない機能です。

もちろん、Agent Script が使えるようになれば Agentforce Voice でも同じことができるようになります。早期の対応が待ち望まれますね。

モデルの選択

ElevenLabs Agents では回答生成モデルと発話モデルを独立に選択することが可能ですが、Agentforce Voice では回答生成モデルは固定されており、発話モデルのみ選択することが可能です。

正確には Agentforce でもエージェントに使用するモデルを変更すること自体は可能ですが、選択したモデルは組織の全てのエージェントに適用されるという制約があります。また、選択肢は OpenAI か Anthropic というプラットフォームレベルでの2択となっており、各プラットフォームのどのモデルを使用するかは選択できません。おまけに Anthropic のモデルは Agentforce に最適化されておらず、性能面に不安を抱えています。制約多すぎないか。

このあたりの話については以下の記事で扱っているので、詳細を知りたい方はそちらを参照願います。

cloud.flect.co.jp

ElevenLabs Agents では OpenAI・Google・Anthropic などの各社モデルを比較的自由に選択できます。また、Workflow のブロックの単位で使用するモデルを変更することも可能です。この点では ElevenLabs Agents の方が柔軟と言えそうです。

一方で、発話モデルはどちらもいくつかの選択肢の中から選択可能にあっており、モデルの柔軟な選択という意味では特に差はないように見えます。ただし、会話に関するパラメータでは ElevenLabs Agents の方が充実しているようです。

Agentforce Voice で以下のパラメータでモデルの発話を制御できます。

他方の ElevenLabs Agents も同様のパラメータで発話を制御でき、かつそれに加えて「ユーザの会話終端をどれくらい待つか」などの追加のパラメータがあります。また、選択肢は少ないながらも音声認識モデルの選択まで可能となっており、かなりきめ細やかな制御が可能になっています。

細かな制御ができることが必ずしも高品質に結びつくわけではありませんが、自由度という点では ElevenLabs Agents の方が圧倒的に高そうです。

外部システム連携

Agentforce Voice では当然ながら Salesforce 上の資産を全て直接活用できるため、システム連携においてはかなり優位と言えそうです。

一方で ElevenLabs Agents では Tool として音声エージェントが利用可能なアクションを定義することで外部システムと連携する形になります。Tool の定義方法には以下の選択肢があります。

  1. MCP
  2. Webhook (API)
  3. Client Tool

1 と 2 はお馴染みの方法で、連携のための MCP ないし API を用意しなければならないという点がネックになります。MCP は実行時のトークン効率の問題があり、やや下火の感があるので、利用するとすれば Webhook になりそうですね。

3 の Client Tool は Web クライアント上に定義された関数を実行して連携するという一風変わった Tool です。ElevenLabs Agents の UI を表示しているブラウザで実行されている JavaScript にあらかじめ Tool を実装しておき、それを音声エージェント経由で呼び出すという仕組みになります。現在見ている画面に関する操作を音声エージェントに依頼したいようなケースで活用できそうですね。

まとめると、フロントエンドで少し凝ったことをやりたい場合は ElevenLabs Agents が勝つ可能性がありそうですが、Salesforce が絡む用途の場合は基本的に Agentforce Voice が最有力候補になりそうです。

会話の品質

冒頭で述べた通り、ここでは ElevenLabs Agents を日本語で使用してみて得られた知見をまとめます。具体的には、以下の観点で品質を評価し、各観点においてどのような問題が生じ得るのかといった事柄について述べます。

  • 発話の精度
    • 生成される音声がどれくらい自然に感じられるか
  • 音声認識の精度
    • 入力された音声がどれくらい正しく認識されるか
  • 応答速度
    • 会話において違和感を感じるような遅延がないか
  • 割り込み処理
    • 音声エージェントの発話中に割り込んだ際に自然な対応がなされるか

以下、それぞれの観点での評価結果について述べます。

発話の精度

発話の精度を総評すると、会話をするのに困難はないがやや不自然に感じる部分はある、という感じです。

前提として、ElevenLabs が提供している日本語モデルはいくつか選択肢があるのですが、今回は Ken を使用しています。これは軽く試した限りで最も発話が自然に感じられたためです。

発話モデルが生成する音声は非常に流暢で、ごく短い文章を読み上げるだけなら人間と見分けがつかないレベルなのですが、一方でやや長めの会話をしていると徐々に違和感が目立ってきます。

ここでは特に気になった以下の二点について述べます。

  • 漢字の読み間違いが多い
  • 妙なところで会話を区切ることがある
漢字の読み間違いが多い

話していて最も気になるのが漢字の読み間違いの問題です。例えば、筆者が試した環境では「拾う」が常に「つかう」と読まれており、正しい意味を理解するのに聞き手が気を遣うという状況が度々発生していました。

これは発話モデルによる誤読と思われ、発話モデル側の最適化設定を変更することで若干は改善するようです。ただし、どれほど最適化しても誤読が完全になくなることはなく、割と悩ましい問題のように感じました。

この問題は回答生成モデルの出力を全てひらがなにすることで回避できますが、漢字で出力した場合に比べて発話のイントネーションが若干おかしくなるという問題が発生するようです。また、トランスクリプトが不恰好になるという問題もあり、ユースケースによっては使いづらい方法です。

なお、Agentforce Voice を日本語で使用した場合も生成文章が全てひらがなになっており、漢字の読み間違いの問題を認識していることがわかります。漢字の読み間違いを抑制しつつ、どれくらいイントネーションを自然に保てるかは、1つの品質指標になりそうです。

妙なところで話を区切ることがある

発話モデルは適当なタイミングで発話を区切ることがあるのですが、時折妙なタイミングが区切りが発生することがあります。

おそらくネットワークトラフィックを待つためのものと思われますが、会話を区切るタイミング自体は選択的に行われている節もあり、回答生成モデルの出力をひらがなにすると悪化する傾向があります。

なお、ElevenLabs Agents では一部の回答生成モデルは出力が全てひらがなになります。Gemini 3 Pro Preview を使用している場合にのみこの事象が発生するようなので、トランスクリプトの活用を想定している場合は注意が必要かもしれません。

回答生成モデルにひらがな出力をさせるべきかどうかは悩ましいですね ... 。

音声認識の精度

音声認識精度についてはそれほど目立った問題はなさそうに感じました。多少のエラーはあるものの概ね綺麗に文字化できているという印象です。

ただし、これは音声認識精度の問題が発話品質よりも表面化しづらいためかもしれません。音声認識の不備によって多少誤った変換がされたとしても、回答生成モデルの暗黙の補正により会話を滞りなく継続できるという向きがあるためです。

また、今回の検証ではトランスクリプトを動的に表示しない UI を使っており、動的にトランスクリプトが表示されるような UI の場合は感じ方が違ってくるかもしれません。Agentforce Voice では Preview に動的にトランスクリプトが表示されるため、トランスクリプトの精度が少し気になってきそうです。

とはいえ、純粋に会話の品質という観点においては、現代ではそれほど重要ではない指標になりつつあるように感じました。トランスクリプトが重視されるようなユースケースがある場合は別途検証するくらいでよさそうです。

応答速度

会話の応答速度は使用するモデルと設定によります。ElevenLabs Agents で応答速度に寄与する設定は以下の 2 つです。

  • 回答生成モデルの種類
  • 音声生成モデルの最適化設定

特に応答速度に関しては前者の影響が支配的で、後者に関しては最適化を最大にしてもそれほど遅延は見られませんでした。

逆に回答生成モデルに関しては使用できるモデルがかなり制限されます。筆者が試してみた際の感触では、Gemini 2.5 Flash ではスムーズに会話ができますが、一方で Gemini 3 Pro Preview では露骨に応答時間が劣化し、UX への影響が許容できないレベルになります。

ElevenLabs Agents には以下のようにモデルごとの遅延時間の目安が表示されており、これが UX への影響の参考になりそうです。

こちらを見るに、許容できる遅延は 1 秒程度が限界になりそうです。

ただし、やはり Gemini 2.5 Flash だと会話の内容がやや物足りない感があり、この辺りのバランス感覚は一つの開発上のポイントになりそうです。推論モデルなども当然使えないので、高度な推論を要する場合は非同期で回答を用意する等のシステム上の工夫が必要になってきそうです。

なお、筆者が試していた時点では ElevenLabs Agents の Gemini Flash 系列のモデルは Gemini 2.5 Flash が最新でしたが、最近 Gemini 3 Flash Preview が追加されたので、そちらだと少しは状況が改善するかもしれません。Gemini 以外では Claude Sonnet 4.6 も追加されたようなので、そちらも有力な候補になりそうです。

割り込み処理

音声エージェントの会話中に割り込んで話し始めると、エージェントは会話を中断し、会話のターンをユーザに譲ってくれます。

ただし、どれくらい話すと会話を中断してくれるかはムラがあり、お互いが延々と並行して話し続けるという地獄のような状況が発生することもありました。逆に、会話の出だしが少し衝突しただけでお互いに黙ってしまい、気まずい沈黙が流れることもありました。

この種の会話のやり取りのぎこちなさは ElevenLabs Agents 固有の問題ではなく、世の音声エージェントに共通してみられる課題のようです。例えば、以下の記事(英語)では AI の面接エージェントについて取り扱っていますが、同様の問題について指摘しています。

www.theverge.com

この問題の解消には何らかのイノベーションが待たれる感があり、製品の UX を下げる要因にはなるものの有効な対処法はないという難しい点になってきそうです。

まとめ

というわけで、今回は Agentforce Voice と ElevenLabs Agents の違いと音声エージェントの開発上のポイントについてまとめました。主な内容は以下になります。

  • Agentforce と ElevenLabs で音声エージェントの定義方法が異なる
    • Agentforce はトピック・アクション方式(Agent Script は不可)
    • ElevenLabs は Workflow 方式
  • 発話の難しい点は以下
    • 日本語の正しい発話
      • 特に漢字の読み上げ
    • 応答時間によるモデルの制限
      • 高性能モデルは基本的に使えない
    • 会話のぎこちなさ
      • 現時点で明確な解法はなさそう

また、本記事は Agentforce と ElevenLabs の比較に焦点を当てていたため記載できませんでしたが、音声エージェントを実装する際は UI が大切になりそうという印象も受けました。

例えば、人間のアバターが表示されると不気味の谷現象で話しづらくなる、トランスクリプトが動的に画面に表示されると会話に集中しづらくなるなど、色々と試していく中で経験的にわかってくる事柄が多かったです。こういった点についてもきちんと理解し、サービスの品質向上に繋げられる取り組みができるとよいですね。

以上です。最後までお読みいただき、ありがとうございました。