AI・生成AIの用語一覧へ
このページの目次
AI・生成AI上級図解あり

Guardrailsとは?

Guardrails

読み方:ガードレール

最終更新:2026/08/18

3秒でわかる

Guardrailsとは、AIエージェントの入力、出力、ツール実行を境界ごとに検査し、許可、修正、停止、人への確認などへ振り分ける制御です。

30秒図解

AIエージェントのGuardrailsは入力、出力、ツール実行の3つの境界へ別々に置き、依頼、回答、公開操作をそれぞれ検査する
Guardrailsは一度だけ通すフィルターではありません。入力、出力、ツール実行の各境界で、守る対象に合う検査を行います。

もう一歩わかる図解

公開操作を承認してから実行する流れ

AIエージェントが記事42の公開を提案すると、Guardrailsが引数と権限を検査し、人が対象と変更内容を承認した場合だけ公開ツールを実行する
記事42の公開は、引数と権限を自動検査したうえで人へ確認し、承認された一回だけを実行します。

Guardrailsの判定後に起こること

Guardrailsは検査結果に応じて安全な処理は続行し、修正可能な出力は直し、影響の大きい操作は承認待ちにし、許可できない操作は停止する
判定結果を二択にせず、続行、修正、承認待ち、停止の動作まで先に決めます。

Guardrailsをたとえると?

空港で、入口の持ち物確認、搭乗口の本人確認、滑走路へ入る直前の許可を別々に行う仕組みに似ています。

実際にはこう使います

ユーザー入力に秘密情報が含まれていれば、モデルへ渡す前に停止または伏せ字にする
最終回答が指定JSON Schemaに合わない場合、ユーザーへ返す前に修正または失敗として扱う
記事42を公開するツール呼び出しで、引数と権限を検査し、人の承認後だけ一回実行する

もう少し詳しく

AIシステムの入力、生成結果、ツール呼び出しをルールや検査器で評価し、許可、変換、遮断、承認待ちなどの動作へ接続する多層の制御です。

一つのフィルターではない

Guardrailsは、AIの前に一度だけ置く禁止語フィルターではありません。どこで失敗すると何が起きるかに合わせて、複数の境界へ制御を置きます。

入力では、依頼が対象業務に合うか、秘密情報や攻撃的な指示を含まないかを確認します。出力では、形式、根拠、個人情報、公開可能な内容かを確認します。ツール実行では、ツール名、引数、対象、利用者の権限、副作用を実行直前に確認します。

入力を通過しても、その後に作られたツール引数が安全とは限りません。最終出力が妥当でも、途中で不要な外部操作が行われていれば遅すぎます。入力、出力、実行時を別々に守るのはこのためです。

入力・出力・実行時の3層

主な確認判定後の動き
入力依頼の範囲、機密情報、明らかな攻撃続行、聞き直し、停止
出力形式、事実根拠、個人情報、公開条件返す、修正、保留
実行時ツール、引数、権限、対象、副作用実行、承認待ち、拒否


OpenAI Agents SDKの実装では、エージェントの入力と最終出力を検査するGuardrailsに加え、関数ツールの呼び出し前後を検査するTool Guardrailsがあります。どの境界へ適用されるかは製品やSDKで異なるため、名称だけでなく実行順序を確認します。

実行時制御はツールの直前に置く

LLMが返したツール名と引数は、提案として扱います。JSON Schemaに合っていても、記事IDが正しいか、利用者が公開権限を持つか、同じ処理を二重実行していないかまでは保証されません。

たとえば publish_article(article_id=42) が提案されたら、アプリ側でツールの許可リスト、引数、権限、現在の状態を検証します。戻しにくい公開操作なら人の承認を待ち、許可された一回だけを実行します。拒否やタイムアウトは失敗として記録し、別のツールへ勝手に置き換えません。

Human approvalとの関係

人の承認はGuardrailsの代わりではありません。自動検査は、大量の呼び出しへ同じ条件を適用するのが得意です。人は、文脈や影響が大きく機械判定だけでは決めにくい操作を確認します。

承認画面には、ツール名だけでなく、対象、主要な引数、起こる変更を表示します。承認後も、実行直前に権限と引数を再検証します。待機中に権限や対象データが変わる可能性があるためです。

設計するときの順番

1. 守る対象と、許可する操作を決める
2. 入力、出力、ツール実行のどこで検査するか決める
3. 許可、修正、停止、承認待ちの動作を決める
4. タイムアウト、回数上限、再試行、二重実行防止を決める
5. 判定理由と実行結果を監査できる形で残す
6. 正常例と失敗例を評価セットにして継続確認する

判定モデルだけに任せず、スキーマ検証、認可、許可リスト、サンドボックス、レート制限など、通常のソフトウェア制御と組み合わせます。

限界を前提にする

Guardrailsを入れても、AIエージェントが完全に安全になるわけではありません。入力の見逃し、誤判定、未知の攻撃、ツール側の不具合、設定ミスは残ります。また、厳しすぎる判定は正常な依頼まで止めます。

そのため「安全になった」と断定するのではなく、どのリスクをどの境界で減らすのかを記録します。検査を回避された場合も、最小権限、隔離、操作上限、監査ログによって影響を小さくします。

覚え方

Guardrailsは、AIを囲う一本の柵ではなく、入力、出力、実行の要所に置く複数の検問です。

メリット・注意点

メリット

  • 入力、出力、実行という異なる境界へ、それぞれ適した制御を置ける
  • 許可しない操作を実行前に止め、理由と判定結果を監査へ残せる
  • Human approval、最小権限、Sandboxなどと組み合わせて影響を小さくできる

注意点

  • 判定の見逃しと誤検知をなくすことはできず、継続的な評価と調整が必要になる
  • 並列実行では検査完了前にモデル処理やツール実行が始まる設計もある
  • Guardrailsだけではツールの脆弱性、過大な権限、設定ミスを解決できない

10秒理解度チェック

記事を外部公開するAIエージェントで適切な制御はどれ?

よくある質問

Guardrailsとは何ですか?

AIエージェントの入力、出力、ツール実行を検査し、許可、修正、停止、承認待ちなどへ振り分ける制御です。一つの機能名ではなく、複数の境界に置く仕組みの総称として使われます。

Guardrailsを入れればAIは安全になりますか?

完全な安全は保証できません。未知の入力、誤判定、設定ミス、ツール側の不具合は残ります。最小権限、隔離、操作上限、監視、評価と組み合わせてリスクを減らします。

入力Guardrailsと出力Guardrailsの違いは?

入力Guardrailsは依頼を処理へ渡す前に検査し、出力Guardrailsは生成された最終結果をユーザーへ返す前に検査します。適用される範囲や実行順序はSDKごとに確認が必要です。

Tool Guardrailsは何を確認しますか?

ツール呼び出しの前後で、ツール名、引数、権限、対象、副作用、結果などを確認します。引数の型だけでなく、利用者がその操作を行えるかも実行側で検証します。

Human approvalがあればGuardrailsは不要ですか?

不要にはなりません。自動検査は一貫した条件を毎回適用し、人は影響と文脈が大きい操作を判断します。承認後も実行直前の権限と引数を再検証します。

GuardrailsとSandboxの違いは?

Guardrailsは操作を検査して動作を振り分けます。Sandboxは実行環境を隔離して到達範囲を狭めます。判断を誤っても影響を抑えるため、両方を組み合わせます。

一次情報・内容確認

内容確認:2026/08/18 / ゆめさく編集部

次に学ぶ

Agent Harnessとは?

知識のつながり

サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

現在地GuardrailsAI

LEARN BY DOING

この用語を、教材で使ってみる

直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

Claude Codeコースの全編を見る