Agentforce のエージェントとの会話ログをレポートで時系列に表示する

はじめに

こんにちは。エンジニアの大橋です。

今回は、Agentforce のエージェントとの会話ログを Salesforce のレポートで時系列に表示する方法について書こうと思います。

Agentforce を業務に導入すると、「エージェントが実際にどんな回答をしているのか」を目視で確認したい場面が出てきます。例えば、営業向けのエージェントであれば、「メンバーがエージェントから受けたアドバイスに誤りがないかを、マネージャーが確認したい」といったケースです。

エージェントとの会話ログは、設定をオンにすると Data 360 の DMO に保存され、標準のレポートタイプからレポートを作ることができます。ただ、そのままでは会話を時系列に並べられないという問題があり、少し工夫が必要でした。

本記事では、エージェントとの会話ログ周りの DMO 構成を説明したうえで、設定手順と、会話を時系列に並べるための工夫を紹介します。あわせて、この仕組みを使うと何ができるのかについて、案件での経験をもとに考察していきたいと思います。

Agentforce のエージェントの動きを確認する方法

ログ周りの DMO 構成の説明に入る前に、DMO 以外の方法にも触れておきます。Agentforce には、エージェントの動きを確認する機能がすでに用意されています。その一例として、Agent Analytics があります。

Agent Analytics を使うと、エンゲージメント率やエスカレーション率など、エージェントの利用状況や有効性を指標で確認できます。そのため、効果の低いトピックやアクションを見つけて、エージェントを改善していく用途に向いています。

一方で、エージェントの回答が正しいかを確かめたい場合は、集計された指標ではなく、個々の会話で何を聞かれて何を答えたのかを、実際のやり取りのまま読む必要があります。

そこで今回は、DMO に保存されたエージェントとの会話ログを、レポートで表示する方法をとりました。レポートであれば、会話の生データを整理された形で閲覧できるだけでなく、絞り込みや共有など、レポートの機能をそのまま使える点も強みとなります。

Agentforce のログ周りの DMO 構成

エージェントとの会話ログをレポートで表示するには、まず会話ログがどのような形で保存されるかを知っておく必要があります。エージェントとの会話ログは、Agentforce Session Tracing Data Model(以下、STDM)というデータモデルで Data 360 に保存されます。STDM は、次の5つの DMO で構成されています。

DMO 役割
AI Agent Session 会話を始めてからチャットを閉じるまでの、一連のやり取りのまとまり
AI Agent Session Participant セッションに参加したユーザーやエージェント
AI Agent Interaction ユーザーの依頼1回と、それに対するエージェントの応答(1往復)
AI Agent Interaction Step 応答を返すまでに実行された個々の処理(LLM の実行、アクションの実行など)
AI Agent Interaction Message ユーザーが送ったメッセージ、またはエージェントが返したメッセージ1件

DMO 同士の関係は、次のようになっています。

AI Agent Session
├── AI Agent Session Participant
└── AI Agent Interaction
    ├── AI Agent Interaction Step
    └── AI Agent Interaction Message

このうち、エージェントとの会話ログをレポートで見るときに使うのは AI Agent Interaction Message と AI Agent Session Participant の2つです。

  • AI Agent Interaction Message:メッセージの本文、送信日時、種別(ユーザーの入力なら Input、エージェントの出力なら Output)を持っています
  • AI Agent Session Participant:Participant 項目に会話への参加者の ID を持っています。Participant はメッセージの送信者ごとに分かれていて、社内ユーザーの発話(Input)の場合は、ここにユーザー ID が入ることを実データで確認できています。

各 DMO の項目の詳細については、公式ドキュメントの Data Model for Agentforce Session Tracing にまとまっていますので、あわせてご確認いただくのが良いと思います。

設定手順

ここからは、実際に会話ログをレポートで閲覧できるようにするまでの手順を見ていきたいと思います。ただし、この章で紹介する手順と画面は、すべてユーザーの言語設定を英語にした場合のものとなりますので、ご認識ください。

Agentforce Session Tracing を有効にする

まずは、エージェントとの会話ログが STDM に保存されるように設定をオンにします。設定画面から [Einstein Generative AI] > [Einstein Audit, Analytics, and Monitoring Setup] を開き、[Agentforce Session Tracing] のトグルをオンにします。

注意点として、ログが貯まり始めるのは設定をオンにしたあとからです。オンにした直後はデータが0件なので、先にエージェントと会話してログを貯めてから、次のレポート作成に進んでください。なお、有効化したあとのデータは5分間隔で収集されます(Set Up Agentforce Session Tracing)。

標準のレポートタイプでレポートを作る

設定をオンにすると、STDM の DMO を使ったレポートタイプが標準で用意されます。レポートの新規作成画面で [Data Cloud] カテゴリを選ぶと、STDM のレポートタイプが表示されます。今回は、会話ユーザーと会話の本文をあわせて見たいので、「AI Agent Session Participant with AI Agent Interaction Message」を選びます。

なお、STDM のレポートやダッシュボードを見るには、Data Cloud User 権限が必要となります(Get Insights from Agent Session Tracing Data)。エージェントの利用者以外(管理者や上長など)にレポートを見てもらう場合は、そのユーザーにもこの権限を付与しておく必要があります。

デフォルトでは会話を時系列に並べることができない

これでレポート自体は作れますが、ここで問題が出てきます。送信日時の項目(Message Sent Timestamp)が、「2026/10/01 12:04」のように分単位までしか表示されないのです。

エージェントとの会話では、ユーザーの発話とエージェントの回答が数秒おきにやり取りされることも多いため、1つの会話のメッセージの多くが同じ「分」に収まってしまいます。その結果、同じ時刻のメッセージの前後関係が分からず、会話を時系列に並べることができなくなります。

実装のポイント:Data Transform で時系列に並べる

この問題は、送信日時を String 型に変換した項目を用意することで解決できます。変換には、Data 360 の Data Transform の機能を使います。

Data Transform で新しい DMO を作る

バッチ型の Data Transform を作成し、入力に AI Agent Interaction Message、出力に新しい DMO を指定します。既存の DMO に項目を追加するのではなく新しい DMO を作ったのは、レポートに表示したい項目だけを持たせたほうが、レポート上で扱いやすいためです。新しい DMO を作ると、その DMO 用のレポートタイプも自動で作られます。

なお、新しい DMO の内容は Data Transform が実行されたタイミングで更新されるため、レポートで最新の会話ログを閲覧できるのは実行後になりますので、ご注意ください。

送信日時を String 型に変換する

入力と出力の間に Transform ノードを置き、Formula で次の式を指定します。

string(ssot__MessageSentTimestamp__c)

やることはこれだけです。DateTime 型の送信日時を String 型に変換するだけで、ミリ秒まで含んだ値が得られます。

変換後のレポート

作成した DMO のレポートタイプでレポートを作り、データ変換前後の項目を並べてみました。

  • Message Sent Timestamp(DateTime 型のまま):「2026/07/21 16:04」のように分単位のまま
  • Message Sent Timestamp String(String 型に変換):「2026-07-21 07:04:30.028」のようにミリ秒まで表示される

String 型の項目で昇順に並べ替えると、同じ分の中のメッセージも正しい順番に並びます。さらに Session Id でグループ化すると、会話ごとにユーザーとエージェントのやり取りを上から順に読めるようになります。

注意点として、String 型の項目は UTC で出力されます。画像でも、DateTime 型の「16:04」に対して、String 型は「07:04」と9時間ずれています。日本時間として読む場合は、この差を頭に入れておく必要があります。

では、この仕組みで何ができるのか

ここまでで、エージェントとの会話ログをレポートで時系列に表示できるようになりました。ここからは、まず Data Transform でレポートの項目を拡張する方法を紹介し、そのうえで、拡張したレポートをどのように使えるかを、案件での経験をもとに考えてみます。

Data Transform でレポートの項目を拡張する

Data Transform を挟む構成にしたことで、エージェントとの会話ログに会話ユーザーや会話内容以外のデータを結合することができます。案件では、次の2つの情報を追加しました。

ユーザー名

ユーザーの発話(Input)の Session Participant には、Participant 項目にユーザー ID が入ります。Data Transform で AI Agent Session Participant と User を結合すれば、ユーザー ID からユーザー名をたどることができます。

エージェントを起動したレコード

例えば営業向けのエージェントなら、「どの商談についての会話だったのか」を知りたくなるかもしれません。ただ、STDM にはエージェントを起動したレコードの ID を持つ項目がないため、標準では会話とレコードを結びつけられません。

そこで案件では、Agent クイックアクションの仕組みを利用しました。

Agent クイックアクションは、Salesforce では標準機能となっているクイックアクションの種別のひとつです。ボタンを押すと、あらかじめ設定したユーザー発話(UserUtterance)が裏側で送信されます。Agentforce の会話窓には、ボタン名だけが表示されるので、ユーザーには見えない状態でログに残すことができます。

この発話に ${RECORD_ID} のようなマージフィールドを入れておくと、送信時にレコード ID が差し込まれます。この発話は会話セッションの最初のメッセージとして STDM に残るので、そこからレコード ID を取り出せば、会話とレコードを紐付けられます。ただし、メッセージの本文からレコード ID を取り出す処理は、スケジュール実行のバッチ処理などで別に作る必要があります。

これらのデータを結合していくと、「誰が、どの商談で、何を聞いて、エージェントが何を答えたか」を1つのレポートで閲覧できるようになります。

拡張したレポートの使い方

項目を拡張したレポートは、エージェントの回答を人が確かめる場面で役に立ちそうです。

というのも、エージェントとの会話ログを確認したいというニーズのもとにあるのは、「エージェントの回答をそのまま信じてよいのか」という不安だと考えています。生成 AI の回答には誤りが含まれることがあり、業務で使う以上、人が確かめる仕組みは欠かせません。例えば、次のような場面が考えられます。

  • 導入前(テスト・評価):PoC や受け入れテストで、複数の担当者がエージェントと会話した内容をまとめて振り返り、誤った回答や意図しない動きがないかを洗い出します。実施期間やユーザーで絞り込めるので、「この担当者の、この日の会話」といった見方も簡単にできます。
  • 導入後(運用):
    • 営業マネージャーが、メンバーがエージェントから受けたアドバイスに誤りがないかを確認する
    • コールセンターのスーパーバイザーが、顧客向けエージェントの回答品質をチェックする
    • 社内ヘルプデスクの担当者が、エージェントが誤った社内ルールを案内していないかを確認する

エージェントとの会話ログを確認できれば、誤った回答に気づいて正しい情報を伝え直せますし、見つけた誤りをエージェントの改善につなげることもできます。

一方で、利用者の会話を管理者や上長が確認する運用は、受け取り方によっては「監視されている」と感じられる恐れもあります。導入する場合は、何のために、誰がエージェントとの会話ログを見るのかを、利用者に事前に伝えておくことが重要になりそうです。

まとめ

今回は、Agentforce のエージェントとの会話ログをレポートで時系列に表示する方法を紹介しました。

  • 会話ログをそのままレポート表示しても、メッセージの送信日時が分単位までしか表示されず、会話を時系列に並べられない
  • Data Transform で送信日時を String 型に変換すると、ミリ秒まで表示され、時系列に並べられる
  • Data Transform でユーザー名や起動元のレコードなどを結合すると、「誰が・どのレコードで」まで分かるレポートになる
  • 導入前のテスト・評価から導入後の運用まで、エージェントの回答を人が確かめる場面で活用できる

エージェントとの会話ログを確認する仕組みが必要になった際は、ぜひ活用してみてください。

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