Skip to content

3ペイン・トレース評価 (eval_trace)

eval_trace 表示は、1つのエージェント・トレースを同期した3つのペイン(推論、関数呼び出し、最終回答)に分割し、評価者がエージェントの思考、実行、出力を一目で把握できるようにします。継続的評価のために設計されています。

eval_trace 表示は、単一のエージェント・トレースを同期した3つのペインに分割します。推論、関数呼び出し、最終回答です。 評価者はエージェントが何を考え、何を実行し、何を生み出したのかを並べて確認できます。これは新しいトレースが次々と届いて素早く判定しなければならない継続的評価に適しています。

インターリーブされたトレースを1列に積み上げる縦型のエージェント・トレース表示とは異なり、eval_trace は1つのトレースを3つの意味的構成要素に分解するため、スクロールせずにエージェントの振る舞いの構造が見えます。

3ペインの eval_trace 表示推論、関数呼び出し、最終回答のペインに分割されたエージェント・トレース

クイックスタート

リポジトリのルートから付属の例を実行します。

bash
python potato/flask_server.py start examples/agent-traces/continuous-eval/config.yaml -p 8000

この例には、投入されたトレース・ファイルを取り込むためのディレクトリ監視版(config-watch.yaml)も同梱されています。

設定

yaml
instance_display:
  layout:
    direction: vertical      # task header above the (internally horizontal) panes
    gap: 12px
  fields:
    - key: task_description
      type: text
      label: "Task"
 
    - key: trace             # the field holding the agent trace
      type: eval_trace
      label: "Agent Trace"
      display_options:
        pane_labels: ["Reasoning", "Function Calls", "Final Answer"]
        show_step_numbers: true
        collapse_long_outputs: true
        max_output_lines: 12
        link_steps: true

オプション

オプションデフォルト説明
pane_labels["Reasoning", "Function Calls", "Final Answer"]3つのペインの見出し。
show_step_numberstrue推論カードと呼び出しカードに #N のステップ番号を表示します。
collapse_long_outputstruemax_output_lines を超えるツール結果を展開可能なブロックに折りたたみます。
max_output_lines20結果を折りたたむ行数のしきい値。
link_stepstrueペイン横断のハイライト:カードをクリックすると、他のペインで関連付けられたカードがハイライトされます。
compactfalseパディングと間隔をより詰めます。

データ形式

eval_trace はエージェント・トレース表示と同じトレース形式を受け付けます。最も一般的なのは {speaker, text} のステップのリストです。

json
{
  "id": "eval_001",
  "task_description": "Find a vegan lasagna recipe.",
  "trace": [
    {"speaker": "Agent (Thought)",      "text": "I'll search for a highly-rated recipe."},
    {"speaker": "Agent (Action)",       "text": "web_search(query='vegan lasagna')"},
    {"speaker": "Environment",          "text": "10 results found..."},
    {"speaker": "Agent (Final Answer)", "text": "Here's a great recipe: ..."}
  ]
}

thought/action/observation 形式と step_type/content 形式もサポートされています。

ステップがペインにどう対応するか

ステップ(型は speaker または label から推論)ペイン
Thought、推論、計画、system推論
Action、tool、function、call関数呼び出し(隣接する Environment/結果はその呼び出しの下にネストされます)
Final Answersend_messagerespondfinish、またはどれにも一致しない場合は最後のアクション最終回答

明示的に最終回答を設定するには、回答パターンに一致する speaker(例:"Agent (Final Answer)")を持つステップ、または send_message(...) アクションでトレースを終えます。

ステップのリンク

ステップは論理的なサイクルにグループ化されます。ある思考と、それがトリガーした呼び出しは同じステップ・インデックスを共有します。link_steps: true の場合、いずれかのカードをクリックすると、各ペインでそのインデックスを共有するすべてのカードがハイライトされ、思考からそれが生み出したアクションまでをたどれます。

継続的評価

eval_trace を Potato のいずれかのランタイム取り込みトランスポートと組み合わせると、トレースが到着したそばから評価されます。

  • Webhook と SSEtrace_ingestion: {enabled: true} は webhook エンドポイントを公開し、新しいトレースをアノテーターにストリーミングします。
  • Langfuse ポーリングtrace_ingestion.sources の下に langfuse ソースを追加します。
  • ディレクトリ監視data_directorywatch_data_directory: true を加えると、投入された .json.jsonl ファイルを取り込みます。

ランタイムで追加されたトレースは、ただちにアノテーターへ割り当て可能です。これをトリアージ・キューと組み合わせると、エラーになったトレースや低スコアのトレースを先頭に押し出せます。

注意点と制限

  • eval_trace は表示専用で、それ自体はアノテーションを収集しません。例のように、reasoning_qualitytool_use_correctnessanswer_helpfulness などのアノテーション・スキームと組み合わせてください。
  • eval_trace ではスパン・アノテーションはサポートされていません。トレース・テキストでスパンのハイライトが必要な場合は、エージェント・トレースまたは code 表示を使用してください。

関連項目

実装の詳細については、ソースのドキュメントを参照してください。