> ## Documentation Index
> Fetch the complete documentation index at: https://docs-agents.fpt.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 会話履歴とトレース詳細

> 会話を振り返り、Digital Worker が各ターンで何をしたか、どれだけ時間とトークンを使ったかを確認します

ユーザーが Digital Worker と会話するたびに、FPT AI EOS Console は会話全体を自動で記録します。**分析** タブでは、2 つの粒度で確認できます。

* **履歴**: 会話の一覧です。ユーザーが見たとおりの内容を読み返せます。
* **トレース詳細**: ターンごとの内訳です。Digital Worker がどのツールを呼び出したか、Guardrail が介入したか、各ステップにどれだけ時間とトークンを使ったかがわかります。

> [!NOTE]
>
> 「なぜこの回答は間違っていたのか」「なぜユーザーは長く待たされたのか」「この会話でトークンをどれだけ使ったのか」「Guardrail は正しく止めたのか」を確かめたいときは、トレース詳細を開きます。

## 会話履歴を開く

**1. Digital Worker を開く**

Console の左メニューで Digital Worker の一覧を開き、確認したい Digital Worker (例: **Hỏi đáp NQ\_57**) をクリックします。

**2. 分析タブを開く**

上部の **分析** タブをクリックし、左の列で **履歴** を選びます。

**3. 会話を選ぶ**

表の行をクリックします。右側に **会話の詳細** パネルが開き、ユーザーが見た順にすべてのメッセージが表示されます。

![会話履歴](https://mintcdn.com/fpt-62e894b4/wEfXiEciPb6iuNd8/images/ja_trace_history.jpg?fit=max\&auto=format\&n=wEfXiEciPb6iuNd8\&q=85\&s=787c7ed4d10fc95753f764cac3bc080c)

### 履歴の表の列

| 列 | 意味 |
| - | - |
| **終了日時** | 会話の最後のメッセージの時刻です |
| **会話 ID** | 一意の識別子です。検索やサポートへの問い合わせに使います |
| **チャネル** | 会話が行われた場所です (Workspace、Live Chat、API、Zalo など) |
| **ユーザー** | 会話した人の名前とメールアドレスです |
| **トリガー** | 会話の起点です (例: ユーザーが直接チャット) |
| メッセージ数 (右端の列) | 会話内のメッセージの合計数です |

### 検索と絞り込み

* **検索ボックス**: 内容、送信者名、会話 ID、メッセージ ID で検索できます。
* **すべてのチャネル**: 特定のチャネルの会話だけを表示します。
* **全期間**: 期間で絞り込みます。

### 会話の詳細パネルの操作

| ボタン | 動作 |
| - | - |
| リンクのアイコン | 会話のリンクをコピーします。同僚が同じ会話をそのまま開けます |
| **トレース詳細を表示** | その会話のトレース詳細ページを開きます |
| ID 横のコピーアイコン | 会話 ID をコピーします |
| **X** | パネルを閉じます |

## トレース詳細を開く

会話の詳細パネルで **トレース詳細を表示** をクリックします。ページは 3 列で構成されています。

| 列 | 内容 |
| - | - |
| **ターン** (左) | すべてのターンの一覧です。各ターンにレイテンシとトークン数が付きます |
| **ターンの詳細** (中央) | ユーザーの入力と、Digital Worker が回答のために行ったすべてのステップです |
| **会話の統計** (右) | 会話全体の時間、レイテンシ、トークンの集計です |

![トレース詳細ページ](https://mintcdn.com/fpt-62e894b4/wEfXiEciPb6iuNd8/images/ja_trace_overview.jpg?fit=max\&auto=format\&n=wEfXiEciPb6iuNd8\&q=85\&s=8702143919c66e202d68e145ca67e4f3)

上部の **履歴に戻る** で会話一覧に戻ります。見出しの ID 横にあるコピーアイコンで会話 ID をコピーできます。

## ターンの一覧

**ターン** とは、ユーザーの 1 つのメッセージと、それに答えるために Digital Worker が行った処理全体のことです。ターンをクリックすると、中央の列でそのターンの詳細へ移動します。

各ターンのカードには次の情報があります。

* **ターン番号** とユーザーの質問の冒頭部分
* **レイテンシ**: 質問を受け取ってから回答を終えるまでの時間です (例: `27.4s`)。
* そのターンで使った **トークン数** です (例: `11万`)。
* **スパナのアイコン**: ツールを呼び出したターンです。
* **盾のアイコン**: このターンで Guardrail がブロックしました。
* **オレンジの点** と赤いラベル (例: 「入力ガードレールでブロック」): **問題あり** のターンです。詳しく確認してください。

![ターンの一覧](https://mintcdn.com/fpt-62e894b4/wEfXiEciPb6iuNd8/images/ja_trace_turn_list_v2.png?fit=max\&auto=format\&n=wEfXiEciPb6iuNd8\&q=85\&s=c833c2ef4ca681933c97bc776768f217)

ターンのカードにカーソルを合わせると、そのターン単体の数値 (開始・終了時刻、レイテンシ、最初のトークンまでの時間、トークンの内訳) を確認できます。

![1 ターンの統計](https://mintcdn.com/fpt-62e894b4/wEfXiEciPb6iuNd8/images/ja_trace_turn_tooltip.jpg?fit=max\&auto=format\&n=wEfXiEciPb6iuNd8\&q=85\&s=d153132ca97d90bcd53a1a3a4fefe0d7)

| 指標 | 意味 |
| - | - |
| **開始**、**終了** | Digital Worker が質問を受け取った時刻と、回答を終えた時刻です |
| **レイテンシ** | 開始から終了までの時間です。ユーザーがこのターンで待った時間を表します |
| **最初のトークン** | 質問を受け取ってから、回答の最初の文字が表示されるまでの時間です |
| **トークンの内訳** | このターンだけの入力、キャッシュ読み取り、出力、推論、合計です。各項目の意味は下の「会話の統計」をご覧ください |

## ターンの詳細

各ターンには 2 つのブロックがあります。

* **入力**: ユーザーが送った内容です。どのルールにも違反しなければ **ガードレール通過** と表示されます。
* **出力**: そのターンで Digital Worker が生成したすべてのメッセージを順番に表示します。右上に **メッセージ数** が表示されます。

Digital Worker のメッセージ (ラベル **AGENT**) の右側には情報行があります (例: `deepseek-v4-flash · 6.0s · 2.2万 トークン · ガードレール通過`)。

| 項目 | 意味 |
| - | - |
| モデル名 | このメッセージを生成したモデルです |
| 時間 | モデルがメッセージを生成するのにかかった時間です |
| トークン数 | このモデル呼び出し単体で使ったトークン数 (入力と出力の合計) です |
| **ガードレール通過** | メッセージが Guardrail のチェックを受け、どのルールにも違反しなかったことを示します |

Digital Worker はツールを呼び出し、結果を読んでから回答するなど、1 ターンの中でモデルを複数回呼び出すことがあります。そのため、1 ターンに複数の AGENT メッセージが表示される場合があります。**ターン** 横の矢印でターン全体を折りたたんだり開いたりできます。

### ツール呼び出しを確認する

メッセージの下にツール呼び出しの行が表示されます。例えば `vbpl-knowledge__knowledge_search` は、Digital Worker が Connector `vbpl-knowledge` を通じてナレッジベースを検索したことを示します。行をクリックすると詳細が開きます。

| 項目 | 意味 |
| - | - |
| **コネクタ** | ツールが属する接続です |
| **ツール呼び出しID** | この呼び出しの ID です。ログと照合するときに使います |
| **ステータス** | 呼び出しが成功したか失敗したかです |
| **入力** | Digital Worker がツールに渡したパラメータです (検索クエリやフィルタなど) |
| **出力** | ツールが返した結果です |
| 所要時間 (右端) | 呼び出しにかかった時間です (例: `1.6s`) |

入力と出力は **JSON** (整形表示) と **Raw** (元のまま) を切り替えられ、それぞれコピーボタンがあります。

![ツール呼び出しの詳細](https://mintcdn.com/fpt-62e894b4/wEfXiEciPb6iuNd8/images/ja_trace_tool_call.jpg?fit=max\&auto=format\&n=wEfXiEciPb6iuNd8\&q=85\&s=445827ca528ee174a0a70faf5fdb16ed)

> [!TIP]
>
> 誤った回答の多くは検索の段階で起きています。まず入力で Digital Worker がどんなクエリで検索したかを確認し、次に出力でナレッジベースが何を返したかを確認します。結果が正しいのに回答が誤っている場合は、[Instructions](/ja/instructions.md) を見直してください。

### Guardrail が介入したとき

Guardrail が介入したターンには **問題あり** のラベルが付きます。出力の **ガードレール・入力チェック** の行に結果 (例: **拒否**) が表示されます。行をクリックすると次の内容を確認できます。

* **ルール**: 発動したルールです (例: `__injection__`)。
* **スクリーン**: チェックの種類です (例: `injection`。Digital Worker の指示を書き換えようとするプロンプト)。
* **アクション**: Guardrail が行った処理です (例: **拒否**)。

例: ユーザーが Digital Worker に指示を無視して数値を作るよう求めます。Guardrail はこれを拒否し、メッセージはモデルに届きません。ユーザーには、その下の AGENT メッセージにある安全な返答が表示されます。

![Guardrail にブロックされたターン](https://mintcdn.com/fpt-62e894b4/wEfXiEciPb6iuNd8/images/ja_trace_guardrail.png?fit=max\&auto=format\&n=wEfXiEciPb6iuNd8\&q=85\&s=fd96771060e80051488ad0d469c1d6c1)

ルールの設定方法は [Guardrail](/ja/guardrails.md) をご覧ください。

## 会話の統計

右の列には会話全体の数値がまとめられています。

![会話の統計](https://mintcdn.com/fpt-62e894b4/wEfXiEciPb6iuNd8/images/ja_trace_stats.png?fit=max\&auto=format\&n=wEfXiEciPb6iuNd8\&q=85\&s=df52dba750ff87bf1d16c330ae3b0e7c)

| グループ | 指標 | 意味 |
| - | - | - |
| **会話の統計** | ターン数 | ユーザーが質問し Digital Worker が回答した回数です |
| **時間** | 最初の開始、最後の終了 | 最初のターンが始まった時刻と、最後のターンが終わった時刻です |
| **レイテンシ** | P50 | 一般的な待ち時間です。半数のターンがこれより速く終わります |
| | P99 | 最も遅いときの待ち時間です。99% のターンがこの時間内に終わります |
| | 最初のトークン P50 | ユーザーが最初の文字を目にするまでの一般的な待ち時間です |
| **トークンの内訳** | 入力 | 回答前に Digital Worker が読むトークンです (Instructions、会話履歴、ツールの結果) |
| | キャッシュ読み取り | キャッシュから再利用した入力です。新たに読むより安価です |
| | 出力 | Digital Worker が書き出すトークンです (回答とツール呼び出し) |
| | 推論 | 回答前にモデルが「考える」ために使うトークンです (対応モデルのみ) |
| | ガードレールのチェック | 質問と回答を Guardrail で確認するために使ったトークンです |
| | 合計 | 上記の合計です |

> [!NOTE]
>
> 数値は **万** (1 万 = 10,000) 単位で表示されます。括弧内の割合は、各項目が合計トークンに占める比率です。

### P50 と P99 の見方

すべてのターンを速い順に並べます。

* **P50** は真ん中のターンです。多くのユーザーが体験する待ち時間を表します。
* **P99** は最後尾に近いターンです。最も長い待ち時間を表します。

例: P50 が 15 秒、P99 が 65 秒であれば、通常は 15 秒ほどで回答が届きますが、最も遅いときは 1 分以上かかります。2 つの数値の差が大きいほど、応答速度のばらつきが大きいことを意味します。

### 統計を Digital Worker の改善に活かす

> **入力がトークンの大半を占める**
>
> Digital Worker はターンごとに会話履歴全体を読み直すため、会話が長くなるほど 1 ターンあたりのコストが増えます。[Instructions](/ja/instructions.md) を短くし、ナレッジベースから返す量を絞ることを検討してください。

> **キャッシュ読み取りが 0**
>
> ターン間で繰り返される内容がすべて通常料金で計算されています。キャッシュに対応した [モデル](/ja/model.md) を選ぶと、コストを大きく下げられる場合があります。

> **P99 が P50 の何倍もある**
>
> ターンの一覧で最も遅いターンを開き、時間がモデルの呼び出しとツールのどちらにかかっているかを確認してください。

> **問題ありのターンが多い**
>
> どの Guardrail ルールが発動しているかを確認します。正当な質問までブロックしている場合は、[Guardrail](/ja/guardrails.md) でルールの説明と例を調整してください。

## 作成・編集・削除

履歴とトレース詳細は閲覧専用です。Console が会話を自動で記録するため、この画面で会話を作成、編集、削除することはできません。Digital Worker の回答を変えたい場合は、**ビルド** タブで設定を変更し、もう一度 **Publish** してください。

> [!NOTE]
>
> 分析タブの **パフォーマンス** は現在開発中で、近日公開予定です。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.