Agent-EvalKit で AI エージェントを体系的に評価する
AWS は、AI エージェントの表面的な出力評価を超え、ツール呼び出しや推論プロセス全体を検証する「Agent-EvalKit」というオープンソース評価キットを発表した。
キーポイント
従来の評価手法の限界と新アプローチ
単なる出力の一致確認では、ハルシネーションや不十分な検証ステップを見逃すリスクがあり、実行パス全体(ツール呼び出し、中間状態)を追跡する評価が必要である。
Agent-EvalKit の機能と統合
Claude Code や Kiro CLI などの AI コーディングアシスタントと連携し、自然言語での指示からテストケース生成、実行、改善提案までをローカル開発環境で完結させる。
多角的な評価指標の重視
回答の正確性だけでなく、ツール使用の適切さ、データへの忠実度(faithfulness)、および推論プロセスの一貫性を個別に測定する必要があると強調している。
影響分析・編集コメントを表示
影響分析
この発表は、AI エージェント開発における品質保証の標準を「出力の正誤」から「プロセスの健全性」へと引き上げる重要な転換点となる。特に、ハルシネーションや論理破綻が表面化しにくい現代の自律型エージェントにおいて、開発者が体系的に検証を行うための具体的なインフラを提供することで、実用化への障壁を下げると期待される。
編集コメント
エージェントの「賢さ」を測る際、結果だけでなく思考プロセスそのものを検証する視点の重要性が浮き彫りになりました。開発現場での実装コストを下げるための具体的なツール提供は、業界全体の成熟に寄与する一歩です。
AI エージェントを構築するチームは、通常、他のソフトウェアと同様に、出力が期待通りに一致しているかどうかを確認することで評価を行います。しかし、自律的にツールを選択し、複数のソース間で操作をシーケンス化するエージェントは、出力レベルのテストでは完全に特徴付けられない振る舞いを生み出します。
あるエージェントは、構造化され実用的な応答を提供しながらも、ツールの返却結果が空であったために事実を捏造するハルシネーションを起こす可能性があります。また、信頼性の高いプロセスに必要な検証ステップをスキップして正しい結論に達することもあります。これらの失敗は最終的な応答の表面の下に潜んでいるため、それらを捉えるには、エージェントが呼び出したツール、そのツールが返したデータ、そして応答がそのデータを忠実に反映しているかどうかを追跡する評価が必要です。
このギャップを埋めるには、多くのエージェントチームがゼロから構築するための人員を備えていないインフラストラクチャが必要です。正解(グランドトゥルース)を持つテストケース、ツール呼び出しと中間状態をキャプチャするための観測性(オバザビリティ)の計装、そして表面精度だけでなく忠実度やツールの使用状況を評価する指標が必要となります。
Agent-EvalKit は、Claude Code、Kiro CLI、および Kilo Code といった AI コーディングアシスタントと統合することで、この評価インフラストラクチャをオープンソースツールキット(Apache 2.0 ライセンス)として提供します。これにより、評価をデプロイ後の別工程として扱うのではなく、開発環境全体にワークフローを組み込むことができます。自然言語で評価の目標を記述するだけで、ツールキットが各フェーズを処理し、エージェントのソースコードの読み込みからターゲットを絞ったテストケースの生成、評価の実行、そしてコードベース内の特定の場所を参照した改善推奨事項を含むレポート作成までを一貫して行います。以下のセクションでは、Strands Agents SDK と Amazon Bedrock を用いて構築された旅行調査エージェントを例に挙げながら、Agent-EvalKit が 6 つの評価フェーズ全体でどのように機能するかを順を追って解説します。
エージェント評価に必要なもの
インフラそのものを選ぶこと以上に、何を測定するかを決めることも同等に困難です。エージェントの品質は、単一の指標では捉えきれない複数の次元にわたります:回答が実際にツールから返された結果に基づいているか、エージェントが適切なツールを正しいパラメータで呼び出したか、そして最終的な出力が質問者にとって整合性があり有用であるかなどです。回答は読みやすく見えても、空の結果に対して静かにハルシネーション(幻覚)を起こしている可能性があり、また、不具合のあるツール呼び出しの連鎖を通じて妥当な答えに到達するエージェントもあり得るため、各次元は隣接する指標から推測するのではなく、それぞれ独立して検証する必要があります。
単一の評価スタイルがこれら3つの側面すべてをうまく処理することはできません。コードベースの評価者は高速で再現性のある結果を提供しますが、アプローチの有効なバリエーションに対してペナルティを与える傾向があります。大規模言語モデル(LLM)を判事とする評価者は、追加の推論コストと慎重なプロンプト設計を要する一方で、微妙なニュアンスを含んだ評価を提供します。最も効果的な評価戦略は、これらの2つのアプローチを組み合わせたものです。評価スコアを具体的なコード変更へと翻訳することは、多くの取り組みが最終的に立ち往生するポイントであり、そのため評価ワークフローは数値のダッシュボードで終わるのではなく、特定のコードレベルでの推奨事項で完了する必要があります。
Agent-EvalKit の仕組み
Agent-EvalKit は、独立した評価プラットフォームとして動作するのではなく、既存の AI コーディングアシスタントを通じて機能します。Claude Code、Kiro CLI、あるいは Kilo Code などのアシスタントが、コードを読み込み、評価プロセスの各段階におけるエージェントの振る舞いを推論する能力を活用することで、評価エンジンとなります。このワークフローは、/evalkit.plan や /evalkit.data といったスラッシュコマンドを通じて操作し、自然言語によるガイダンスを追加して、どの品質次元があなたのエージェントにとって最も重要かを指示します。この設計により、評価プロセスが開発環境内に留められ、エージェントの構築を支援する同じアシスタントが、その評価も支援することになります。
このプロセスは、エージェントのソースコードから始まります。ここでアシスタントはツールの定義、システムプロンプト、およびフレームワーク構成を読み込み、エージェントが何を行うか、どのツールを呼び出せるか、またどこで振る舞いに問題が生じる可能性があるかを詳細にモデル化します。評価計画から最終レポートに至るまで、このツールキットが後続の段階で生成するすべての成果物は、このコードレベルでの理解に基づいて構築されます。
その基盤に基づき、アシスタントはエージェントの機能とリスク領域に焦点を当てた指標を備えた個別評価計画を策定し、その後続フェーズを通じてテストケースを生成し、OpenTelemetry 互換のトレーシングでエージェントに計測機能を追加し、各テストケースを実行しながら構造化されたトレースを収集し、結果を基準に対して評価します。このプロセスは最終的にレポートに集約され、その優先順位付けられた推奨事項はコード内の特定の場所を参照し、評価結果を具体的な修正措置と直接結びつけます。例えば、空の結果によって引き起こされるハルシネーション(幻覚)の発生に焦点を当てるようシステムに指示した場合、そのガイダンスがテストケース生成、指標選択、およびレポートで最終的に強調されるパターンを形成します。
以下の図は、テストケースから指標評価に至るまでのこのフローを示しています。

このツールキットは、この作業を 6 つのフェーズに整理しており、各フェーズで生成された成果物は eval ディレクトリに配置され、次のフェーズへと引き継がれます。各フェーズは AI アシスタントを通じてスラッシュコマンドとして呼び出し、コマンド後のテキストはそのフェーズに対する自然言語によるガイダンスとして機能します。初期の成果物が整った後、異なるガイダンスで任意のフェーズを再実行することで、ゼロから構築し直すことなく焦点を移したり分析を深めたりすることが可能です。

これら 6 つのフェーズは、エージェントの能力を理解することから、具体的なコード改善を推奨するまでを含む、完全な評価ライフサイクルを網羅しています。
- Plan (/evalkit.plan) は、エージェントのコードを読み込んでそのツールとフレームワークを理解し、各指標に対応する具体的な評価手法を組み合わせる評価計画を生成します。あなたのガイダンスが、計画で優先される品質次元を決定し、その優先順位は後のフェーズにおける実行可能な評価コードにも反映されます。
- Data (/evalkit.data) は、評価計画に基づいてテストケースを生成します。各ケースには入力と期待される結果が含まれ、エージェントが処理すべき特定の動作や障害モードを対象としています。すでに生産環境のログや手動テストからテストデータをお持ちの場合は、このフェーズで既存のデータセットを指すように指定することも可能です。
- Trace (/evalkit.trace) は、OpenTelemetry 互換性のトレーシング(tracing)をエージェントに追加することで、実行パス全体を可視化します。Strands、LangGraph、CrewAI を含む対応するフレームワークでは、自動的にフレームワークを検出し、適切なインストルメンテーション(instrumentation)を適用します。
現在のサポートマトリックスについては、Agent-EvalKit リポジトリをご覧ください。
- エージェントの実行 (/evalkit.run_agent) は、各テストケースに対してエージェントを実行し、ツール呼び出しの完全な履歴、モデルからの応答、中間状態を記録した構造化されたトレースファイルを各実行ごとに生成します。
- 評価 (/evalkit.eval) は、計画に記載された指標を実行可能な評価コードとして実装し、収集されたトレースに対してそれを実行して構造化された結果を保存します。DeepEval や Strands Evals SDK などの評価ライブラリをサポートしており、エージェントと指標に最も適したアプローチを選択します。
- レポート (/evalkit.report) は、テストケース全体のパターンを分析し、エージェントのコード内の特定の場所を参照しながら優先順位付けされた推奨事項を生成します。各推奨事項には期待される影響が含まれており、これにより改善努力が最も効果的な場所に集中できるようになります。
これらのフェーズを通じて、曖昧な品質に関する懸念は、テストケース、実行トレース、指標スコア、そしてコード内の特定の場所とすべて結びついた優先順位付けされた推奨事項という構造化された証拠の集合体へと変換されます。
デモンストレーション研究:旅行調査エージェントの評価
Strands Agents SDK と Amazon Bedrock を活用して構築した旅行調査エージェントの開発中に、同エージェントが回答において疑わしいほど正確な数値を提示するケースがあることに気づきました。このエージェントは、ウェブ検索、フライト情報、気象データ、通貨換算、予算計算などのツールを使用してユーザーの旅行計画をサポートしますが、精度に関する問題がどの程度広範囲にわたるものか、またどのようなクエリで発生するかを特定することができませんでした。
Agent-EvalKit はエージェントのコードを分析し、Plan(計画)フェーズにおいて、3 つの指標に焦点を当てた集中的な評価を設計しました。Faithfulness(忠実度)は、回答がツールが実際に返したデータに基づいているかどうかを測定します。Tool Parameter Accuracy(ツールパラメータ精度)は、エージェントが正しい入力値でツールを呼び出したかを確認します。Response Quality(応答品質)は、出力がいかに一貫性があり有用であるかを評価します。その後、Data(データ)フェーズでは、目的地調査、季節のタイミング、 itinerry(旅程)構築、比較質問、予算計算を網羅する 100 の多ターンテストセッションを生成し、その後のフェーズで各セッションを実行しながら詳細な実行トレースをキャプチャしました。

結果は、品質と信頼性の間に明確な隔たりがあることを露呈しました。応答の質(Response Quality)は 83.9% と評価され、エージェントが明確で実行可能な旅行アドバイスを提供していることが確認されました。また、ツールパラメータ精度(Tool Parameter Accuracy)は 64.5% に達し、エージェントが一般的に適切なツールを選択している一方で、不正確なパラメータを渡す場合もあることが示されました。忠実度(Faithfulness)はわずか 32.3% と低く、ウェブ検索ツールの結果が空または不完全だった際に、エージェントが為替レートや気温、観光地の詳細などを捏造し、それらをあたかもツールからの情報であるかのように提示していたことが明らかになりました。
以下の図は、このハルシネーション(幻覚)パターンが単一の実行内でどのように現れるかを示しています。ここでは、エージェントが空のツール応答を受け取り、捏造されたデータをあたかもツールからの情報であるかのように提示する様子が描かれています。

レポートでは、ハルシネーションを防ぐガードレール(安全装置)の強化が最優先課題として特定され、ツールから空の結果が返された際にその旨を明記するシステムプロンプト指示や、すべてのコードパスにおけるツールのエラーハンドリングの改善が推奨されました。Agent-EvalKit を実行する前には、エージェントが時折不信頼性があるように見えることは知っていましたが、実行後には、ハルシネーションを引き起こす根本原因が空のツール出力であること、そしてそれに対処するための具体的なコード変更が必要であることを把握しました。
手順解説
以下のセクションでは、Agent-EvalKit の前提条件、ツールのインストール方法、および対象のエージェントに対するエンドツーエンドの評価の実行方法を順を追って説明します。
前提条件
Agent-EvalKit を用いた評価を実行するには、基盤モデルの推論のためのクラウドアクセスと、評価ワークフローのためのローカルツールが必要です。
- Amazon Bedrock コンソールで基盤モデルが有効化されたアクティブな AWS アカウント。Agent-EvalKit はスコアリングに基盤モデルを必要とする LLM-as-judge(LLM を判定者として用いる)指標を使用するため、続行する前に Model access ページで利用可能なモデルを確認してください。
- Python 3.11 以降と Git。
- uv パッケージマネージャー。macOS および Linux では、curl -LsSf https://astral.sh/uv/install.sh | sh を実行してインストールします。
- 機械にインストールおよび設定された対応する AI コーディングアシスタント(Claude Code、Kiro CLI、または Kilo Code)。本記事の例では Claude Code を使用していますが、ワークフローはこれら 3 つすべてに適用されます。インストール手順については、各アシスタントのドキュメントを参照してください。
はじめに
uv を使用してツールキットをインストールします。これは Agent-EvalKit の GitHub リポジトリから直接取得します。
uv tool install evalkit --from git+https://github.com/awslabs/Agent-EvalKit.git評価プロジェクトを初期化し、エージェントのコードをプロジェクトディレクトリにコピーします。エージェントディレクトリには、ソースコード、ツール定義、およびエージェントを実行するために必要な設定が含まれている必要があります。対応するエージェントフレームワークとプロジェクト構造の詳細については、Agent-EvalKit リポジトリを参照してください。
evalkit init my-agent-evaluation
cd my-agent-evaluation
cp -r /path/to/your/agent .評価プロジェクト内で AI アシスタントを起動してください。Claude Code の場合は、claude コマンドを実行します。
claude
ガイド付きの最初の評価には、quick コマンドを使用すると、6 つのフェーズすべてを段階的に案内し、各フェーズが何を行うか、次にどのコマンドを実行すべきかを説明します。
/evalkit.quick
/evalkit.quick Evaluate my agent at ./my_agent for response quality and tool accuracy
より細かな制御が必要な場合は、各フェーズを個別に実行してください。
/evalkit.plan
/evalkit.plan Evaluate my agent at ./my_agent for response quality and tool accuracy
/evalkit.data
/evalkit.trace
/evalkit.run_agent
/evalkit.eval
/evalkit.report
以下の動画では、コード分析から最終評価レポートに至るまでの 6 つのフェーズ全体にわたり、Web 検索およびプランニングツールを備えた旅行調査用エージェントを Agent-EvalKit が評価する完全なワークフローを紹介しています。
ベストプラクティス
エージェントの評価は、リリース前のチェックポイントとしてではなく、意味のある変更ごとに実行される場合に最も効果が発揮されます。以下に示す実践方法は、Agent-EvalKit を継続的な開発サイクルに組み込む際に最も有用であると私たちが発見したものです。
- 最初は範囲を狭くし、エージェントの最も重要な品質次元に焦点を当てるために 2 つまたは 3 つの指標に絞り込みます。初期の発見に対処し、ベースラインに対する信頼を得るにつれて、後の評価で対象範囲を広げていきます。
- ドメイン知識に基づいてガイドし、各フェーズで観察した特定の入力、エッジケース、および障害モードを記述してください。自然言語による指示がより具体的であればあるほど、生成されるテストケース、指標、推奨事項の関連性が高まります。
- 実行前にテストケースを見直してください。データフェーズでは評価計画からケースを合成しますが、実際のユーザー行動に関する理解は代替不可能です。本番環境で観察するパターンを反映したシナリオを追加してください。
- 重要な変更ごとに評価を実行して、早期に回帰を検出し、各改善の影響を測定します。エージェントのバージョン間でのレポートを比較することで進捗が可視化され、開発が最も価値の高い修正に集中し続けます。
- レポート内の影響度の高い項目から始めて、推奨事項を段階的に対応してください。修正を実装し、改善を確認するために再評価を行い、次に発見された課題へと移ります。
- 既存のテストケースと計測機能を再利用しながら、個別のフェーズを再呼び出して新しい品質次元を探求することで、過去の評価に基づいて進めます。忠実性に焦点を当てた初期の評価に続き、データ再生成やエージェントへの計測機能の再設定を行わずに、ツールの精度についてより深い検証を行うことができます。
- Amazon Bedrock AgentCore Observability を使用して本番トラフィックからのトレースを取得し、AgentCore Evaluation でそれらのトレースに対して品質指標を実行することで、本番環境でエージェントを継続的に監視します。本番モニタリングは、デプロイ前の評価では予測できない回帰や新しい障害モードを浮き彫りにします。
- 定期的に LLM-as-judge のスコアと専門家の判断または人間の注釈者の判断を比較することで、評価者を人間専門家と整合させます。両者が乖離した場合は評価者用プロンプトを更新し、自動化された指標がユーザーにとって重要な品質次元を反映し続けるようにしてください。
CI/CD との統合
自動化を準備しているチーム向けに、以下の図は Agent-EvalKit が継続的インテグレーションおよび継続的デリバリー(CI/CD)パイプラインにどのように統合されるかを示しています。コード変更が評価トリガーとなり、品質ゲートがメトリクス閾値と回帰をチェックし、失敗した場合は評価レポート内でフラグ付き項目としてルートされます。

パイプラインが設置されると、各テストラウンドは前回のラウンドからテストケースと計測(インストルメンテーション)を再利用するため、プロジェクトが成熟するにつれて新規評価を実行するコストは低下します。
クリーンアップ
追従のために評価プロジェクトを作成した場合は、完了後にプロジェクトディレクトリを削除してください。評価で Amazon Bedrock を通じて基盤モデル(Foundation Models)を使用した場合は、AWS Management Console の Amazon Bedrock 価格ページで利用状況を確認し、関連するコストを理解してください。
結論
Agent-EvalKit は、コード記述に既に使用している同じ AI アシスタントへ、評価設計からメトリクス計算、レポート作成に至るまでの各ステップを委譲することで、AI エージェントの評価に体系的な形を与えます。旅行調査エージェントのケーススタディは、これが実践においてどのように見えるかを示しました。これは、漠然とした品質への懸念を、特定の行における具体的な修正と、期待される影響を伴うものへと変換するものです。
エージェントが高リスクかつ広範囲のタスクを引き受けるようになると、出力チェックを超えた評価が生産環境への適合性の前提条件となります。Agent-EvalKit は設計上
原文を表示
Teams building AI agents typically evaluate them the way they evaluate any other software: by checking whether the output matches expectations. But agents that autonomously choose tools and sequence operations across multiple sources produce behavior that output-level testing cannot fully characterize.
An agent might deliver a well-structured, actionable response while hallucinating, fabricating facts because its tools returned empty results. It might also reach the correct conclusion while skipping the verification steps that a reliable process requires. Because these failures sit below the surface of the final response, catching them requires evaluation that traces the agent’s full execution path: which tools the agent called, what data those tools returned, and whether the response faithfully reflects that data.
Closing this gap requires infrastructure that most agent teams are not staffed to build from scratch. You need test cases with ground truth outcomes, observability instrumentation for capturing tool calls and intermediate state, and metrics that assess faithfulness and tool usage alongside surface accuracy.
Agent-EvalKit is an open-source toolkit (Apache 2.0) that makes this evaluation infrastructure available by integrating with AI coding assistants, including Claude Code, Kiro CLI, and Kilo Code. It brings the entire workflow into your development environment instead of treating evaluation as a separate post-deployment effort. You describe your evaluation goals in natural language, and the toolkit handles each phase, from reading your agent’s source code and generating targeted test cases through running evaluations and producing a report with improvement recommendations that reference specific locations in your code base. The sections that follow walk through how Agent-EvalKit works across its six evaluation phases, using a travel research agent built with the Strands Agents SDK and Amazon Bedrock as a running example.
What agent evaluation requires
Beyond the infrastructure itself, choosing what to measure is equally demanding. Agent quality spans dimensions that no single metric captures: whether responses are grounded in what the tools actually returned, whether the agent called the right tools with the right parameters, and whether the final output is coherent and useful to the person asking. A response can read well while quietly hallucinating over empty tool results, and an agent can arrive at a plausible answer through a broken sequence of tool calls, so each dimension has to be checked on its own rather than inferred from the one next to it.
No single evaluator style handles all three well. Code-based evaluators offer fast, reproducible results but penalize valid variations in approach. Large language model (LLM) as judge evaluators provide nuanced assessment at the cost of additional inference and careful prompt design. Most effective evaluation strategies combine both approaches. Translating evaluation scores into concrete code changes is where many efforts ultimately stall, which is why an evaluation workflow needs to end in specific, code-level recommendations rather than a dashboard of numbers.
How Agent-EvalKit works
Agent-EvalKit works through your existing AI coding assistant instead of running as a separate evaluation platform. Your assistant, whether Claude Code, Kiro CLI, or Kilo Code, becomes the evaluation engine by applying its ability to read code and reason about agent behavior at each phase of the evaluation process. You drive this workflow through slash commands like /evalkit.plan and /evalkit.data, appending natural language guidance that tells the assistant what quality dimensions matter most for your agent. This design keeps evaluation inside your development environment, so the same assistant that helps you build your agent also helps you evaluate it.
The process starts with your agent’s source code, where the assistant reads tool definitions, the system prompt, and framework configuration to build a detailed model of what your agent does, which tools it can call, and where its behavior might break down. Every artifact the toolkit produces in subsequent phases, from the evaluation plan through the final report, builds on this code-level understanding.
From that foundation, the assistant designs a personalized evaluation plan with metrics targeted to your agent’s capabilities and risk areas, then works through subsequent phases to generate test cases, instrument your agent with OpenTelemetry-compatible tracing, run each test case while collecting structured traces, and evaluate the results against your criteria. The process culminates in a report whose prioritized recommendations reference specific locations in your code, connecting evaluation findings directly to actionable fixes. If you direct the system to focus on hallucinations triggered by empty tool results, for example, that guidance shapes test case generation, metric selection, and the patterns the report ultimately highlights.
The following diagram illustrates this flow from test cases through metric evaluation.

The toolkit organizes this work into six phases, each producing artifacts in the eval/directory that feed into the next phase. You invoke each phase through your AI assistant as a slash command, and the text after the command serves as your natural language guidance for that phase. Once the initial artifacts are in place, you can re-invoke any phase with different guidance to shift focus or deepen the analysis without rebuilding from scratch.

These six phases cover the full evaluation lifecycle, from understanding your agent’s capabilities through recommending specific code improvements.
- Plan (/evalkit.plan) reads your agent’s code to understand its tools and framework, then produces an evaluation plan pairing every metric with a concrete evaluation method. Your guidance shapes which quality dimensions the plan prioritizes, and those priorities carry through to working evaluation code in later phases.
- Data (/evalkit.data) generates test cases grounded in the evaluation plan, each with inputs and expected outcomes targeting the specific behaviors and failure modes your agent needs to handle. If you already have test data from production logs or manual testing, you can point this phase at your existing dataset instead.
- Trace (/evalkit.trace) makes the full execution path visible by adding OpenTelemetry-compatible tracing to your agent. For supported frameworks, including Strands, LangGraph, and CrewAI, it detects the framework and applies the appropriate instrumentation. See the Agent-EvalKit repository for the current support matrix.
- Run agent (/evalkit.run_agent) executes your agent against each test case, producing a structured trace file for every run that captures the full history of tool calls, model responses, and intermediate state.
- Eval (/evalkit.eval) implements the metrics from your plan as executable evaluation code, runs it against the collected traces, and saves structured results. It supports evaluation libraries including DeepEval and the Strands Evals SDK, selecting the approach that best fits your agent and metrics.
- Report (/evalkit.report) analyzes patterns across test cases and generates prioritized recommendations that reference specific locations in your agent’s code, with each recommendation including its expected impact so you can direct improvement effort where it will make the most difference.
Across these phases, vague quality concerns become a structured body of evidence: test cases, execution traces, metric scores, and prioritized recommendations that all tie back to specific locations in your code.
Demonstration study: evaluating a travel research agent
During development of a travel research agent built with the Strands Agents SDK and Amazon Bedrock, we noticed the agent sometimes provided suspiciously precise numbers in its responses. The agent helps users plan trips using tools for web search, flight information, climate data, currency conversion, and budget calculation, but we could not determine how widespread the precision issue was or which queries triggered it.
Agent-EvalKit analyzed the agent’s code and, during the Plan phase, designed a focused evaluation around three metrics: Faithfulness measures whether responses are grounded in data the tools actually returned, Tool Parameter Accuracy checks whether the agent called tools with correct inputs, and Response Quality assesses how coherent and useful the output is. The Data phase then generated 100 multi-turn test sessions covering destination research, seasonal timing, itinerary building, comparison questions, and budget calculation, and subsequent phases ran each session while capturing detailed execution traces.

The results exposed a clear divide between quality and reliability. Response Quality scored 83.9%, confirming that the agent produced clear, actionable travel advice, and Tool Parameter Accuracy reached 64.5%, showing the agent generally selected the right tools but sometimes passed imprecise parameters. Faithfulness scored only 32.3%, revealing that the agent was fabricating exchange rates, temperatures, and attraction details whenever its web search tools returned empty or incomplete results and presenting these inventions as if they came from its tools.
The following diagram shows what this hallucination pattern looks like inside a single execution, where the agent receives an empty tool response and presents fabricated data as if it came from its tools.

The report identified hallucination guardrails as the highest priority fix, recommending system prompt instructions to disclose when tools return empty results and improvements to tool error handling across all code paths. Before running Agent-EvalKit, we knew the agent sometimes seemed unreliable. Afterward, we knew the root cause was empty tool outputs triggering hallucination and had specific code changes to address it.
Walkthrough
The following sections walk you through the prerequisites for Agent-EvalKit, install the toolkit, and run an end-to-end evaluation against your agent.
Prerequisites
Running an Agent-EvalKit evaluation requires cloud access for foundation model inference and local tooling for the evaluation workflow.
- An active AWS account with foundation models enabled in the Amazon Bedrock console. Agent-EvalKit uses LLM-as-judge metrics that require a foundation model for scoring, so confirm your models are available on the Model access page before proceeding.
- Python 3.11 or later and Git.
- The uv package manager. On macOS and Linux, install it with curl -LsSf https://astral.sh/uv/install.sh | sh.
- A supported AI coding assistant (Claude Code, Kiro CLI, or Kilo Code) installed and configured on your machine. The examples in this post use Claude Code, but the workflow applies to all three. Refer to each assistant’s documentation for installation instructions.
Get started
Install the toolkit using uv, which pulls directly from the Agent-EvalKit GitHub repository.
uv tool install evalkit --from git+https://github.com/awslabs/Agent-EvalKit.gitInitialize an evaluation project and copy your agent code into the project directory. Your agent directory should contain the source code, tool definitions, and any configuration needed to run the agent. For details on supported agent frameworks and project structures, see the Agent-EvalKit repository.
evalkit init my-agent-evaluation
cd my-agent-evaluation
cp -r /path/to/your/agent .Start your AI assistant from within the evaluation project. For Claude Code, run the claude command.
claudeFor a guided first evaluation, the quick command walks you through all six phases step by step, explaining what each phase does and which command to run next.
/evalkit.quick
/evalkit.quick Evaluate my agent at ./my_agent for response quality and tool accuracyFor more control, run each phase individually.
/evalkit.plan
/evalkit.plan Evaluate my agent at ./my_agent for response quality and tool accuracy
/evalkit.data
/evalkit.trace
/evalkit.run_agent
/evalkit.eval
/evalkit.reportThe following video walks through the full workflow, with Agent-EvalKit evaluating a travel research agent equipped with web search and planning tools across all six phases from code analysis to a final evaluation report.
Best practices
Agent evaluation pays off most when it runs on every meaningful change rather than as a pre-release checkpoint. The practices that follow reflect what we have found most useful when folding Agent-EvalKit into an ongoing development cycle.
- Start narrow and focus on two or three metrics that target your agent’s most critical quality dimensions and expand the scope in later evaluations as you address initial findings and gain confidence in your baseline.
- Guide with domain knowledge and describe the specific inputs, edge cases, and failure modes you have observed in each phase. The more targeted your natural language instructions, the more relevant the generated test cases, metrics, and recommendations.
- Review test cases before execution because the data phase synthesizes cases from the evaluation plan, but your understanding of real user behavior is irreplaceable. Add scenarios that reflect patterns you observe in production.
- Evaluate after each significant change to catch regressions early and measure the impact of each improvement. Comparing reports across agent versions makes progress visible and keeps development focused on the highest-value fixes.
- Address recommendations incrementally by starting with the highest-impact item in the report. Implement the fix, re-evaluate to confirm the improvement, and then move on to the next finding.
- Build on previous evaluations by re-invoking individual phases to explore new quality dimensions while reusing existing test cases and instrumentation. An initial evaluation focused on faithfulness can be followed by a deeper pass on tool accuracy without regenerating data or re-instrumenting your agent.
- Monitor your agent continuously in production by capturing traces from real traffic with Amazon Bedrock AgentCore Observability and running quality metrics against those traces with AgentCore Evaluation. Production monitoring surfaces regressions and new failure modes that pre-deployment evaluation cannot anticipate.
- Keep your evaluators aligned with human experts by periodically comparing LLM-as-judge scores against judgments from your subject matter experts or human annotators. Update evaluator prompts when the two drift apart so that your automated metrics continue to reflect the quality dimensions that matter to your users.
Integrate with CI/CD
For teams ready to automate, the following diagram shows how Agent-EvalKit integrates into a continuous integration and continuous delivery (CI/CD) pipeline where code changes trigger evaluations, a quality gate checks metric thresholds and regressions, and failures route back as flagged items in the evaluation report.

Once the pipeline is in place, each round of testing reuses the test cases and instrumentation from the previous round, so the cost of running a fresh evaluation drops as the project matures.
Clean up
If you created an evaluation project to follow along, delete the project directory when finished. If your evaluation used foundation models through Amazon Bedrock, review your usage on the Amazon Bedrock pricing page on the AWS Management Console to understand any associated costs.
Conclusion
Agent-EvalKit gives AI agent evaluation a systematic shape by delegating each step, from evaluation design through metric computation and reporting, to the same AI assistant you already use to write code. The travel research agent case study showed what that looks like in practice, turning a diffuse quality concern into a specific fix at a specific line with an expected impact attached.
As agents take on tasks with higher stakes and wider reach, evaluation that goes beyond output checking becomes a prerequisite for production readiness. Agent-EvalKit is designed
関連記事
フロンティアチームが再構築する AI ネイティブな開発手法
AWS のブログ記事は、Amazon Bedrock チームが AI を単なるコーディングの簡略化ツールではなく開発基盤と位置付けた結果、生産性が最大 10 倍以上向上した事例を紹介している。
AI エージェントに適切なサンドボックスを選ぶ方法
LangChain は、AI エージェントの安全性と効率を確保するために、利用目的やリスクに応じて最適なサンドボックス環境を選択する基準を解説している。
最も賢い AI でも不十分な場合、ベンチリングがエージェントを構築する方法
R&D データプラットフォーム「ベンチリング」の AI 責任者ニコラス・ララスストーン氏が、生命科学分野向けに多モデルアーキテクチャや検証可能なタスク戦略を用いて AI エージェントを構築する複雑さを解説した。
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み