Arize AI、音声エージェントの信頼性向上に「ガードレール」と「評価」の役割を解説
本文の状態
日本語全文を表示中
詳細モードで約14分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
Arize AI Blog
Arize AI の Laurie Voss は、複数の応答が重なる失敗事例を示し、AI エージェントシステムの信頼性を高めるには、出力制御の「ガードレール」と性能検証の「evals」の両方が必要であると報告した。
Continue in AI NEW LAB
このニュースを、実務の判断につなげる
AI NEW LABで、試したことや先に確認したい条件を共有できます。まずはログインなしで読めます。
AI NEW LABで論点を見るAI深層分析を開く2026年8月14日 01:31
AI深層分析
キーポイント
エージェントの自律性拡大とリスク増大
従来のチャットボットに比べ、長時間動作するAI エージェントは複数のツール呼び出しや状態管理を行うため、失敗が発生する箇所が劇的に増加し、システム全体の観測可能性が課題となる。
ガードレールと評価の明確な役割分担
Laurie Voss は、何が良くて何が悪いかを判断する「評価(evals)」と、コードレベルで行動を制限・強制する「ガードレール」は異なるエンジニアリング問題を解決するために別個に設計されるべきであると定義する。
同時実行による失敗事例の分析
音声エージェントが複数の応答経路を同時に開始して発話がかみ合わなかった事象は、モデル自体の欠陥ではなく、システムハネス(制御枠組み)の不備によって引き起こされた典型的な例である。
開発と製品管理における意思決定の変化
エージェントに与える権限の範囲や承認が必要なタイミング、エラー発生時の回復プロセスなどを、開発者だけでなく製品マネージャーも明確に定義する必要がある。
評価とガードレールの役割の違い
評価はエージェントの行動が適切だったかを判断する一方、ガードレールはその行動を実行する許可を与える。信頼性の高いシステムでは、製品要件をテスト可能な実行制約に変換する必要がある。
重要な引用
"There was nothing wrong with the model," Voss said. "There was definitely something wrong with the harness."
"The evals say what's good and what's bad, but the guardrails are enforced at the code level."
An eval judges behavior while a guardrail constrains behavior.
Reliable systems translate product requirements into executable constraints.
編集コメントを表示
編集コメント
AI エージェントの実用化において、モデルそのものの能力よりもそれを制御するインフラの重要性が浮き彫りになる重要な指摘である。開発現場では、自律性の高いエージェントを運用する際に、失敗経路を網羅的に想定したガードレール設計の必要性が改めて認識されるべき内容だ。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
音声エージェントは言うべきことを知っていた。しかし、同時に三つのことを話し始めてしまった。
一つの応答が始まり、別の応答が割り込み、最初の二つが終わる前に第三の応答が現れた。声が重なり合い、回答の内容を追うことが不可能になった。
Arize の開発者関係担当責任者である Laurie Voss は、この失敗が生じる様子をライブデモで目撃した。言語モデル自体はリクエストを理解していたのだが、システム側が複数の応答経路を同時に進行させてしまったのだ。
「モデルに問題があったわけではありません」と Voss は言う。「明らかにハルネス側に問題がありました」
この出来事は、AI エージェントがより長時間稼働し、監視の少ない状態で行動するようになれば、無視できなくなる問題を象徴している。モデルの能力はエージェントを驚くほど遠くまで運ぶことができるが、信頼性の高い動作を実現するには、どのツールを使用可能にするか、どのようなアクションを実行できるか、作業の評価方法、そして何かが起きた後の対応策を決定するシステムが不可欠だ。
そのためには「ガードレール」と「評価(evals)」の両方が必要になる。この二つの用語はよく一緒に登場するが、それぞれが解決するエンジニアリング上の課題は異なる。
一時間のエージェント実行では、チャットボットよりも多くの場所で失敗が発生しうる
初期の AI エージェントには、ほぼ絶え間ない監視が必要だった。開発者は数分間だけ実行を許可し、その様子を注視し、コースから外れたら介入するといった運用を行っていた。
自律性の範囲は拡大しています。Voss 氏は、開発者から「数時間かけて作業を行うエージェント」の話を聞きます。例えば、製品要件書から始めて、 substantial な実装結果を返すようなケースです。2 日間のコーディング実行が毎回成功するかどうかよりも重要なのは、その方向性です。エージェントにはより長い時間、より多くのツール、そしてより大きな権限が与えられつつあります。
従来のチャットボットのやり取りでは、失敗する可能性のある範囲は狭いです。メッセージを受け取って応答を生成するだけです。一方、長時間稼働するエージェントは、情報の取得、複数のツールの呼び出し、ファイルの修正、失敗した操作のリトライ、状態管理、作業の委任、そしてタスク完了の判断などを行います。
各ステップが増えるほど、システムが意図した経路から逸脱する場所も増えます。
- ツール呼び出しで引数が間違っている
- リトライループに時間やトークンを使いすぎる
- 2 つの分岐が競合する行動を試みる
- エージェントが古いコンテキストを後の判断に持ち込む
- 妥当な中間アクションが悪しい最終結果を生む
- 有用な最終回答が、無駄で危険な経路を隠す
開発者にとって、長い実行経路はオーケストレーションと観測性の課題となります。プロダクトマネージャーにとっては、自律性の向上が製品契約そのものを変えます。チームは、エージェントにどの程度の権限を与えるか、いつ承認が必要か、どのように回復すべきか、そしてワークフローが想定された経路から外れた時にユーザーに何を見せるかを決定する必要があります。
評価(Evals)とガードレールは、異なる問題を解決するものです
Voss は、評価(evals)とガードレールには明確な違いがあると指摘しています。
「評価は『何が良くて何が悪いのか』を判断するものですが、ガードレールはコードレベルで強制されるものです」と彼は説明します。
評価は行動を判定するものであり、ガードレールは行動を制限するものです。これを整理すると以下のようになります。
- レイヤー:問いかける内容 / 例
- Eval(評価):エージェントはうまく機能したか? / 回答が正しく、根拠があり、有用で、完全だったか?
- Guardrail(ガードレール):エージェントはその行動を実行する許可があったか? / そのツールを呼び出したり、メッセージを送信したり、別の応答を開始したりできるか?
- Harness(実行環境):全体の処理はどのように実行されるか? / ツール、状態、制限、リトライ、権限、フィードバックがどう調整されるか?
音声エージェントには、「一度にアクティブな回答を一つだけ許可する」というガードレールが必要でした。評価機能を使えば、実行後に重なり合った音声を検出することはできますが、検出するだけではその行動の再発を防ぐことはできません。
信頼性の高いシステムとは、製品要件を実行可能な制約に変換するものです。「集中して」という指示は強制するのが難しいですが、「一度に一つの音声応答のみを許可する」であればテスト可能なルールとして定義できます。
簡略化されたポリシーの例は以下のようになります。
policy = AgentPolicy(
allowed_tools={"knowledge_search", "calendar_lookup"},
max_parallel_responses=1,
max_retries=2,
approval_required={"send_email", "make_purchase"},
)(注:原文の「Copy Code」「Copied」「Use a different Browser」はコードブロック内の UI 要素または誤植と判断し、自然な記事構成のために省略しました。policy = AgentPolicy(...) のコードブロック自体は保持しています。)
プロンプトの指示は、エージェントの計画を形成する上で依然として重要です。一方、行動にコストやリスク、あるいは不可逆的な結果が伴う場合には、コードレベルでの制御の方がより堅牢な境界線を提供します。
有用なガードレールには、以下のようなものが含まれます。
- エージェントが呼び出せるツールの範囲
- 各ツールに付与される認証情報の種類
- 並列実行可能なアクションの数
- ワークフローの継続時間
- 失敗したステップの再試行回数
- 人間の承認を必要とするアクション
- エージェントが停止、エスカレーション、または明確化を求めるべきタイミング
最終的な回答が高品質であっても、それがエージェントが許容される経路をたどったことを証明するものではありません。チームは結果の評価を行うと同時に、プロセス周囲の境界線を厳守する必要があります。
AI による評価者が昨日の世界で採点している可能性があります
ガードレールも評価者も失敗することがあります。
Voss はチュートリアルで金融分析用のエージェントを使用しています。このエージェントは最新の出来事を調査し、レポートを作成します。その後、汎用的な正しさ評価者が独自の内部知識を用いてそのレポートを採点します。
結果として予測可能なミスマッチが生じます。エージェントは当日の情報を引用する一方で、評価者は新しい出来事が起こっていないかのように振る舞います。参照フレームワークが陳腐化しているため、評価者は毎回レポートを誤りと判定してしまいます。
評価者がスコアを提示するため権威あるように見えますが、そのスコアはあくまで評価者自身が利用可能な文脈に依存したものです。
評価者には以下のアクセス権限が必要になる場合があります。
- 現在の日付と時刻
- 実行中に取得されたソース情報
- ユーザーの実際の目標
プロダクトを統べるポリシー、エージェントが利用可能なツール、完全な実行軌跡、そして「成功」の定義。
「正しさ」という概念は普遍的なものではありません。最新の財務報告書、顧客サポートへの回答、コード移行それぞれに求められる証拠は異なります。汎用的な評価者が流暢さを測るだけでは、回答の実用性を決定づけるビジネスルールを見逃す可能性があります。
開発者はアプリケーションに対して懐疑的な目を持つように、評価者に対しても同様の姿勢でテストを行うべきです。プロダクトマネージャーは、スコアがリリース判断に影響を与える前に、評価者がどのような証拠を必要とするかを明確に定義する必要があります。
失敗した実行こそが、次の工程の指示書となる
最も有用な評価結果は点数ではなく、その理由の説明である場合が多いのです。
ボスは自身のサイドプロジェクトで、「何が間違っていたか」を記述する評価を実行しています。開発環境では、Arize から得たこれらの説明が、次回の改善を担当するコーディングエージェントに渡されます。
指示は極めて明確です。「直前の実行で何が悪かったかの説明をここに示す。自分で修正せよ」。
このワークフローは、自己改善の限定された形態を生み出します:
エージェント実行
↓
トレースと出力
↓
評価がスコアと解説を生成
↓
失敗の解説が IDE に返される
↓
C 言語エージェントが変更案を提案
↓
テストと評価が再実行
このループでは、エージェントが監視なしで自らを再設計・デプロイする必要はありません。評価フィードバックは構造化された開発タスクとなり、次のレビュー前にコーディングエージェントが対応できます。
この区別は重要です。合格/不合格の結果だけでは、チームに「品質が低下した」という事実を伝えるだけですが、解説があれば具体的な改善点を示すことができます。例えば以下のような箇所です。
- プロンプト
- ツールの説明
- 検索クエリ
- 権限の境界
- リトライポリシー
- アプリケーションコードの一部
- 回帰テスト
このワークフローは、チームが本番環境での失敗をどう捉えるかも変えます。悪い実行結果はもはやトレースビューアー上の孤立した事象として残る必要はありません。次バージョンのための証拠となり得ます。
プロダクト要件には運用対応が必要
プロダクトチームは、計画段階では明確に聞こえるが実装段階で曖昧になりがちな言語でエージェントの挙動を記述することがよくあります。
音声予約エージェントを考えてみましょう。要件として「エージェントは予約完了に集中すべきだ」という記述があるかもしれません。
この一文には未解決の疑問が残ります。背景の雑音に対して反応すべきか?予約中に無関係な質問に答えるべきか?タスクがいつ終了したとみなすのか?ユーザーが途中で方向転換した場合どうするか?
より運用側の定義では、エージェントが以下を実行することを明記する必要があります:
予約ワークフローに関する発言のみを処理対象とします。
一度にアクティブな応答は一つだけ保持します。
無関係な背景会話は無視します。
目的地が曖昧な場合は、明確化を求めます。
確認後、または人間への引継ぎ後は即座に停止します。
これらの条件は、ガードレールや評価基準、あるいはその両方として機能し得ます。
プロダクトマネージャーが意図する体験を定義し、開発者がその意図をシステム動作に変換します。評価(eval)はその体験が実現されたかを確認するものであり、ガードレールは決して起こってはならない行動を防ぐ役割を果たします。
エージェントの自律性を高める前に問うべき5 つの質問
エージェントに実行時間を延長させたり、監視を減らして動作させたりする前に、チームは以下の 5 つの問いに答えられる必要があります。
- エージェントが承認なしに行えることは何か?
許可された行動を明示的にリスト化します。取り消し可能な作業と、資金を消費したり、本番環境のデータを改変したり、外部へ通信したり、法的義務を生み出したりする行動は明確に区別してください。
- コード上でどの境界が強制されているか?
プロンプトの指示は望ましい振る舞いを表すものですが、重大な制限については実行可能な強制力も併せて設ける必要があります。
- 評価者が必要とするコンテキストとは何か?
評価中に適切な証拠が利用できない限り、現在の情報やドメインポリシー、ツールの使用状況などを判断する「審判」は機能しません。
- チームは実行の軌跡を再構築できるか?
最終的な回答には、リトライ、不要なツール呼び出し、競合する分岐、あるいはポリシー違反が隠されている可能性があります。トレース(Trace)は、その結果に至ったステップを明らかにするものでなければなりません。
- 失敗情報を次のバージョンにどう伝えるか
失敗をチケット化するか、回帰テストや評価基準の更新、プロンプトやガードレールの修正、あるいはコーディングエージェントへの構造化フィードバックとして扱うかを決定する必要があります。
この最後の接続が欠けていると、観測機能は単なる事後分析で終わってしまいます。チームは何が起こったかは学んでも、次回の動作を体系的に改善することはできないのです。
AI エンジニアはシステムエンジニアへと進化する
Voss 氏は AI エンジニアを、「工学や他分野から豊富な専門知識を持ち、それを AI をもう一つのツールとして効果的に活用できる人」と定義しています。
この定義では、新しさよりも判断力が重視されます。単に先週リリースされたモデルやフレームワークを知っているだけでは不十分です。AI エンジニアは現在、複数のレイヤーを同時に推論する能力が求められています:
- モデルの挙動
- プロダクトの意図
- オーケストレーション(調整・制御)
- 権限管理
- ガードレール
- 評価設計
- 観測機能
- フィードバックと反復
言語モデルは回答を生成したり、ツールを選択したり、コード変更を提案したりします。エンジニアの役割は、これらの行動が信頼できるものとなる環境を整えることです。
エージェントがより長時間稼働するようになると、その信頼性は「何ができるかを制限し」「実際に何をしたかを評価し」「実行結果から有用な証拠を次の実行へ引き継ぐ」システムに依存することになります。
先ほどの例を見れば明らかです。音声デモではモデルは質問への回答方法を知っていましたが、エンジニアリング上の課題は、ユーザーに届く答えが一つだけになるように保証すること(同時に三つの答えが表示されないようにすること)でした。
AI エージェントのガードレールと評価:より信頼性の高いエージェントシステムを構築する方法
本記事は、Arize AI で最初に公開されたものです。
原文を表示
The voice agent knew what to say. But then it began saying three things at once.
One response started, another cut in, and a third arrived before either of the first two had finished. The voices overlapped until the answer became impossible to follow.
Laurie Voss, head of developer relations at Arize, watched the failure unfold during a live demonstration. The language model had understood the request, but the system had simply allowed several response paths to proceed simultaneously.
“There was nothing wrong with the model,” Voss said. “There was definitely something wrong with the harness.”
The incident captures a problem that will become harder to ignore as AI agents run longer and act with less supervision. Model capability can carry an agent surprisingly far, but reliable behavior depends on the system that determines which tools it can use, what actions it can take, how its work is evaluated, and what happens after something goes wrong.
That system needs both guardrails and evals. The terms often appear together, yet they solve different engineering problems.
An hour-long agent run can fail in more places than a chatbot
Early AI agents required almost constant supervision. A developer might let one run for a few minutes, watch what happened, and intervene when it wandered off course.
That autonomy window is expanding. Voss hears developers describe agents that can work for several hours, sometimes beginning with a product requirements document and returning with a substantial implementation. Whether every two-day coding run succeeds is less important than the direction of travel. Agents are being given more time, more tools, and more authority.
A conventional chatbot interaction has a narrow failure surface. It receives a message and generates a response. A long-running agent may retrieve information, call several tools, modify files, retry failed operations, manage state, delegate work, and decide when the task is complete.
Each new step creates another place where the system can deviate from the intended path:
A tool call can use the wrong arguments.
A retry loop can consume excessive time or tokens.
Two branches can attempt conflicting actions.
The agent can carry stale context into a later decision.
A valid intermediate action can produce a poor final outcome.
A useful final answer can conceal a wasteful or unsafe trajectory.
For developers, longer trajectories create an orchestration and observability problem. For product managers, greater autonomy changes the product contract. The team must decide how much authority the agent receives, when it needs approval, how it should recover, and what the user sees when the workflow leaves its expected path.
Evals and guardrails solve different problems
Voss draws a useful distinction between evals and guardrails.
“The evals say what’s good and what’s bad, but the guardrails are enforced at the code level,” he explains.
An eval judges behavior while a guardrail constrains behavior. Here’s an easy way to break this down:
Layer
The question it answers
Example
Eval
Did the agent perform well?
Was the answer correct, grounded, useful, or complete?
Guardrail
Was the agent permitted to take that action?
Could it call this tool, send this message, or launch another response?
Harness
How does the entire run execute?
How are tools, state, limits, retries, permissions, and feedback coordinated?
The voice agent needed a guardrail that permitted only one active answer. An eval could detect the overlapping speech after the run, but detection alone would not prevent the behavior from recurring.
Reliable systems translate product requirements into executable constraints. “Stay focused” is difficult to enforce. “Permit one active voice response at a time” can become a testable rule.
A simplified policy might look like this:
Copy Code
Copied
Use a different Browser
Illustrative pseudocode
policy = AgentPolicy(
allowed_tools={“knowledge_search”, “calendar_lookup”},
max_parallel_responses=1,
max_retries=2,
approval_required={“send_email”, “make_purchase”},
)
Prompt instructions still matter because they help shape the agent’s plan. Code-level controls provide a firmer boundary when the action carries cost, risk, or an irreversible consequence.
Useful guardrails can cover:
which tools the agent may invoke;
which credentials each tool receives;
how many actions may run concurrently;
how long a workflow may continue;
how many times a failed step may retry;
which actions require human approval;
when the agent should stop, escalate, or ask for clarification.
A high-quality final answer does not prove that the agent followed an acceptable path. Teams need to evaluate the outcome while also enforcing the boundaries around the process.
Your AI judge may be grading yesterday’s world
Guardrails can fail and so can evaluators.
Voss uses a financial-analysis agent in her tutorials. The agent researches recent events and produces a report. A generic correctness evaluator then grades that report using its own internal knowledge.
The result is a predictable mismatch. The agent cites information from the current day, while the evaluator behaves as though the newer events have not happened. It marks the report incorrect every time because its frame of reference is stale.
The evaluator appears authoritative because it produces a score. That score still reflects the context available to the judge.
An evaluator may need access to:
the current date and time;
the sources retrieved during the run;
the user’s actual goal;
the policies governing the product;
the tools available to the agent;
the complete trajectory;
the product’s definition of a successful outcome.
“Correctness” is rarely universal. A current financial report, a customer-support response, and a code migration each require different evidence. A generic judge may evaluate fluency while missing the business rule that determines whether the answer is usable.
Developers should test evaluators with the same skepticism they apply to the application. Product managers should define what evidence a judge needs before its score can influence a release decision.
A failed run can become the next engineering brief
The most useful eval output may be an explanation rather than a score.
In her own side projects, Voss runs evals that describe what went wrong. Her development environment pulls those explanations from Arize and gives them to the coding agent responsible for the next iteration.
The instruction is blunt: “Here are the explanations of all the things that went wrong in your last run. Fix yourself.”
The workflow creates a bounded form of self-improvement:
Agent run
↓
Traces and outputs
↓
Evals generate scores and explanations
↓
Failure explanations return to the IDE
↓
Coding agent proposes changes
↓
Tests and evals run again
This loop does not require an agent to redesign and deploy itself without oversight. Evaluation feedback becomes a structured development task, which a coding agent can act on before the next review.
The distinction matters. A pass/fail result can tell a team that quality declined. An explanation can guide a specific change to:
a prompt;
a tool description;
a retrieval query;
a permission boundary;
a retry policy;
a piece of application code;
a regression test.
The workflow also changes how teams think about production failures. A bad run no longer has to remain an isolated incident in a trace viewer. It can become evidence for the next version of the system.
Product requirements need operational counterparts
Product teams often describe agent behavior using language that sounds clear during planning but becomes ambiguous during implementation.
Consider a voice-booking agent. A requirement might say: The agent should stay focused on completing the booking.
That sentence leaves several questions unresolved. Can the agent react to background speech? Should it answer unrelated questions during the booking? When has the task ended? What happens when the user changes direction halfway through?
A more operational definition might specify that the agent must:
act only on speech directed toward the booking workflow;
maintain one active response at a time;
ignore unrelated background conversation;
request clarification when the destination is ambiguous;
stop after confirmation or transfer control to a human.
These conditions can become guardrails, eval criteria, or both.
The product manager defines the intended experience. The developer converts that intent into system behavior. The eval reveals whether the experience occurred, while the guardrail prevents actions that should never happen.
Five questions to ask before increasing agent autonomy
Before allowing an agent to run longer or act with less supervision, the team should be able to answer five questions.
- What can the agent do without approval?
List the permitted actions explicitly. Separate reversible work from actions that spend money, modify production data, communicate externally, or create legal obligations.
- Which boundaries are enforced in code?
Prompt instructions express desired behavior. Consequential restrictions should also have executable enforcement.
- What context does the evaluator need?
A judge cannot assess current information, domain policy, or tool use unless the relevant evidence is available during evaluation.
- Can the team reconstruct the trajectory?
A final answer may hide retries, unnecessary tool calls, conflicting branches, or policy violations. Traces should expose the steps that produced the result.
- How does failure information reach the next version?
Decide whether failures become tickets, regression tests, updated evals, prompt changes, guardrail changes, or structured feedback for a coding agent.
Without that last connection, observability remains retrospective. The team learns what happened but does not systematically change what will happen next.
The AI engineer becomes a systems engineer
Voss defines an AI engineer as someone who brings substantial expertise from engineering or another domain, then uses AI effectively as another tool.
That definition places judgment above novelty. The work requires more than knowing which model or framework was released last week. AI engineers increasingly need to reason across several layers at once:
model behavior
product intent
orchestration
permissions
guardrails
evaluation design
observability
feedback and iteration
The language model may generate the answer, choose a tool, or propose a code change. The engineer builds the conditions under which those actions become dependable.
As agents operate for longer periods, reliability will depend on systems that constrain what they can do, evaluate what they actually did, and carry useful evidence from one run into the next.
Case in point via our original example: the model knew how to answer the question in the voice demo, but the engineering challenge was making sure only one answer reached the user (and not three all at the same time).
The post AI agent guardrails vs. evals: How to build more reliable agent systems appeared first on Arize AI.
関連記事
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み