Arize AX、プロダクションAIエージェントのデバッグにSignal機能を追加
本文の状態
日本語全文を表示中
詳細モードで約24分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
Arize AI Blog
Arize AI は、生産環境の AI エージェントの失敗パターンを自動検出し、証拠と原因分析を提供する管理型エージェント「Signal」を発表し、開発者がプルリクエストを作成して改善を試みるワークフローを強化した。
AI深層分析を開く2026年8月5日 00:16
AI深層分析
キーポイント
Signal の機能概要
Signal は Arize AX に組み込まれた管理型エージェントであり、定期的なスケジュールで生産環境のトレースを検査し、再発する失敗パターンを特定して優先順位付きの問題として提示する。
自己改善ループの実現
このシステムは、生産行動が証拠となり、調査が行われ、提案された変更がエンジニアの判断を経てテストされる制御されたループを構築し、AI エージェントの無制限な自己修正を防ぐ。
GitHub 連携による自動対応
リポジトリへのアクセス権限を持つ管理型エージェントは、調査結果に基づいてコードベースに介入し、改善のためのプルリクエストを直接作成する機能を提供する。
検証とデプロイの分離
提案された変更が実際にエージェントを改善したかどうかは、データセット、評価、実験によって決定され、最終的なマージと本番環境への展開は開発者が責任を持って行う。
トレーシングの限界と評価の役割
トレーシングは実行パスの真実源となるが、大規模なセマンティック失敗を特定するには不十分である。評価はアプリケーションの品質基準に違反した実行を特定し、数百の実行で誤ったエージェント選択や根拠のない回答が発生している可能性を示す。
重要な引用
Self-improving agents do not rewrite and deploy themselves unchecked.
Signal is the investigation layer in that loop.
Managed agents do not deploy directly to production.
A developer can inspect one failed run manually. Reviewing thousands or millions of runs for related semantic failures is a different task.
編集コメントを表示
編集コメント
本番環境で動作する自律型エージェントの運用課題に対し、人間の判断を介在させることで安全性を保ちつつ自動化を進めるアプローチは実用的である。特に複雑な失敗パターンがトレースに現れるケースへの対応策として注目される。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
Signal は Arize AX に組み込まれた管理型エージェントで、定期的に本番環境のトレースを検査し、繰り返される失敗パターンを特定して、根拠となる証拠や推定原因、推奨される次のステップと共に優先度の高い課題として取り上げます。
自己改善型のエージェントが、無制限に自分自身を書き換えてデプロイすることはありません。それらは制御されたループ内で動作します。本番環境での振る舞いが証拠となり、その証拠が調査へとつながり、提案された変更はエンジニアが何を実行するかを決定する前にテストされます。
Signal はこのループにおける「調査層」です。Arize AX に組み込まれ、継続的に本番トレースを検査し、繰り返される失敗を優先度の高い課題にグループ化して、根拠となる証拠や推定原因、推奨される次のステップを提示します。リポジトリへのアクセス権があれば、管理型エージェントは調査をコードベースへと持ち込み、プルリクエストの作成も提案できます。その後、データセット、評価、実験を通じて、その変更が実際にエージェントの改善につながったかどうかを確認します。
利用可能状況:Signal による課題検出機能は、Arize AX のすべてのプランで利用可能です。リポジトリを基盤とした調査、プルリクエスト作成、Agent Studio、およびより広範な管理型エージェントワークフローは Enterprise プランでのみ利用可能な機能です。詳細については、ローンチ時のブログ記事をご覧ください。
TL;DR:Signal が行うこと
Signal は定期的に本番トレースを検査し、関連する失敗をランク付けされた課題にグループ化します。
各課題には、調査内容、根拠となるトレース、および提案されるプロンプト、コード、設定、または評価の変更が含まれます。
チームは GitHub リポジトリを接続することで、Issue への対応を選択した際に Signal が実装内容を調査し、レビュー用のプルリクエストを自動で開くことができます。
一致するトレースは回帰テスト用データセットとして活用でき、評価器や実験を通じて、提案された修正が実際にエージェントの改善につながったかを検証できます。
ただし、変更のレビューとマージの責任は依然として開発者にあります。管理型エージェントが直接本番環境にデプロイされることはありません。
なぜ本番環境の AI エージェントはデバッグが難しいのか
コーディングエージェントは実装にかかる時間を劇的に短縮しました。しかし、今ではコードを書く前の段階で困難が生じています。具体的には、関連する本番時の挙動を特定し、繰り返し発生する失敗を認識し、その原因を推測し、何を修正すべきかを判断することです。
さらに、エージェントの失敗は従来のソフトウェアのバグとは異なる様相を示すことがほとんどです。これらのパターンは、トレース上でのみ可視化される一般的な AI エージェントの失敗に該当します。リクエストが正常に完了したように見えても、以下のような問題が発生している可能性があります。
- 誤ったワーカーへルーティングされている
- 誤ったツールを呼び出している
- 不正な引数を渡している
- 空または無関係な結果を取得している
- プランニングステップを繰り返して進捗がない
- ユーザーに報告せず、モデルのメモリに依存してフォールバックしている
- 信頼性の低い経路を経て、一見もっともらしい回答を生成している
コードベースは、エージェントがたどることのできるパスを定義しています。一方、トレースはそのエージェントが実際にたどったパスを記録します。つまり、トレースこそがエージェントの振る舞いにおける真実の源となります。
しかし、トレースだけではスケール問題の解決にはなりません。開発者が手動で失敗した 1 つの実行を検査することは可能です。しかし、関連する意味的な失敗を持つ数千、あるいは数百万回の実行をレビューするのは全く異なるタスクです。
評価(Evaluations)は、アプリケーションの品質基準に違反した実行がどこにあるかを特定するのに役立ちます。例えば、「数百回の実行で間違ったエージェントが選択された」や「根拠のない回答が行われた」といった結果を示すこともあります。ただし、評価が失敗したからといって、それらの実行が単一のルーティング欠陥、複数の無関係なツール障害、あるいはセッション状態の問題のいずれに起因するのかを説明してくれるわけではありません。
Signal は、そのような調査を継続的に行います。
チュートリアル:Signal を使って本番環境の AI エージェントをデバッグする方法
ステップ 1:エージェントの実行パス全体に計装(Instrumentation)を行う
Signal は本番環境での証拠に依存するため、最初の要件はエージェントに計装を追加し、エージェントのテレメトリが Arize AX に流れるようにすることです。有用なトレースとは、単に最終的なモデル応答を捉えるだけでなく、エージェントの軌跡を読みやすくするものです。具体的には以下を含めるべきです。
- ユーザー入力と最終出力
- LLM(大規模言語モデル)呼び出し
- レイテンシとトークン数
- ツール名、入力、および出力
- 検索操作
- エージェントまたはノード間の遷移
- 例外とエラー状態
- リトライと繰り返されるステップ
- セグメンテーションに必要なセッションまたはユーザーメタデータ
Arize では、コーディングエージェントによる自動計測と手動での計測の両方がサポートされています。コーディングエージェントを活用する場合は、まず Arize の計測用スキルをインストールしてください。
npx skills add Arize-ai/arize-skills –skill "arize-instrumentation" –yesこのエージェントはアプリケーションを解析し、必要な OpenInference 用の計測コードを追加して、トレースが正しくプロジェクトに到達しているかを確認する支援を行います。Signal を有効にする前に、少なくとも代表的なトレースを一つ手動で確認してください。開発者がそのトレースだけを見て以下の質問に答えられるかどうかを確認しましょう。
- エージェントはどのルートを選択したのか?
- どのツールを呼び出したのか?
- それぞれのツールは何を返したのか?
- 実行経路はどこで期待された動作から逸れたのか?
- ユーザーが最終的に受け取ったものは何か?
ツールからの出力が欠落していたり、エージェントの処理ステップが平坦化されていたりすると、その後の調査の質が大きく低下します。
Step 2:重要な行動契約に対する評価を追加する
トレースが取得されれば、Signal はすぐに機能し始めます。評価を行うことで、アプリケーションがユーザーに対して約束した振る舞いをコードに落とし込み、証拠をより明確にできます。信頼性の高いエージェント用スコアカードの構築に関する詳細は、「AI エージェントの評価」や「トレーシングと評価を用いたエージェントスキルの改善方法」をご覧ください。
例えば、最新の市場データに基づいて質問に答える金融リサーチエージェントを想定しましょう。ここで重要な行動契約の一つとして以下のようなケースが考えられます。
PASS
FAIL
エージェントは、時間敏感な質問に対して承認されたライブデータまたはウェブ調査ツールを呼び出し、その回答を返却されたコンテンツに基づいて生成します。
一方で、モデルの記憶から回答を生成したり、誤ったルートを選択したり、検索失敗を隠蔽したりするケースも発生し得ます。
これらの課題を検出するために、「エージェント選択の正しさ」「ツールの必須呼び出し」「回答の根拠性」などの評価指標(evaluator)が定義されます。その他、本番環境で有用な評価項目には以下が含まれます:
- 適切なエージェントまたはツールの選択
- タスクの成功完了
- 回答の根拠性
- 引用文献の有効性
- 最大リトライ回数の遵守
- セッションの一貫性
- ポリシー準拠
- フォーマット順守
評価項目は、ユーザーが直接確認できる契約や運用上の要件に対応するものを選ぶべきです。単なる「回答品質」のスコアでは問題の所在が曖昧になる一方、ルーティングやツール使用に関する評価指標を採用すれば、調査の起点を明確に絞り込むことができます。
ステップ 3:トレーシングプロジェクトで Signal を有効にする
トレースデータの流れが始まったら、以下の手順を実行します:
- Arize AX で対象となるトレーシングプロジェクトを開く
- プロジェクトナビゲーションから「Signal」タブを選択する
- 「Enable Signal(Signal の有効化)」をクリックする
https://arize.com/wp-content/uploads/2026/08/enable-signal-1.mp4
Signal を有効にすると、そのプロジェクトに対して定期的な自動化が開始されます。[Configure Signal] からチームは調査の頻度や追加のコンテキストを調整できます。Signal は選択されたプロジェクトからトレースを読み取り、同じプロジェクトレベルのビューで発見結果を表示します。この段階ではリポジトリへの接続は不要です。効果的な導入方法としては、まずトレースのみを使った調査を開始し、クラスタの品質を確認した上で、チームが証拠を信頼できるようになってからリポジトリアクセスを追加することをお勧めします。
ステップ 4:各 Signal の問題をインシデントレポートとして読む
Signal ビューでは、問題の発生頻度の推移と検出されたパターンランキングが表示されます。問題を開くと、調査内容とその根拠となるトレースが確認できます。有用な問題報告は、以下の点を理解する手助けとなります。
- 繰り返される挙動:エージェントは何を誤って実行しているのか?
- 影響を受ける対象:どのトレースやセッションで同じ問題が発生しているか?
- 推定される影響:この失敗は正しさ、信頼性、コスト、レイテンシ、あるいはユーザー体験にどのような影響を与えるか?
- 証拠となるデータ:診断を裏付けるスパンはどれか?
- 提案される対策:チームはプロンプト、ツールの定義、状態遷移、評価器、またはコードパスを変更すべきか?
重大度は、自動的なマージ判断の基準ではなく、優先順位付けのためのシグナルとして扱うべきです。頻度は重要ですが、発生数だけでは影響度を把握できません。
ウェビナーで Arize チームが紹介した内部エージェントでは、完了処理とToDo 更新を繰り返すループに陥る事例がありました。この現象は比較的多くのトレースには現れませんでしたが、ある一つのトレースではループが 105 回も繰り返されていました。このパターンは発生件数が限定的だったにもかかわらず、コスト増や信頼性のリスクという実害をもたらしています。
一方、フォーマットの不具合は数百回発生してもユーザーへの被害は軽微な場合があります。問題の分析には、以下の 3 つの視点が必要です。
- どのくらいの頻度で発生するか?
- 1 回の発生がどれほど深刻か?
- 障害がどの程度広範囲に波及する可能性があるか?
ステップ 5: リポジトリを接続し、プルリクエストを生成する
トレースによって問題の根拠が十分に示された場合、次は Signal に実行時の挙動と実装コードを結びつけるための文脈を与えます。Enterprise ワークフローでサポートされている場合の手順は以下の通りです。
- Signal タブにあるメニューを開く
- "Configure Signal" を選択する
- "Attach Repo" を有効にする
- GitHub 連携を選択するか、新規作成する
- 接続済みの GitHub App インストールからリポジトリ(所有者/リポジトリ名として表示)を選択する
- 設定を保存する
Signal はこれで関連コードの調査や、修正案を含むプルリクエストの自動生成が可能になります。ただし、生成されたプルリクエストは、人間が作成した変更と同じ基準でレビューする必要があります。
- 差分(diff)は、トレースで示された根本原因に対処しているか?
変更は評価に耐えうる範囲内か?
関連しないリファクタリングを伴っていないか?
重要な不変条件がコード内で守られているか?
確定的な制御で安全に済む箇所でプロンプト指示が使われていないか?
適切な回帰テストの追加や示唆が含まれているか?
レイテンシ、トークン使用量、ツール呼び出し数に影響を及ぼさないか?
明確なロールバック手順があるか?
管理されたワーカーはレビュー用のアーティファクトを作成するが、変更自体をマージしたりデプロイしたりすることはない。
ステップ 6:本番環境での障害を回帰テストデータセットへ転換する
プルリクエストは現在の欠陥に対処しますが、データセットはその欠陥を発見させた振る舞いをチームが忘れぬようにします。問題から代表となるトレースを抽出し、データセットの例として保存してください。
入力と期待される軌道の両方を説明できる十分なメタデータを保持することが重要です:
- Dataset field:Example
- input:元のユーザーリクエスト
- expected_tool:read_web_page
- expected_behavior:他のソースを再試行するか、取得失敗を報告する
- forbidden_behavior:モデルのメモリから回答する
- failure_mode:ungrounded_fallback
- source_trace_id:元の本番トレース
- category:time_sensitive_research
障害モード内に変化を含めることが重要です。検索に問題がある場合、データセットにはブロックされたページ、空のページ、無関係な結果、タイムアウト、そして正常に取得できたページなどを含めることができます。これにより、修正がきっかけとなった特定のトレースを超えて一般化できるかどうかを判断できます。
効果的な役割分担は以下の通りです:
- Artifact:Purpose
- Pull request:振る舞いを変更する
- Dataset:証拠を保存する
Evaluator(評価器)
成功の定義を定める
Experiment(実験)
変更が効果をもたらしたかを測定する
本番環境のコードを変更するほど重要な失敗であれば、通常は回帰テストケースとして保存する価値があります。
ステップ 7:マージ前にベースラインと候補を比較する
同じデータセットを、現在の生産設定と提案された設定の両方に実行します。基本的な実験では、以下の項目を比較する必要があります。
- Evaluator のパス率
- タスク完了状況
- ツールの選択
- 根拠の有無(Groundedness)
- レイテンシ
- トークン使用量
- ツール呼び出しの数
- 候補によって新たに導入された失敗モード
Arize AX では、エージェント実験で登録済みのエージェントエンドポイントに対してデータセットを実行し、複数の実行結果を比較できます。比較ビューには、行レベルの出力、評価器の差分、レイテンシ、トークン数、トレーシング有効時のツール呼び出しパスの違いなどが含まれます。最も安全な手順は以下の通りです。
- データセットを現在の生産環境のエージェントに対して実行する。
- 同じデータセットを提案された変更に対して実行する。
- 評価結果と運用メトリクスを比較する。
- 集計スコアが改善していても、すべての回帰事例を検証する。
- チームのリリース基準を満たすまでマージしない。
以前失敗していた例で正解が出たとしても、それは弱い証拠に過ぎません。代表的なデータセット全体で一貫した改善が見られる場合の方が、はるかに強力な根拠となります。
具体例:研究エージェントが記憶から回答する場合
現在の企業や経営陣に関する質問に応える役割を持つエージェントを想定します。意図された処理経路は単純明快です:
ユーザーから時間制限のある質問が寄せられた場合、エージェントはウェブ調査ツールを呼び出します。そのツールは関連するページを取得し、エージェントはその内容を根拠として回答を生成します。
あるウェビナーでの本番環境の障害事例では、調査ツールが JavaScript によるアクセス制限がかかったページを返してしまい、利用可能なテキストがほとんどない状況でした。これによりエージェントは再取得を試みず、モデル内の記憶に基づいて回答してしまいました。結果として偶然にも事実上正しい内容になったものの、そのプロセス自体は信頼できるものではありません。もし企業の直近の人事変更があった場合や、より重大な質問だった場合は、同じフォールバック動作が陳腐化したり、捏造された回答を導いたりする可能性があります。
エージェント選択評価器はこのトレースを誤りとしてマークしました。Signal は複数の事例をグループ化して「取得に失敗した後に記憶から回答している」という再発性の問題として特定しました。単に失敗したラベルの長いリストをチームに残すのではなく、一致するトレースと提案された改善策を含めて提示されました。
候補となるポリシーは以下のようになります。
時間制限のある質問に対して:
- 承認済みのライブデータまたはウェブ調査ツールを呼び出す。
- ソースがブロックされている場合や空の場合、代替ソースを試す。
- 取得の失敗を明示的に分類する。
- 推測せず、取得に失敗したことを報告する。
- 事実上の主張は、ツールが返したコンテンツに基づいて行う。
アプリケーションの種類によっては、これらの制御の一部をシステムプロンプトに含める必要があります。また、コードレベルでの強制が必要なケースもあります。例えば、最大リトライ回数は通常、決定論的に設定されるべきです。
生成後の引用元検証は必須です。
「メモリからの回答なし」ポリシーを適用するには、承認されたツールの実行成功を確認する必要があります。
検索失敗は、自由なモデルの判断として扱うのではなく、型付きの状態として表現できます。
Signal が提案する修正策は、あくまでエンジニアリング上の仮説と捉えるべきです。その仮説がシステムとの接触で生き残るかどうかは、トレース証拠、データセット、実験結果によって決定されます。
本番環境の AI エージェントにおける Signal の一般的なユースケース
Signal は、ダッシュボードだけでは特定が難しいにもかかわらず、複数のトレースで繰り返し発生する失敗に対して特に有効です。
- 故障モード:トレース内の証拠 / 考えられる対策
- エージェントまたはツールの誤選択:類似の要求が不適切なワーカーやツールに繰り返しルーティングされる / ルーティングロジック、ツールの説明、選択用プロンプト、あるいは決定論的なルールの改善
- モデルメモリへの沈黙的なフォールバック:検索またはツールの呼び出しが失敗し、その後にサポートされていない回答が続く / フォールバックポリシーの追加、代替ソースの用意、グラウンディングチェックの実施、明示的な故障状態の設定
- リトライと計画ループ:進捗のないスパンやステータス更新、あるいはツールの呼び出しが繰り返される / 停止条件の追加、冪等性の制御、状態遷移の修正、または実行予算の制限
- コストの悪化:特定のパスで異常に多くのトークンやツール呼び出しを消費する / コンテキストの削減、安定したデータのキャッシュ、計画行動の変更、あるいは実行予算の強制
レイテンシの回帰
特定のツールやトジェクトがエンドツーエンドの処理時間を支配している場合、並列実行可能な操作は並列化し、タイムアウトを追加し、リトライパスを短縮するか、プロバイダー戦略を変更してください。
検索結果の劣化
空の結果、無関係な結果、ブロックされた結果、あるいは陳腐化した検索結果が再発する場合は、ソース選択、再ランク付け、チャンキング(分割)、失敗時のハンドリング、鮮度ルールを改善してください。
セッションレベルでの一貫性の欠如
エージェントが過去の対話と矛盾したり、タスクのステートを失ったりしている場合は、メモリの境界、ステートの永続化、要約処理、あるいはセッションレベルの評価を見直してください。
未知の品質障害
類似の不具合報告や評価器の失敗に既成のカテゴリが存在しない場合、発見されたパターンから新しい評価器と回帰用データセットを作成してください。
Signal はまた、AI のトレースが物語の一部に過ぎない場所も明らかにします。エージェントは LLM とツールのステップを正しく完了していても、UI コンポーネント、下流のサービス、あるいはアプリケーションの状態更新で失敗している可能性があります。追加の運用コンテキストが必要な調査では、Managed Workers が Arize のトレースに加え、GitHub や Datadog などの設定済みインテグレーションやカスタムスキルを活用できます。
Signal ではなく Agent Studio を使用するべきタイミング
Signal は、本番環境でのトレースを反復して調査するために特別に設計されています。一方、チームが特定のタスクに特化したカスタムワーカー、異なるトリガー、あるいは追加のシステムを必要とする場合は、Agent Studio が役立ちます。具体例としては以下のようなケースがあります。
- 毎日のコスト分析
- 週次のエージェント健康レポート
- カスタムメトリック閾値を超えるトレースの調査
- モニターによってトリガーされる根本原因分析
特定の失敗クラスからのデータセット生成
ターゲットを絞ったリポジトリの修正
AI トレースと APM データの相関関係
チームは、テンプレートまたは空のタスクから「Agent Studio」を開始し、ワーカーをトレーシングプロジェクトにバインドしてプリセットを選択します。必要なスキルをアタッチした上で、ワンオフセッションとして実行するか、自動化スクリプトとして実行するかを選べます。自動化は、定期的なスケジュールや特定のメトリクス閾値に基づいて実行可能です。
実用的な調査プロンプトの例:
「過去 24 時間の本番環境トレースをレビューし、少なくとも 3 つのセッションに影響を与える反復的な失敗モードを検出してください。各クラスタについて、以下の項目を記述してください。
- 裏付けとなるトレース ID と再利用可能なフィルタを引用する
- ユーザーまたは運用への影響を説明する
- 最も可能性の高い根本原因を特定する
- 最小限の安全なプロンプト、コード、または設定変更を推奨する
- 変更を検証するために必要な回帰テスト例と評価指標を明記する
- 品質、レイテンシ、トークン使用量、ツール呼び出し数への影響を見積もる
その後、クラスタをインパクト、頻度、コストの観点からランク付けしてください。ただし、プルリクエストは作成せず、レビュー用の調査レポートとして提出してください。
まずはレポート生成のみを行うワークフローで開始することで、ワーカーの推論能力を評価しやすくなります。クラスタの特定と推奨事項が安定して有用であることが確認できたら、チームはリポジトリを接続し、ワークフローが候補ブランチやプルリクエストを自動生成できるように設定できます。
自己改善型エージェントループにおける Signal の役割
実務において、自己改善型エージェントは明確なレビューゲートを備えた閉じたエンジニアリングループです。このループは、人間が操作するエージェント開発から体系的なエージェント改善へと移行し、Arize AX における自己改善型エージェントのための広範な AI ファクトリーで説明されるシフトと同一です。
生産環境での振る舞いが証拠となり、その証拠が変更候補を生み出します。評価によって、その変更をリリースする価値があるかが判断されます。Signal はこのループ内で調査層として機能し、エージェントが生産環境で行ったことと、エンジニアリングチームが次に調べるべきことを結びつけます。
管理されたワーカーに追加の文脈が必要な場合、彼らは隔離されたサンドボックス内で作業できます。そこではバインドされた Arize プロジェクトへのアクセス、任意のリポジトリ、設定済みの外部ツールを利用可能です。その出力には調査結果、評価者のラベル、ブランチ、プルリクエストなどが含まれます。ただし、生産環境へのデプロイ自体はワーカーの制御範囲外です。
有用な Signal 調査のためのベストプラクティス
モデル呼び出しだけでなく、意思決定をトレースしてください。孤立したプロンプトとCompletion の集合だけでは、エージェントの失敗を説明することはめったにありません。ルーティング、ツール使用、検索、状態変化、親子関係などを捉える必要があります。
行動契約に基づいて評価を作成する
原文を表示
Signal is a managed agent built into Arize AX that reviews your production traces on a recurring schedule, identifies recurring failure patterns, and turns them into prioritized issues with supporting evidence, a likely cause, and recommended next steps.
Self-improving agents do not rewrite and deploy themselves unchecked. They operate within a controlled loop: production behavior becomes evidence, evidence becomes an investigation, and proposed changes are tested before an engineer decides what ships.
Signal is the investigation layer in that loop. Built into Arize AX, it continuously reviews production traces, groups recurring failures into prioritized issues, and surfaces the supporting evidence, likely cause, and recommended next step. With repository access, Managed Agents can carry the investigation into the codebase and propose a pull request. Datasets, evaluations, and experiments then determine whether the change actually improved the agent.
Availability: Signal issue detection is available across Arize AX plans. Repository-backed investigation, pull-request creation, Agent Studio, and broader managed-agent workflows are Enterprise capabilities. For more information, check out the launch blog post.
TL;DR: What Signal does
Signal reviews production traces on a recurring schedule and groups related failures into ranked issues.
Each issue includes an investigation, supporting traces, and a suggested prompt, code, configuration, or evaluation change.
Teams can connect a GitHub repository so that, when you choose to act on an issue, Signal can investigate the implementation and open a pull request for review
Matching traces can become a regression dataset, while evaluators and experiments determine whether the proposed fix actually improved the agent.
Developers remain responsible for reviewing and merging changes. Managed agents do not deploy directly to production.
Why production AI agents are difficult to debug
Coding agents have compressed the time required to implement a change. The difficult part increasingly happens before the code is written: finding the relevant production behavior, recognizing the recurring failure, understanding its likely cause, and deciding what should change. Agent failures also rarely look like conventional software failures. Many of these patterns map to common AI agent failures that only become visible in traces. A request can return successfully while the agent:
Routes to the wrong worker
Calls the wrong tool
Passes malformed arguments
Retrieves an empty or irrelevant result
Repeats a planning step without making progress
Falls back to model memory without telling the user
Produces a plausible answer through an unreliable trajectory
The codebase defines the paths an agent can take. The trace records the path it actually took. That makes traces the source of truth for agent behavior. But traces alone do not solve the scale problem. A developer can inspect one failed run manually. Reviewing thousands or millions of runs for related semantic failures is a different task. Evaluations help identify which runs violated an application’s quality criteria. They might show, for example, that hundreds of runs selected the wrong agent or answered without grounded evidence. But a failed evaluation does not necessarily explain whether those runs share one routing defect, several unrelated tool failures, or a problem with session state. Signal performs that investigation continuously.
Tutorial: How to use Signal to debug a production AI agent
Step 1: Instrument the full agent execution path
Signal depends on production evidence, so the first requirement is adding instrumentation to your agent so that the agent telemetry can flow into Arize AX. A useful trace should capture more than the final model response. It should make the agent’s trajectory legible, including:
User input and final output
LLM calls
Latency and token counts
Tool names, inputs, and outputs
Retrieval operations
Agent or node transitions
Exceptions and error states
Retries and repeated steps
Session or user metadata required for segmentation
Arize supports instrumentation through a coding agent, as well as manual instrumentation. For the coding-agent workflow, install the Arize instrumentation skill:
Copy Code
Copied
Use a different Browser
npx skills add Arize-ai/arize-skills –skill “arize-instrumentation” –yes
The coding agent can inspect the application, add the relevant OpenInference instrumentation, and help verify that traces are reaching the project. Before enabling Signal, inspect at least one representative trace manually. Confirm that a developer could answer these questions from the trace alone:
Which route did the agent select?
Which tools did it call?
What did each tool return?
Where did the trajectory diverge from the expected behavior?
What did the user ultimately receive?
Missing tool outputs or flattened agent steps will limit the quality of any downstream investigation.
Step 2: Add evaluations for important behavioral contracts
Signal can begin working once traces are present. Evaluations make the evidence more precise by encoding the behaviors your application promises to users. For related guidance on building trustworthy agent scorecards, see AI agent evaluation and how to improve agent skills with tracing and evals. Consider a financial research agent that answers questions involving current market data. One behavioral contract might be:
PASS
FAIL
The agent calls an approved live-data or web-research tool for time-sensitive questions and grounds the answer in the returned content.
The agent answers from model memory, selects the wrong route, or hides a retrieval failure.
That contract could become an agent_selection_correctness, tool_call_required, or groundedness evaluator. Other useful production evaluations include:
Correct agent or tool selection
Successful task completion
Answer groundedness
Citation validity
Maximum retry count
Session coherence
Policy compliance
Format adherence
Choose evaluations that correspond to user-visible or operational contracts. A generic “response quality” score may reveal that something went wrong, while a routing or tool-use evaluator gives the investigation a much sharper starting point.
Step 3: Enable Signal on the tracing project
Once traces are flowing:
Open the relevant tracing project in Arize AX.
Select the Signal tab from the project navigation.
Click Enable Signal.
https://arize.com/wp-content/uploads/2026/08/enable-signal-1.mp4
Enabling Signal creates a recurring automation for that project. From Configure Signal, teams can adjust the cadence and provide additional context for the investigation. Signal reads traces from the selected project and presents its findings in the same project-level view. No repository connection is required at this stage. A useful adoption path is to begin with trace-only investigations, review the quality of the clusters, and add repository access after the team trusts the evidence.
Step 4: Read each Signal issue as an incident report
The Signal view shows issue volume over time and a ranked list of detected patterns. Opening an issue reveals the investigation and its supporting traces. A useful issue should help you understand:
The recurring behavior: What is the agent doing incorrectly?
The affected population: Which traces or sessions show the same problem?
The likely impact: Does the failure affect correctness, reliability, cost, latency, or user experience?
The evidence: Which spans support the diagnosis?
The proposed intervention: Should the team change a prompt, tool definition, state transition, evaluator, or code path?
Treat severity as a triage signal rather than an automatic merge decision. Frequency matters, although volume alone cannot capture impact. During the webinar, the Arize team showed an internal agent that entered a loop involving repeated completion and to-do updates. The behavior appeared across a relatively small number of traces, but one trace repeated the loop 105 times. That pattern created meaningful cost and reliability risk despite its limited trace count. By comparison, a formatting problem might occur hundreds of times while causing little user harm. Review the issue through three lenses:
How frequently does it happen?
How damaging is each occurrence?
How widely can the failure spread?
Step 5: Connect the repository and generate a pull request
When an issue is well supported by the traces, the next step is to give Signal enough context to connect the runtime behavior to the implementation. For supported Enterprise workflows:
Open the menu on the Signal tab.
Select Configure Signal.
Enable Attach Repo.
Choose or create a GitHub integration.
Select the repository from your connected GitHub App installation (shown as owner/repo).
Save the configuration.
Signal can then use the repository to investigate the relevant code and open pull requests for proposed fixes. The pull request still requires your review using the same standards you would apply to a human-authored change:
Does the diff address the root cause shown in the traces?
Is the change narrow enough to evaluate?
Does it introduce unrelated refactoring?
Are important invariants enforced in code?
Are prompt instructions being used where deterministic controls would be safer?
Does the change include or suggest an appropriate regression test?
Could it affect latency, token use, or tool-call volume?
Is there a clear rollback path?
Managed workers create artifacts for review. They do not merge or deploy the change on their own.
Step 6: Turn the production failure into a regression dataset
A pull request addresses the current defect. A dataset prevents the team from forgetting the behavior that exposed it. Save representative traces from the issue as dataset examples. Preserve enough metadata to explain both the input and the expected trajectory:
Dataset field
Example
input
The original user request
expected_tool
read_web_page
expected_behavior
Retry another source or report retrieval failure
forbidden_behavior
Answer from model memory
failure_mode
ungrounded_fallback
source_trace_id
Original production trace
category
time_sensitive_research
Include variation within the failure mode. For a retrieval problem, the dataset might contain blocked pages, empty pages, irrelevant results, timeouts, and successful pages. This helps determine whether the fix generalizes beyond the exact trace that inspired it. A useful division of labor is:
Artifact
Purpose
Pull request
Changes the behavior
Dataset
Preserves the evidence
Evaluator
Defines what success means
Experiment
Measures whether the change helped
When a failure is important enough to change production code, it is usually important enough to preserve as a regression case.
Step 7: Compare the baseline and candidate before merging
Run the same dataset against both the current production configuration and the proposed configuration. A basic experiment should compare:
Evaluator pass rate
Task completion
Tool selection
Groundedness
Latency
Token usage
Number of tool calls
New failure modes introduced by the candidate
In Arize AX, agent experiments can run a dataset against a registered agent endpoint and compare multiple runs. The comparison view includes row-level outputs, evaluator deltas, latency, token counts, and differences in tool-call paths when tracing is enabled. The safest sequence is:
Run the dataset against the current production agent.
Run the same dataset against the proposed change.
Compare the evaluator results and operational metrics.
Inspect every regression, even when the aggregate score improves.
Merge only after the candidate passes the team’s release criteria.
A correct result on one previously failing example is weak evidence. Consistent improvement across a representative dataset is much stronger.
Worked example: When a research agent answers from memory
Consider an agent responsible for answering questions about current companies and executives. The intended path is straightforward:
The user asks a time-sensitive question.
The agent calls a web research tool.
The tool retrieves a relevant page.
The agent grounds its answer in the retrieved content.
In one production failure from the webinar, the research tool returned a JavaScript-gated page with little usable text. The agent then skipped another retrieval attempt and answered from model memory. The final answer happened to be factually correct. The trajectory was still unreliable. For a different company, a recent leadership change, or a more consequential question, the same fallback could produce a stale or fabricated answer. An agent-selection evaluator marked the traces as incorrect. Signal then grouped several instances into one recurring issue: the research agent was answering from memory after unsuccessful retrieval. Instead of leaving the team with a long list of failed labels, the issue included matching traces and a proposed change. A candidate policy might look like this:
For time-sensitive questions:
- Call an approved live-data or web-research tool.
- When a source is blocked or empty, try an alternative source.
- Categorize retrieval failures explicitly.
- Report unsuccessful retrieval rather than guessing.
- Ground factual claims in content returned by the tools.
Depending on the application, some of those controls may belong in the system prompt. Others deserve code-level enforcement. For example:
A maximum retry count should usually be deterministic.
Required citations can be validated after generation.
A “no answer from memory” policy can be enforced by checking whether an approved tool succeeded.
Retrieval failures can be represented as typed states rather than free-form model decisions.
Signal’s proposed fix should be treated as an engineering hypothesis. The trace evidence, dataset, and experiment determine whether that hypothesis survives contact with the system.
Common Signal use cases for production agents
Signal is especially useful for failures that recur across traces but remain difficult to identify through dashboards alone.
Failure mode
Evidence in the traces
Likely intervention
Wrong agent or tool selection
Similar requests repeatedly route to an inappropriate worker or tool
Improve routing logic, tool descriptions, selection prompts, or deterministic rules
Silent fallback to model memory
A retrieval or tool call fails, followed by an unsupported answer
Add fallback policies, alternate sources, grounding checks, or explicit failure states
Retry and planning loops
Repeated spans, state updates, or tool calls without progress
Add stopping conditions, idempotency controls, state-transition fixes, or budget limits
Cost regressions
A recurring path consumes unusually high tokens or tool calls
Reduce context, cache stable data, change planning behavior, or enforce execution budgets
Latency regressions
Particular tools or trajectories dominate end-to-end time
Parallelize safe operations, add timeouts, shorten retry paths, or change provider strategy
Retrieval degradation
Empty, irrelevant, blocked, or stale retrieval results recur
Improve source selection, reranking, chunking, failure handling, or freshness rules
Session-level incoherence
The agent contradicts prior turns or loses task state
Adjust memory boundaries, state persistence, summarization, or session-level evals
Unknown quality failures
Similar complaints or evaluator failures lack a predefined category
Create a new evaluator and regression dataset from the discovered pattern
Signal can also reveal where the AI trace is only part of the story. An agent may complete its LLM and tool steps correctly while a UI component, downstream service, or application state update fails. For investigations that need additional operational context, managed workers can use configured integrations such as GitHub, Datadog, or custom skills alongside the Arize traces.
When to use Agent Studio instead of Signal
Signal is purpose-built for recurring investigation of production traces. Agent Studio is useful when the team needs a custom worker with a narrower task, a different trigger, or additional systems. Examples include:
A daily cost analysis
A weekly agent health report
Investigation of traces that cross a custom metric threshold
Root-cause analysis triggered by a monitor
Dataset generation from a specific class of failures
A targeted repository fix
Correlation between AI traces and APM data
Teams can start Agent Studio from a template or a blank task, bind the worker to a tracing project, select a preset, attach the required skills, and run it as either a one-off session or an automation. Automations can run on a recurring schedule or a metric threshold. A practical investigation prompt might be: Review production traces from the last 24 hours. Find recurring failure modes affecting at least three sessions. For each cluster:
Cite the supporting trace IDs and provide a reusable filter.
Describe the user or operational impact.
Identify the most likely root cause.
Recommend the smallest safe prompt, code, or configuration change.
Specify the regression examples and evaluators needed to test the change.
Estimate possible effects on quality, latency, token use, and tool-call volume.
Then, rank the clusters by impact, frequency, and cost. Do not open a pull request. Return an investigation report for review. Beginning with a report-only workflow makes it easier to evaluate the worker’s reasoning. Once the clusters and recommendations are consistently useful, the team can connect a repository and allow the workflow to produce candidate branches or pull requests.
How Signal fits into a self-improving agent loop
In practice, a self-improving agent is a closed engineering loop with explicit review gates. That loop is the same shift described in from human-operated agent development to systematic agent improvement, and in the broader AI factory for self-improving agents in Arize AX. Production behavior becomes evidence. Evidence produces a candidate change. Evaluations determine whether that change deserves to ship. Signal provides the investigation layer in this loop: It connects what the agent did in production with what the engineering team should examine next. When managed workers need additional context, they can operate inside an isolated sandbox with access to a bound Arize project, an optional repository, and configured external tools. Their outputs can include investigations, evaluator labels, branches, and pull requests. Production deployment remains outside the worker’s control.
Best practices for getting useful Signal investigations
Trace decisions, not only model calls. A collection of isolated prompts and completions will rarely explain an agent failure. Capture routing, tools, retrieval, state changes, and parent-child relationships.
Write evaluations around behavioral contracts
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み