
先週、私たちは本番環境におけるAIエージェントワークフローのデバッグ専用に構築された強力な新しい可観測性エクスペリエンス、Agent Timelineを紹介しました。Agent Timelineは、エージェントによる会話を中心にテレメトリーを整理することで、AIレイヤーの可視性をフルスタックの可観測性に独自に接続します。会話には1つ以上のエージェント実行が含まれ、それぞれがLLM呼び出し、ツール呼び出し、ハンドオフ、リトライ、人間によるエスカレーション、下流のシステムコールを含む場合があります。
それをAIエージェントのためのフライトレコーダーだと考えてください。何か問題が発生したとき、イベントのシーケンスが完全なコンテキストとともにすぐそこにあります。つなぎ合わせる必要のある断片はありません。

なぜAgent Timelineを構築したのか
火曜日の夜11時47分。あなたはオンコール中です。カスタマーサクセスからSlackの通知が届きます。「エンタープライズのお客様から、エージェントが会話の途中で停止したという連絡がありました。注文の返金処理をしようとしていたそうです。」
ノートPCを開いて調査を始めます。
最初のタブ:LLM可観測性ツール。多くの呼び出しがありすべて緑色ですが、表示はモデルで止まっています。呼び出しの間にエージェントが何をしようとしていたのか、6秒のギャップの後にすべてが停止した理由がわかりません。データもサンプリングされています。エンタープライズのお客様が生成するボリュームでは、部分的に目隠しされた状態で運用していることになります。
2番目のタブ:APM。5分前に発生したpaymentsからの502エラーと緩やかに関連していますが、それは今ではなく5分前のものです。火事が燃え続けている最中に昨日の新聞を読んでいるようなものです。たとえタイムスタンプが一致したとしても、個別のリクエストまで掘り下げることができません。エージェントフレームワークは独自のコンテキストでラップしており、トレースIDは一致しません。「この特定のユーザー、この特定のセッションで、接触したすべてのサービスにわたるすべてのイベントを表示する」ような高カーディナリティの検索は、これらのツールが想定していなかったものです。
40分後、あなたは一つの仮説を組み立てました。ツールがレート制限のあるAPIに対してリトライを行い、エラーメッセージがコンテキストウィンドウを肥大化させ、エージェントが諦めた、というものです。
ツールは存在しますが、この用途には作られていません。エージェントの動作をその場で捉えるのに十分なリアルタイム性がない。高カーディナリティで分散システムを単一のスレッドで追跡できるほどではない。そして1つのエンタープライズのお客様だけで1日あたり数百万のスパンを生成する規模に対応していない。
これが今までのAIエージェントのデバッグの現実です。そしてそれは苛酷なものです。
あなたは一人ではない
この光景が不快なほど馴染みがあると感じたなら、おめでとうございます。あなたは本番環境でAIエージェントを運用しています。根本的な問題は、エージェントによる会話が単一のリクエストとレスポンスではないということです。それは物語であり、あなたのツールはその断片しか表示しません。
もっと簡単になったとしたら?
同じ火曜日の夜を想像してみてください。同じSlackの通知。今度はHoneycombのAgent Timelineを開きます。
会話全体がそこに表示されます。総所要時間、関係するエージェント、ツール呼び出し、リトライ、上部に赤い失敗カウント。 「Show Failures Only」を切り替えるとノイズが消えます。失敗したツール呼び出しが光ります。レート制限のあるpayments APIを6回呼び出した後でエージェントが諦めたことがわかります。クリックするとプロンプト、モデル、トークン、リトライ履歴、そしてそのAIレイヤーの判断とpaymentsからの502を結びつける完全なトレースウォーターフォールが表示されます。
5分で完了です。
現在のツールがそこに至らない理由
専用のAI可観測性ツールはモデルで止まり、下流のアプリケーションやインフラストラクチャのスパンまで追跡できません。従来のAPMにはエージェント会話という概念がありません。インシデントの最中にそれらをつなぎ合わせるには、タイムスタンプをコピーしてトレースIDが一致することを祈るしかありません。エージェントの障害の根本原因はLLMと下流のサービスの間のどこかにあり、あなたのツールはそのスレッドを追跡するようには作られていません。
Agent Timelineの機能
Agent Timelineは会話ファーストのエントリポイントを提供します。単一のスパンから「エージェントは何をしようとしていたのか」を推測して上へ向かうのではなく、会話レベルから始めて掘り下げていきます。
障害は探し回る必要のあるデータではなく、第一級のナビゲーション要素です。失敗したスパンをクリックすると完全な情報が表示されます。プロンプト、トークン、モデル、ツール名、エラーの理由、そして最も重要な、AIレイヤーのスパンと下流で発生した事象を結びつける完全なトレースウォーターフォールです。
仕組み
Agent TimelineはHoneycombが10年間培ってきた高カーディナリティでイベントベースの基盤上で動作します。この基盤はエージェント時代に最適です。なぜならエージェントシステムは事前集約やインデックス化を前提としたツールを破綻させる、リッチで高カーディナリティなテレメトリーを生成するからです。
エージェントを計装するにはOpenTelemetry GenAI Semantic Conventionsを使用し、スパンをHoneycombに送信してください。Agent Timelineはconversation_id属性を通じて会話を基準にスパンを結びつけます。計装はポータブルなままです。標準的なOpenTelemetryスパンを使用し、Honeycomb固有のSDKは不要で、ベンダーロックインもありません。Agent Timelineは必要なOpenTelemetry GenAIスパンを出力する任意のフレームワークでそのまま動作します。詳細はAgent Instrumentation Guideをご覧ください。
エージェントのテレメトリーには機密データが含まれることが多いため、Agent Timelineは本番環境で安全な計装パターンをサポートします。必要に応じて完全なプロンプトをキャプチャし、必要に応じてメタデータのみのスパンを送信し、Honeycombにデータが到達する前に編集を適用できます。会話構造、障害シグナル、トレースコンテキストは、出力するコンテンツに関わらず保持されます。
UIの簡単なツアー
会話サマリー
画面上部に所要時間、モデル呼び出し、ツール呼び出し、エージェント、リトライ、エスカレーション、障害カウントを表示します。「どれだけ深刻か?」を確認するビューです。

エージェントレーン
水平レーンに並列のエージェント実行とハンドオフを表示するため、問題のあるエージェントがネストされたトレースに埋もれることなく視覚的に目立ちます。

障害ファーストのナビゲーション
失敗したスパンがインラインでハイライトされます。「Show Failures Only」を切り替えると、インシデントが急展開しているときに重要な情報だけに絞り込めます。

Gen AIパネル
任意のAIスパンをクリックすると完全なGen AIの詳細が表示されます。プロンプト、完了、トークン、モデル、ツール名、エラータイプ。出力した品質シグナル(評価スコア、ハルシネーションフラグ、レビュアーラベル、ユーザーフィードバック)は、コストやパフォーマンスとともにスパン属性として付加されます。

完全なトレースウォーターフォール
任意のGen AIスパンから完全なトレースウォーターフォールに切り替えることができ、AIレイヤーの振る舞いとバックエンドの根本原因を1つのビューで結びつけます。ツールの切り替えは不要です。

1つの会話では不十分な場合
時には1つの会話を超えた調査が必要になることもあります。Agent Timelineからシステム全体の調査のためのマルチプレイヤーAIコパイロットであるHoneycomb Canvasに切り替えて、プラットフォーム全体にわたるより大きな質問を投げかけてください。1つの調査、2つのモード、ツールの切り替えはゼロです。
実際の動作を確認する
早期アクセスを入手する
Agent Timelineは現在早期アクセスで利用可能です。本番環境でAIエージェントを運用していて、フライトレコーダーなしで運用することに疲れている方は、ぜひその機能をご覧ください。
すでにエージェントフレームワークからOpenTelemetryを送信している場合、Agent Timelineは自動的に有効になります。エージェントの計装が初めての場合は、Instrumentation Guideから始めてください。
0 Comments
Log in to join the conversation.No comments yet. Be the first to share your thoughts.