# ログとトレースの確認

## 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アプリケーションの信頼性と品質を継続的に向上させることができます。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.digitalhumans.jp/dify-guide/operations/dify-docs-check-logs-and-traces.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
