これは、Langfuse Academy の一環として公開しているシリーズの一部です。このシリーズでは、AI エンジニアリングのライフサイクル全体を解説しています。シリーズが初めての方は、AI エンジニアリングループ から始めるのが最適です。
AI エンジニアリングループの簡単な復習
AI エンジニアリングループとは、チームが AI システムを継続的に改善するための方法です。本番環境で発生していること(トレーシング、モニタリング)と、開発中の構造化された反復(データセット、実験、評価)を結び付けます。出荷された改善ごとに新しいデータが生成され、チームはこのプロセスを継続的にループします。

詳細はこちらをご覧ください。
トレーシングがループにどのように適合するか
従来のソフトウェアはほぼ決定論的で、実行は事前に定義された形式に従います。しかし LLM アプリケーションではそうではありません。エージェントの実行は複雑で、予期せぬ入力や出力、実行順序を伴う創発的な動作を扱います。エージェントの動作を追跡するには、別のものが必要です:トレースです。
トレーシングは改善ループ全体の中心です。他のすべてのステップ(レビュー、データセット構築、実験実行、評価)はトレース上で動作します。
すでに従来の可観測性の概念に精通している場合、以下の内容の一部は重複に感じられるかもしれません。その場合は読み飛ばしていただいて構いません。
トレースの構造
トレースは、アプリケーションの要件に応じて複雑にもシンプルにもなりますが、すべてのトレースは同じ基本構造を共有しています。トレースは、エージェントがたどった経路をマッピングする一連のオブザベーションで構成されます。
オブザベーションは、プロセス内の単一のステップです。入力、出力、開始/終了時間、およびそのステップで発生したことに関するメタデータを持ちます。
階層
トレースは階層的なツリー構造を持ちます。その中にネストされたオブザベーションは、他のオブザベーションを含むことができ、AI アプリケーションの実際の実行を反映した親子構造を形成します。

どのような順序で何が発生したか、どのステップがどの大きなステップの一部であったかを確認できます。
オブザベーションデータ
入力と出力。すべてのオブザベーションは入力と出力を持つことができます。ほとんどの場合、両方を持ちますが、特定のケースでは一方のみを持つこともあります。解釈可能性のためには、そのオブザベーションで発生しているアクションの種類に適した入力や出力を設定することが重要です。
オブザベーションの種類。操作を簡単に区別できるように、さまざまな種類のオブザベーションがあります。各オブザベーションの種類は、エージェントの異なる種類の相互作用をキャプチャするために使用されます。

オブザベーションの種類により、トレースの読み取りやフィルタリングが容易になります。20 個のオブザベーションがあるトレースで、LLM 呼び出しを素早く特定できれば時間の節約になります。
コスト、レイテンシ、トークン使用量
入力と出力以外にも、LLM アプリケーションでは必須の属性がオブザベーションにいくつかあります:コスト、レイテンシ、トークン使用量です。これらはオブザベーションごとに記録され、トレースレベルで集計されます。
トレースとセッション
ほとんどの場合、エージェントのライフサイクル全体の実行を 1 つのトレースで見ることはありません。トレースはセッションにグループ化できます。しかし、トレースとセッションの境界線はどこに引くのでしょうか?

一般的な目安としては、1 つのトレースはシステムの 1 回の呼び出し(通常は 1 回の API 呼び出しまたは 1 回のエージェント実行)に対応します。セッションは複数のトレースをグループ化します。例えば、マルチターン会話のすべてのターンなどです。
どこから始めるか
始めたばかりの場合は、すべての可能なパスをカバーしようとする前に、まず 1 つの実際のワークフローをエンドツーエンドでインストルメント化することに集中してください。
- アプリケーション内の 1 つの重要なリクエストパスに対してトレーシングを設定します。
- 各オブザベーションが、それが表すステップに対して有用な入力、出力、メタデータをキャプチャしていることを確認します。
- 実際のトレースをいくつか手動でレビューし、構造が理解しやすく、デバッグに役立つことを確認します。
次に来るもの
トレースを確認できたら、次のステップであるモニタリングに進みます。モニタリングは、トレースをエージェントの改善と反復のループに結び付けるものです。





