2
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?

Bedrock Guardrails のグラウンディングチェックに Standard ティアが来たので Classic と比べてみた

2
Posted at

はじめに

Amazon Bedrock Guardrails のコンテキストグラウンディングチェックに、新しく Standard ティアが追加されました。

スクリーンショット 2026-10-26 23.13.25.png

コンテキストグラウンディングチェックとは

モデルの回答が参照資料に基づいているかを採点し、ハルシネーションを止める機能です。

過去にこんな記事も書いていますので、よければ参考に

忙しい方に向けて AI で図解理解

Standardティアの進化と導入ポイント.png

アップデート概要

項目 Classic ティア(従来) Standard ティア(新規)
採点の考え方 資料にない情報は推論でも減点 推論・会話的な言い回しを含む回答に対応
言い回しの違い スコアがぶれやすい 同じ意味ならスコアが安定
言語 英語・フランス語・スペイン語 日本語を含む多言語
クロスリージョン推論 非対応 必須(ガードレールプロファイルの指定)
料金 同額 同額

やってみた

同じ設定で Classic と Standard のガードレールをサクッと 1 つずつ作り、ApplyGuardrail API(モデルを呼ばずにガードレールだけを当てる API)に同じ回答を流してスコアを比べます。

手順 1: ガードレールを 2 つ作る

違いは tierConfig と、Standard だけに必要な --cross-region-config です。

東京から使うプロファイルは apac.guardrail.v1:0 です(プロファイル一覧)。

今回はスコアを見たいので action を NONE(検出しても止めずに結果だけ返す)にしています。

export AWS_REGION=ap-northeast-1

CLASSIC_ID=$(aws bedrock create-guardrail --name grounding-classic \
  --blocked-input-messaging "blocked" --blocked-outputs-messaging "blocked" \
  --contextual-grounding-policy-config '{"filtersConfig":[{"type":"GROUNDING","threshold":0.7,"action":"NONE"},{"type":"RELEVANCE","threshold":0.7,"action":"NONE"}],"tierConfig":{"tierName":"CLASSIC"}}' \
  --query guardrailId --output text)

STANDARD_ID=$(aws bedrock create-guardrail --name grounding-standard \
  --blocked-input-messaging "blocked" --blocked-outputs-messaging "blocked" \
  --contextual-grounding-policy-config '{"filtersConfig":[{"type":"GROUNDING","threshold":0.7,"action":"NONE"},{"type":"RELEVANCE","threshold":0.7,"action":"NONE"}],"tierConfig":{"tierName":"STANDARD"}}' \
  --cross-region-config guardrailProfileIdentifier=apac.guardrail.v1:0 \
  --query guardrailId --output text)

echo "$CLASSIC_ID $STANDARD_ID"

手順 2: 同じ回答を両方に当てる

参照資料・質問・回答の 3 つを qualifiers で区別して渡す小さな関数を用意し、会話調で計算も含む正しい回答と、ハルシネーションを含む誤った回答の 2 つを当てます。

check() {
  jq -n --arg s "$1" --arg q "$2" --arg r "$3" \
    '[{text:{text:$s,qualifiers:["grounding_source"]}},{text:{text:$q,qualifiers:["query"]}},{text:{text:$r}}]' > content.json
  for id in "$CLASSIC_ID" "$STANDARD_ID"; do
    aws bedrock-runtime apply-guardrail --guardrail-identifier "$id" --guardrail-version DRAFT \
      --source OUTPUT --content file://content.json \
      --query 'assessments[0].contextualGroundingPolicy.filters[].[type,score]' --output text | paste - -
  done
}

SRC='普通預金口座の開設手数料は無料です。口座維持手数料は月額1,000円です。海外送金には1%の手数料がかかります。国内送金は無料です。'
Q='普通預金口座にはいくらかかりますか?'

check "$SRC" "$Q" 'ご質問ありがとうございます!口座の開設は無料で、維持には毎月1,000円かかります。1年間だと合計12,000円ですね。ほかにも気になる点があればお気軽にどうぞ。'
check "$SRC" "$Q" '口座の開設には3,000円かかり、維持手数料は月額500円です。'

それぞれ 1 行目が Classic、2 行目が Standard の結果です。

スクリーンショット 2026-10-26 23.19.14.png

前半の 2 行が正しい回答、後半の 2 行がハルシネーションを含む回答の結果です。

結果

閾値 0.7 で判定した結果がこちらです(左が Grounding / 右が Relevance)。

回答のタイプ Classic Standard
会話調 + 計算(正しい回答) 0.03 / 0.97 → 誤検知 0.6 / 1.0 → 誤検知
ハルシネーション(誤った回答) 0.0 / 0.99 0.0 / 0.4

正しい回答の Grounding スコアは Standard で 0.03 から 0.6 まで上がりましたが、しきい値 0.7 には届かず、どちらのティアでもブロック対象になりました。 誤った回答はどちらも Grounding 0.0 で捕まえていて、Standard は Relevance も 0.4 まで下げています。

後片付け

aws bedrock delete-guardrail --guardrail-identifier "$CLASSIC_ID"
aws bedrock delete-guardrail --guardrail-identifier "$STANDARD_ID"
rm -f content.json

注意点

  • 切り替え前にしきい値を試す: 同じ回答でもティアでスコアが変わります(今回は 0.03 → 0.6)
  • Standard でもスコアは揺れる: 同じ回答を別の回に試すと 1.0 になることもあり、しきい値付近では結果が変わります

まとめ

  • 会話調や計算を含む正しい回答でも、Standard は Classic よりかなり高いスコアを付けてくれます。ただし今回はしきい値 0.7 に届かなかったので、しきい値の調整はセットで考えた方が良さそうです
  • 料金は同じなので、日本語アプリでグラウンディングチェックを使うなら Standard を選んでおくのが良さそうです

参考リンク

2
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
2
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?