1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【AWS】AgentCore Optimization Preview を解説:AIエージェント改善が「勘」から「品質改善ループ」になる

1
Posted at

【AWS】AgentCore Optimization Preview を解説:AIエージェント改善が「勘」から「品質改善ループ」になる

はじめに

2026年5月4日、AWSから Amazon Bedrock AgentCore の新機能として AgentCore Optimization が Preview 公開されました。

元記事はこちらです。

  • Introducing agent quality optimization in AgentCore, now in preview

ざっくり言うと、これは AIエージェントの品質改善を継続的に回すための仕組み です。

AIエージェントは、最初に動いたときは良くても、時間が経つと少しずつ品質が落ちることがあります。

例えば、

  • モデルを変更した
  • ユーザーの質問傾向が変わった
  • プロンプトを別の用途に使い回した
  • ツールが増えて、ツール選択を間違えるようになった
  • 一部の会話パターンだけ失敗するようになった

といった感じです。

これまでは、こうした問題が起きると、

  1. ユーザーから不満が来る
  2. 開発者がトレースを読む
  3. なんとなく原因を推測する
  4. プロンプトを修正する
  5. 数件だけ試して本番反映する

という流れになりがちでした。

ただ、このやり方だと 修正したつもりが別のケースで壊れる ことがあります。

AgentCore Optimization は、この改善作業をもう少しちゃんと仕組み化するための機能です。


結論

AgentCore Optimization は、以下のようなループを回すための機能です。

一言でまとめると、

本番トレースをもとに改善案を作り、オフライン評価とA/Bテストで確認してから反映する

という仕組みです。

個人的には、これは単なる「プロンプト改善機能」というより、AIエージェント版の継続的品質改善基盤 と見るのがよさそうです。


AgentCore Optimization でできること

主に以下の機能が追加されています。

機能 役割
Recommendations 本番トレースを分析して、プロンプトやツール説明の改善案を出す
Batch Evaluation 既知のテストデータで改善案を評価する
A/B Testing 本番トラフィックを分割して、新旧バージョンを比較する
Configuration Bundles プロンプト、モデルID、ツール説明などの構成をバージョン管理する

順番に見ていきます。


Recommendations:本番トレースから改善案を作る

Recommendations は、AgentCore のトレースや評価結果をもとに、エージェント設定の改善案を生成する機能です。

対象になるのは主に以下です。

  • System Prompt
  • Tool Description

例えば、エージェントがツール選択をよく間違えている場合、Recommendations はツールの説明文を改善する提案を出してくれます。

ここで重要なのは、ツールの実装自体を変更するわけではない という点です。

ツール説明の改善では、あくまでツールの description をより分かりやすくすることで、エージェントが正しいツールを選びやすくするイメージです。

例えば、以下のようなツールがあったとします。

search_news:
  ニュースを検索する

これだと、株価ニュース、業界ニュース、企業ニュース、一般ニュースのどれに使えばよいか曖昧です。

改善後は、例えば以下のようになるかもしれません。

search_news:
  指定された企業、業界、または市場テーマに関する最新ニュースを検索する。
  株価、決算、セクター動向など、投資判断に関係するニュース調査に使用する。

かなり地味ですが、こういう説明の差でエージェントのツール選択精度は変わります。

特にツールが増えてくると、description の品質はかなり重要になりそうです。


Batch Evaluation:既知のケースで回帰テストする

Recommendations で改善案が出たとしても、そのまま本番反映するのは怖いです。

そこで使うのが Batch Evaluation です。

Batch Evaluation では、事前に用意したテストデータや会話シナリオに対してエージェントを実行し、改善前後のスコアを比較します。

例えば、

  • ゴール達成率
  • ツール選択精度
  • 回答の有用性
  • 安全性
  • 独自の LLM-as-a-Judge 評価

などを使って確認できます。

イメージとしては、AIエージェントに対する 回帰テスト です。

ここで既知の重要ケースをちゃんとテストしておくと、
「あるユーザーには良くなったけど、別のユースケースでは壊れた」
という事故を減らせます。


A/B Testing:本番トラフィックで統計的に検証する

Batch Evaluation は大事ですが、テストデータだけでは実際のユーザー行動を完全には再現できません。

そこで最後に使うのが A/B Testing です。

AgentCore Gateway を使って、本番トラフィックを以下のように分割します。

A/Bテストでは、現在のバージョンを Control、改善版を Treatment として比較します。

評価結果には、平均スコアだけでなく、信頼区間や p-value なども含まれるため、
「なんとなく良さそう」ではなく、統計的に改善しているか を確認できます。

これはかなり実運用向きですね。


Configuration Bundles:構成をコードから分離する

AgentCore Optimization では、Configuration Bundles も重要です。

Configuration Bundle は、以下のようなエージェント設定をまとめた、バージョン付きのスナップショットです。

  • System Prompt
  • Model ID
  • Tool Descriptions
  • その他、実行時に読み込む設定値

ポイントは、エージェントの振る舞いをコードデプロイなしで変更できる ことです。

例えば、プロンプトだけを変えたい場合、アプリケーションコードを再デプロイするのではなく、Configuration Bundle のバージョンを切り替えることで対応できます。

プロンプトやツール説明の変更は Configuration Bundle で管理し、
コード変更を伴う場合は別の Runtime Endpoint を使う、という整理になりそうです。


具体的な改善ループのイメージ

例えば、社内FAQエージェントを運用しているとします。

最近、以下のような問題が出てきました。

  • ユーザーの質問には回答しているが、微妙にズレている
  • 検索ツールを使うべき場面で使っていない
  • 逆に、不要な場面で検索ツールを呼び出している
  • 重要な問い合わせでゴール達成率が下がっている

この場合、AgentCore Optimization では以下のように進められます。

1. トレースと評価結果を確認する

AgentCore Observability で、本番エージェントのトレースを収集します。

ここでは、モデル呼び出し、ツール呼び出し、推論ステップなどが確認できます。

2. Recommendations を実行する

評価指標を指定して、改善案を生成します。

例えば、ゴール達成率を改善したい場合は、その evaluator を reward signal として指定します。

agentcore run recommendation \
  --type system-prompt \
  --run improve-faq-agent \
  --runtime FaqAgent \
  --evaluator Builtin.GoalSuccessRate \
  --inline "$(cat system_prompt.txt)" \
  --lookback 7

上記はイメージです。

過去7日分のトレースを見て、Goal Success Rate を改善する方向で system prompt の改善案を出す、という流れです。

3. Configuration Bundle として保存する

改善案をそのまま使うのではなく、まずは新しい Bundle Version として保存します。

faq-agent-config
  ├── v1: 現行設定
  └── v2: Recommendations による改善案

これにより、後から比較・ロールバックしやすくなります。

4. Batch Evaluation でテストする

社内FAQでよくある質問セットを使って、v1 と v2 を比較します。

ここで、既知の重要ケースが悪化していないかを確認します。

5. A/B Testing で本番検証する

Batch Evaluation を通過したら、本番トラフィックの一部だけを v2 に流します。

例えば、

  • v1: 90%
  • v2: 10%

のように始めて、結果が良ければ段階的に増やす、という運用ができます。

6. 勝ったバージョンを採用する

統計的に改善が確認できたら、v2 を新しいデフォルトにします。

その後、v2 の本番トレースがまた次の改善ループの材料になります。


これまでとの違い

従来の改善フローと比べると、かなり違いがあります。

観点 従来 AgentCore Optimization
原因調査 開発者が手動でトレースを見る トレースと評価結果をもとに改善案を生成
改善方法 勘でプロンプト修正 evaluator を指定して最適化
テスト 数件だけ手動確認 Batch Evaluation でまとめて評価
本番反映 いきなりデプロイしがち A/B Testing で段階的に検証
判断基準 感覚・少数ケース スコア、信頼区間、p-value
ロールバック 実装や設定次第 Bundle Version を戻せる

特に大きいのは、改善判断が 人間の勘だけではなく、評価スコア中心になる ことです。


どんなチームに向いていそうか

個人的には、以下のようなチームに向いていると思います。

  • すでに本番で AI エージェントを運用している
  • ユーザー数が多く、全ログを人力で見切れない
  • プロンプト改善のたびに品質劣化が怖い
  • ツール呼び出しを含む複雑なエージェントを作っている
  • LLM-as-a-Judge や評価基盤をちゃんと整備したい
  • CI/CD の中でエージェント品質をチェックしたい

逆に、PoC段階でまだ本番トレースがほとんどない場合は、いきなり大きな効果を感じにくいかもしれません。

この機能は、ある程度トレースや評価データが蓄積されてから強くなるタイプだと思います。


注意点

Preview なので、いくつか注意点があります。

1. APIや仕様は変わる可能性がある

AgentCore Optimization は Public Preview です。

正式リリース前に、APIや仕様が変わる可能性があります。

本番導入する場合は、ドキュメントの更新を追った方がよさそうです。

2. Recommendations はそのまま採用しない

Recommendations は LLM によって生成されます。

そのため、出てきた改善案をそのまま本番反映するのではなく、必ずレビューと評価を挟む必要があります。

この機能は「自動で完璧に直す」ものではなく、
改善候補を作って、検証を高速化する機能 と考えるのがよさそうです。

3. CloudTrail 未対応の制約がある

Preview 時点では、AgentCore Optimization の API コールは CloudTrail に出ないとされています。

監査証跡が必須のワークロードでは、この点に注意が必要です。

4. 前提となる構成がある

AgentCore Runtime、Observability、Evaluations などを使っていることが前提になります。

また、トレースが CloudWatch Logs に入っている必要があります。

つまり、単体の便利ツールというより、AgentCore の運用基盤に乗っているエージェント向けの機能です。


まとめ

AgentCore Optimization は、AIエージェントの品質改善を継続的に回すための Preview 機能です。

ポイントは以下です。

  • 本番トレースから Recommendations で改善案を作る
  • Batch Evaluation で既知ケースの回帰を確認する
  • A/B Testing で本番トラフィック上の改善を検証する
  • Configuration Bundles でプロンプトやモデル設定をバージョン管理する
  • 改善判断を「勘」から「評価スコアと統計」に寄せられる

AIエージェントは、作って終わりではなく、運用しながら品質を上げ続ける必要があります。

その意味で AgentCore Optimization は、エージェント開発における LLMOps / AgentOps 的な機能 としてかなり重要になりそうです。

特に、ツール呼び出しを多用する業務エージェントでは、今後かなり使われる機能になるかもしれません。

Preview 段階なのでまだ注意点はありますが、AgentCore で本番エージェントを運用している場合は、一度試してみる価値がありそうです。


参考

  • AWS Blog: Introducing agent quality optimization in AgentCore, now in preview
  • Amazon Bedrock AgentCore Developer Guide: AgentCore Optimization
  • Amazon Bedrock AgentCore Developer Guide: Recommendations
  • Amazon Bedrock AgentCore Developer Guide: Batch evaluation
  • Amazon Bedrock AgentCore Developer Guide: A/B testing
  • Amazon Bedrock AgentCore Developer Guide: Configuration bundles
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?