AIエージェントへ複数のツールを渡すと、1回の操作だけを見て許可する方式では足りません。顧客を調べてから送金する、金額が大きければ人が承認する、一定回数を超えたら止める。安全性は、操作同士のつながりまで見て初めて判断できます。
AWSは2026年8月6日、Amazon Bedrock AgentCoreに時系列ポリシーとGatewayのレート制限を追加しました。この記事では機能紹介で終わらせず、個人開発や小規模チームでも使える4つの運用境界へ置き換えます。
先に結論
本番のAIエージェントには、次の4つをエージェント本体の外側で強制します。
1. 危険な操作の前に必要な確認を通したか
2. 前のツールが返した値を改変していないか
3. 高額・削除・公開操作を人が承認したか
4. 回数、同時接続、トークン、累計金額が上限内か
プロンプトに「慎重に操作して」と書くだけでは、拒否を保証できません。AWS公式ブログでは、時系列ポリシーをAgentCore Gatewayで評価し、エージェントのコードや推論から独立させています。レート制限も同じGatewayで適用し、下流のツールやモデルへ届く前に止めます。
今回はAWS環境へ実装したとは断定しません。公開された公式仕様を照合し、導入前のテスト項目まで具体化しました。
1. 操作の順序を固定する
最初の境界は「何をしたか」ではなく「何をした後か」です。例えば返金エージェントなら、注文確認、返金可否の判定、返金実行の順序を守らせます。返金ツール単体に権限があっても、直前に注文を確認していなければ拒否します。
AWSの時系列ポリシーは、セッション内の行動履歴をtrajectoryとして扱います。Gatewayが現在の要求と過去の操作を照合するため、エージェント自身が履歴ストアやポリシーを変更できない設計です。
小規模な実装でも、次の状態をサーバー側へ持たせます。
- セッションIDと利用者ID
- 実行したツール名と時刻
- 成功、失敗、拒否の結果
- 次に許可できる操作
- 確認結果の有効期限
「確認済み」は永続的な権限にしません。価格や在庫など変化する情報は、確認から5分など有効期限を決め、期限切れなら再確認させます。
2. 前の結果を次の入力へ引き継ぐ
AIエージェントは、前のツール出力を要約するときに値を取り違える可能性があります。顧客番号、送金先、ファイルパス、公開先URLは、自然言語の記憶に任せず機械的に照合します。
AWS公式ブログでは、先行ツールの出力と現在の引数が一致することをポリシーで要求する例が示されています。この考え方なら、顧客検索で返ったIDと異なるIDを送金ツールへ渡した場合に拒否できます。
実装時は、重要な値を次のように扱います。
1. 先行ツールの結果からIDを構造化データとして保存する
2. 次のツール要求に含まれるIDと完全一致で比較する
3. 不一致なら自動修正せず、拒否理由を記録する
4. 再試行時は先行ツールからやり直す
ファイル操作なら、検索結果の絶対パスをそのままエージェントへ返すのではなく、許可領域内のリソースIDへ変換する方が安全です。ローカルツールをつなぐ場合の情報最小化は、クラウドAIとPCをつなぐ6つの安全策でも整理しています。
3. 人の承認を行動履歴に残す
承認ボタンを表示しただけでは不十分です。誰が、何を、いつ承認したかを、実行要求と結び付けます。
次の操作は人の承認対象にします。
- 外部への送金、購入、返金
- 公開記事や本番設定の変更
- ファイル、ユーザー、データベースの削除
- 秘密情報を含む可能性があるデータ送信
- 累計金額や件数が通常範囲を超える処理
承認イベントには、利用者、対象、金額または変更内容、期限、要求IDを含めます。承認後に金額や対象が変わった場合は、同じ承認を使い回さず再承認させます。
認証と承認は別物です。利用者がログイン済みでも、危険な操作を毎回許可する理由にはなりません。短期認証と権限分離はAIエージェント認証、APIキーを減らす設計を参照してください。
4. 回数と費用に上限を置く
正しい順序で動くエージェントでも、ループすれば費用と負荷が増えます。AWSのAgentCore Gatewayのレート制限では、OAuthのclaimまたはIAM identityを基準に、利用者単位で要求数、同時接続、トークン流量を制御できます。
上限は1種類ではなく、時間軸を分けます。
| 境界 | 例 | 防ぐこと |
|—|—:|—|
| 1分 | 20要求 | 短時間の暴走 |
| 同時 | 2接続 | 重複実行と下流の枯渇 |
| 1セッション | 30,000トークン | 長いループ |
| 1日 | 1,000円相当 | 気付きにくい累積費用 |
| 高リスク操作 | 3回 | 連続した購入や削除 |
数値は固定の推奨値ではありません。通常時の実測を取り、警告値と拒否値を分けます。拒否した要求を無限再試行しないよう、エージェントへ終了理由も返します。
速度、失敗、トークン量の計測方法はAIエージェントが遅い時に見る5項目につながります。
30分で作る拒否テスト
導入前に、正常系より先に次の拒否を確認します。
1. 確認ツールを飛ばして実行ツールを呼ぶ
2. 前のツールが返したIDを1文字変える
3. 承認後に金額または公開先を変える
4. 同じ要求IDを連続送信する
5. 1分上限と1日上限を意図的に超える
6. 拒否後にエージェントが自動再試行し続けないか見る
合格条件は、危険な要求が実行されず、拒否理由、利用者、セッション、要求IDがログから追えることです。本文やトークンなどの秘密値を監査ログへ残さない点も確認します。
今日から行う3つの作業
1. 現在のAI自動化から、金銭・削除・公開に関わる操作を1つ選ぶ
2. その操作の前提手順、引き継ぐ値、承認者、上限を1枚に書く
3. 順序違反、値の改変、上限超過を再現し、すべて拒否されるか試す
最初から全ツールへ適用する必要はありません。最も事故の影響が大きい1操作で拒否テストを通し、同じ型を横展開します。
まとめ
AIエージェントの安全性は、1回の権限確認だけでは作れません。操作順序、値の一貫性、人の承認、利用上限を行動履歴と結び付け、エージェントの外側で強制する必要があります。
AgentCore固有の機能を使わない場合でも、この4境界はAPI Gateway、ワークフローエンジン、監査ストアで再現できます。まず危険な1操作を選び、「正しく動いた」ではなく「間違った動きを拒否できた」で本番可否を判断してください。
関連記事
著者情報
しろのあ。AIとCodexを使ったWordPress、note、アプリ制作、ゲームサーバー運用の自動化を実践し、確認できた手順と判断材料を記録しています。
出典
1. Securing AI agents with temporal policies in Amazon Bedrock AgentCore / AWS Machine Learning Blog
2. Configure rate limits for AI traffic on AgentCore gateway / AWS Machine Learning Blog
3. Control agent behaviors and cost beyond a single action / AWS Machine Learning Blog

ChatGPT広告、日本開始で広告主がやる3つ
生成AIの推論GPUを勘で選ばない
強いAIを防御業務に入れる5つの条件