ライブチャットの会話を要約する
DECA ライブチャットの会話がクローズされたら、AI に短い要約を書かせ、会話にメモとして残します。同じお客様を次に担当するオペレーターは、会話全体をさかのぼらなくても、何があったかをすぐに把握できます。同じ要約を DECA Tables に送って、集計に使うこともできます。
1. 会話がクローズされたらフローを開始する
- フローを作成し、トリガーを追加 をクリックします。
- DECA Cloud を開き、ライブチャット を選んでから、イベント 会話クローズ を選びます。
会話の ID は、トリガーの出力の conversation.id にあります。
2. メッセージを取得する
- ステップを追加 をクリックし、DECA Cloud を開いて ライブチャット を選び、会話メッセージを取得 を選びます。
- 会話ID: Current Trigger ›
conversation.id - 1ページあたり: 取得するメッセージの数(例:
100)。ほとんどの会話は 1 ページに収まります。
メッセージはステップの data に入ります。各メッセージには sender(type が enduser や operator など)と、data.text にテキストがあります。
3. メッセージを会話記録にする
LLM はプレーンテキストを渡したほうがうまく動きます。組み込み › コード › JavaScript実行 を追加し、入力パラメータ messages に会話メッセージを取得のステップの data を設定して、次のコードを書きます。
return messages
.filter((m) => m.data && m.data.text)
.sort((a, b) => a.created.localeCompare(b.created))
.map((m) => `${m.sender.type === "enduser" ? "お客様" : "オペレーター"}: ${m.data.text}`)
.join("\n");結果は次のような会話記録になります。
お客様: 注文した商品がまだ届きません。
オペレーター: 申し訳ございません。注文番号を教えていただけますか?
お客様: A-1042 です画像などテキスト以外のメッセージは除かれます。
4. 要約を書く
AI › 大規模言語モデル › テキストチャット を追加します。
システム メッセージを追加します。
このサポートチャットを、次の担当オペレーター向けに要約してください。箇条書き 3 点以内で、お客様の要望、対応した内容、未解決の事項を書いてください。チャットと同じ言語で書いてください。
コードのステップの
resultsを入れた ユーザー メッセージを追加します。要約を安定させるため、温度 を
0.2程度にします。
LLM のステップについて詳しくは AI で返信を下書きする を参照してください。
5. 要約をメモとして保存する
DECA Cloud › ライブチャット › 会話メモを追加 を追加します。
- 会話ID: Current Trigger ›
conversation.id - メモ: LLM のステップの要約。
$の一覧には表示されないため、参照を入力します:$.<LLM のステップ ID>.output.response.choices[0].message.content

6. 公開してテストする
公開 をクリックし、ライブチャットでテスト用の会話をクローズします。実行履歴 で実行を確認し、会話のメモを確認します。
テーブルにも残す
お客様からの問い合わせ内容を毎週振り返るなら、メモの後に テーブル › レコード作成 を追加し、会話 ID・クローズ日・要約を保存します。件数を数えられる分類も欲しい場合は、LLM にテキストではなく category と summary のフィールドを持つ JSON を返させます。文章ではなく構造化された回答を得る を参照してください。
うまくいかないとき
| 症状 | 考えられる原因 |
|---|---|
| 会話をクローズしても実行が表示されない | フローが公開されていない。 |
| 要約にチャットの最後が含まれない | 会話のメッセージが 1ページあたり より多い。値を上げる。 |
メモに $.…output.response… がテキストのまま入る | 参照のステップ ID が間違っている、または LLM のステップが失敗した。実行履歴 で実行を確認する。 |