@shinyaz

Bedrock Guardrails 発動時にユーザー入力が自動で書き換えられる

Strands Agents SDK に Bedrock Guardrails を設定してブロックされるリクエストを送ったところ、会話履歴のユーザー入力が消えていた。「入力したはずの文章がない」と思ってデバッグしたら、こうなっていた。

Output
Messages after block: 2
  [0] user      : [User input redacted.]
  [1] assistant : Sorry, this request was blocked by guardrails.

元の入力(「What stocks should I buy?」)が [User input redacted.] に自動書き換えされている。これは後続の会話で同じ入力がガードレールに再度引っかかるのを防ぐための仕組みだった。

この動作は BedrockModelguardrail_redact_input パラメータ(デフォルト True)で制御できる。書き換えメッセージは guardrail_redact_input_message で変更可能。出力側にも同様の guardrail_redact_output(デフォルト False)がある。

会話履歴をデバッグしていて「ユーザーの入力が消えている」と思ったら、ガードレールの自動書き換えを疑うとよい。guardrail_redact_input=False に設定すれば元の入力が保持されるが、後続の会話でガードレールが再発動するリスクがある。

共有する

田原 慎也

田原 慎也

ソリューションアーキテクト @ AWS

AWS ソリューションアーキテクトとして金融業界のお客様を中心に技術支援をしており、クラウドアーキテクチャや AI/ML に関する学びをこのサイトで発信しています。このサイトの内容は個人の見解であり、所属企業の公式な意見や見解を代表するものではありません。