> For the complete documentation index, see [llms.txt](https://docs.digitalhumans.jp/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.digitalhumans.jp/dify-guide/operations/dify-docs-check-logs-and-traces.md).

# ログとトレースの確認

## 1. 監視・分析機能の全体像

Difyには大きく分けて3つの監視・分析機能があります。

1. **ログとアノテーション**: 個別の会話履歴を確認し、回答の評価や修正（アノテーション）を行う機能。
2. **トレース**: \*\*\*\*ワークフロー内の各ノード（LLM、検索、条件分岐など）の入出力や実行時間を詳細に追跡する機能。
3. **監視**: アプリ全体のトークン消費量、コスト、ユーザー数、RPS（リクエスト数/秒）などの統計情報を時系列で確認するダッシュボード。

## 2. ログとアノテーション

![](/files/SeROFcmsohAxLoWtz2Aa)

ユーザーとの実際のやり取りを確認し、AIの回答精度を向上させるための機能です。

### 2.1 確認手順

1. 左側メニューの **「ログ&注釈」** をクリック。
2. **「ログ」** タブで会話リストから対象を選択。

### 2.2 確認できる情報

* **ユーザー入力とAI出力**: 実際の会話内容。
* **メタデータ**: 実行日時、レイテンシ（応答速度）、消費トークン数。
* **フィードバック**: エンドユーザーによる「いいね/よくないね」の評価。

{% hint style="info" %}
**ログ上でのUneeQタグの表示**

ログ＆注釈の画面では、UneeQタグはプレーンテキスト（文字列）としてそのまま表示されます。\
これは仕様で、デジタルヒューマン上では正常に動作します。
{% endhint %}

### 2.3 アノテーションによる改善（重要）

ログ機能の最大の目的は「改善」です。

* **改善手順**: AIの回答が不適切だった場合、管理者がその回答を編集・修正し、「アノテーション」として保存できます。
* **効果**: これにより、次回同様の質問が来た際に、修正済みの回答を優先的に使用させることが可能になります（モデルの再学習なしで精度を向上させる仕組み）。

## 3. トレース機能（詳細デバッグ）

「なぜその回答になったのか」「どこでエラーが起きたか」を技術的に深掘りする機能です。

### 3.1 トレースの確認方法

1. ログ詳細画面にある **「トレース」** ボタン（またはフローアイコン）をクリック。
2. ワークフローの各ノードが実行順に表示されます。

### 3.2 詳細分析のポイント

* **検索ノード (Knowledge Retrieval)**:

  * 「どのようなキーワードで検索されたか」
  * 「どのドキュメントチャンクがヒットしたか（スコア含む）」

  **対策**: 検索結果が悪い場合、ナレッジのセグメント設定や検索設定（Top K, Threshold）を見直します。
* **LLMノード**:

  * 「実際にLLMに送られたプロンプト（コンテキスト含む）」

  **対策**: プロンプトに不要な情報が混ざっていないか、システム指示が反映されているかを確認します。
* **条件分岐・コード実行**:
  * 変数の値が正しく渡されているか、ロジック通りに分岐したか。

{% hint style="info" %}
本格的な運用では、設定から**LangSmith**や**LangFuse**などの外部LLMOpsツールと連携させることで、より高度なトレース管理・分析が可能です。
{% endhint %}

## 4. 監視（統計・運用状況）

個別の会話ではなく、アプリ全体の健全性を把握します。

### 4.1 確認項目

* **コストとトークン**: 期間ごとのトークン消費量とコスト推移
* **パフォーマンス**: 平均応答時間、リクエスト数
* **ユーザー利用状況**: アクティブユーザー数、会話数

### 4.2 運用での活用

* **コスト管理**: 想定以上にトークンを消費している場合、モデルの変更やプロンプトの圧縮を検討します。
* **異常検知**: エラー率や応答時間が急増していないか定期的にチェックします。

## 5. トラブルシューティングガイド

### ケース1：回答が事実と異なる（ハルシネーション）

* **調査**: トレースで「知識検索」ノードを確認する。
* **原因**: 参照ドキュメントがヒットしていない、または無関係な情報を拾っている。
* **対応**: ナレッジベースの整備、検索設定（しきい値）を調整する。

### ケース2：応答が遅い

* **調査**: トレースで各ノードの「実行時間」を確認する。
* **原因**: 特定の外部API連携が遅い、またはLLMモデルが高負荷（GPT-4など）である。
* **対応**: モデルの軽量化（GPT-4o-mini等）、タイムアウト設定の見直しをおこなう。

### ケース3：意図しない回答拒否

* **調査**: 入力モデレーション（検閲）機能のログを確認する。
* **対応**: 「センシティブワード設定」や「入力ガードレール」の緩和、またはシステムプロンプトの調整をおこなう。

## 6. まとめ

Difyの運用サイクルは以下の通りです。

1. **監視**で全体の傾向と異常を把握
2. **ログ**で具体的な会話を確認し、ユーザーの評価をチェック
3. **トレース**で問題の原因（検索精度やプロンプト）を特定
4. **アノテーション**やアプリ設定の修正で改善を実施

このサイクルを回すことで、AIアプリケーションの信頼性と品質を継続的に向上させることができます。
