# エージェントファネル

プロダクトの発見からタスク完了までを7段階に分け、各遷移で具体的な条件を検証します。

出典: https://flovia.dev/docs/ja/agent-funnel/

## タスク完了までの経路全体を測定する

ファネルは、どこを改善するかを決めるために使います。プロダクトを選ばない場合と、選んでも引数を間違える場合とでは、必要な修正が異なります。最初に失敗した段階の記録を確認し、試す変更を絞り込みます。

7段階のファネルは、候補に挙がることと、正しく利用されることを分けて捉えます。対象プロダクトが適合するタスクでは、各段階は前の段階の通過を前提とします。段階別の結果から、どこまで動作し、次のどの条件で進めなくなったかを特定します。

| 段階 | 確認する問い | 証拠・チェック |
| --- | --- | --- |
| Discovery（発見） | 明示的な候補集合に対象が現れるか？ | 候補の識別、存在、回答中の順位 |
| Selection（選択） | エージェントは対象を選ぶか？ | 選択したプロバイダー、競合の選択、選択の見送り |
| Tool Resolution（操作の特定） | 許可された操作を選ぶか？ | ケースで許可した計画とツールの識別情報との一致 |
| Invocation（呼び出し） | 引数の構造と意味は正しいか？ | 入力スキーマと、タスク固有の引数の期待値 |
| Execution（実行） | 設定した実行経路で操作が成功するか？ | 設定したツール環境での実行記録 |
| Result Usability（結果の利用可能性） | タスクに必要なデータが結果に含まれるか？ | 必須フィールドの存在、型、非null、定義した期待値 |
| Completion（完了） | 最終回答がタスクの要件を満たすか？ | 固定した基準と返された事実に照らした回答評価 |

## 最初に失敗した段階を読む

プロダクトが選ばれても、別のエンドポイントが呼ばれた場合は、ツール名、説明、操作カタログを確認します。正しいエンドポイントに誤った引数が渡された場合は、パラメーターの意味と使用例を確認します。結果が利用可能でも最終回答が不十分な場合は、完了評価が指摘した欠落や裏付けのない主張を確認します。

前の段階で停止した場合、実行記録上では後続の段階は未観測になります。累積ファネル指標では、その実行を後続の段階に到達しなかったものとして数えることがあります。一方、条件付き遷移率は、それぞれの適格な母集団を使います。これは同じ実行を異なる観点で集計したもので、呼ばれていないツールが失敗した証拠ではありません。

## 決定的なチェックとJudge

Tool Resolution、Invocation、Result Usabilityは、明示した仕様に照らして検証します。完了判定のJudgeには、最終回答、タスク、返されたデータ、基準一覧を渡します。Judgeは、情報の欠落、矛盾、ツール結果では裏付けられない主張を評価します。

Judgeの出力は、採点の来歴を記録したモデル補助評価です。必要なJudgeの結果が欠けている、または取得できない場合、完了評価は欠測として記録し、合格として扱うことはありません。一部の負の対照ケースでは、決定的な終端判断を使い、そのケースの適格性に従って報告します。

Judgeは、完了状態、条件ごとの判定、不足した要件、裏付けのない記述を返します。エンジンは応答の形式を検証し、完了状態と判定の詳細が矛盾していないかを確認します。採点記録には、採点基準とJudgeの識別情報に加え、回答と参照入力のハッシュを保持します。

## 例：最終回答をどう確認するか

過去の為替レートを調べるタスクでは、正しくツールを呼び出した後、返されたレート、通貨の方向、指定日を回答で伝える必要があります。これらを個別の完了条件として定義します。

回答確認の説明例 · 架空の為替API

```text
タスク：2026-01-15のEURからUSDへの為替レートを調べる。
ツール結果：base=EUR, quote=USD, date=2026-01-15, rate=1.10
回答：1 EURは1.10 USDです。
```

| 条件 | 回答中の根拠 | 想定する判定 |
| --- | --- | --- |
| 返されたレート | 1.10がツール結果と一致 | 条件を満たす |
| 通貨の方向 | EURからUSDへの換算だと分かる | 条件を満たす |
| 指定日 | 日付の記載がない | 必要な情報が不足 |

次に直す対象は、回答に日付が含まれない点です。日付フィールドの意味と、回答での使い方の説明を確認します。条件ごとの判定があることで、前段のツール検証を通過した後の問題も切り分けられます。

- [タスクと完了条件を定義する](https://flovia.dev/docs/ja/scenario-design/): 過去の為替レートの例で、必要な情報を確認します。
- [次の修正を選ぶ](https://flovia.dev/docs/ja/improvement-loop/): 最初に失敗した段階を、具体的な修正と再検証につなげます。

## ファネルにおけるDiscoveryの意味

Discoveryは、モデルが明示的に返した候補一覧に対象が含まれるかを記録します。候補を固定した実験では候補はあらかじめ与えられているため、そこでの出現は、提示条件を統制した下での動作確認であり、エージェントがウェブ上で自力でプロダクトを見つけたことを示すものではありません。

- [指標を正しく読む](https://flovia.dev/docs/ja/metrics-and-evidence/): 累積率、条件付き遷移率、欠測の違いを理解します。
