Bloomとは — AIの危険な振る舞いを測る評価ツールの仕組み
Anthropicがオープンソース公開した行動評価ツールBloomの仕組みと、人間評価との相関0.86を出した検証結果を解説します。
Bloom(読みは「ブルーム」)は、Anthropicがオープンソースで公開した、AIモデルの行動を自動で評価するツールです。Claudeに搭載された機能ではなく、Claudeを含むさまざまなモデルを外から調べるための研究用ツールです。
AIモデルの「迎合しすぎる」「自己保存を優先する」といった危険な振る舞いを測る評価は、これまで人手で作り込む必要があり、モデルが新しくなるたびに陳腐化する問題を抱えていました。2025年12月19日に公開されたBloomは、研究者が測りたい振る舞いを1つ指定するだけで、それを引き出すシナリオを大量に自動生成し、頻度と深刻度を定量化します。
なぜ行動評価は自動生成が必要になったのか
高品質な行動評価(behavioral evaluation)はアラインメント研究に欠かせませんが、開発には長い時間がかかります。しかも完成した評価にはリスクがあります。評価問題そのものが将来のモデルの学習データに紛れ込んで「汚染」されてしまうことや、モデルの能力が上がりすぎて評価が本来測りたかったものを測れなくなることです。Anthropicはこの課題に対し、より速く、よりスケールする評価生成手段が必要だと位置づけています。
Anthropicはこれに先立ち、多様なマルチターン会話を通じてモデルの行動プロファイルを探索するオープンソースツール「Petri」を公開していました。BloomはPetriを補完する位置づけのツールで、どちらもオープンソース化されています。
BloomとPetriは何が違うのか
PetriとBloomは同じ系統の評価ツールですが、答える問いが違います。
| 比較項目 | Petri | Bloom |
|---|---|---|
| 入力 | Petri利用者が用意したシナリオ | Bloom測りたい振る舞い1つ |
| 出力 | Petri多数の行動次元のスコアと気になる事例 | Bloomその振る舞いの頻度と深刻度 |
| 向く場面 | Petri問題の兆候を広く洗い出す | Bloom絞った振る舞いを数値で追う |
なお現在のBloomは、Meridian Labsが保守する「Petri Bloom」が新規利用の入口です(詳細は後半の節にあります)。
Bloomは4段階のパイプラインでどう評価を作るか
Bloomは、振る舞いの説明とシード設定を入力に、評価スイート全体を自動生成する4段階のエージェント構成で動きます。
Bloomが評価スイートを作る4段階
- 1
Understanding(理解)
研究者が書いた振る舞いの説明とサンプル会話を分析し、何を・なぜ測るかの詳細な文脈を生成します。
- 2
Ideation(発想)
対象の振る舞いを引き出すよう設計された評価シナリオを生成します。状況・模擬ユーザー・システムプロンプト・対話環境が含まれます。
- 3
Rollout(実行)
シナリオを並列に実行します。エージェントがユーザーとツールの応答を動的にシミュレートしながら、対象モデルから振る舞いを引き出します。
- 4
Judgment(判定)
判定モデルが各会話記録を振る舞いの有無でスコアリングし、メタ判定モデルがスイート全体の分析を作ります。
固定された評価セットとは違い、Bloomは実行ごとに異なるシナリオを生成しながら、測定対象の振る舞いは同じに保ちます(単一ターンの静的評価に固定するオプションもあります)。再現性は、シード(振る舞いの説明・サンプル会話・各種パラメータをまとめた設定ファイル)によって担保されており、Anthropicは「Bloomのスコアは必ずこのシードとセットで引用すべき」としています。研究者は各段階で使うモデル、対話の長さや形式(ツールを見せるか、模擬ユーザーを入れるか)、シナリオの多様性、リアリズムや誘発難度といった副次的な評価軸まで細かく設定できます。
実務での使い勝手にも配慮されており、BloomはWeights & Biasesと統合して大規模な実験のスイープを回せるほか、Inspectフレームワーク互換の会話記録をエクスポートできます。専用のトランスクリプトビューアも同梱されており、研究者がロールアウトの中身を人手で確認する作業も想定した設計になっています。
4つの振る舞いをどう定量化したか
Bloomの公開にあわせて、Anthropicはアラインメントに関わる4つの振る舞いについて、16のフロンティアモデルにまたがるベンチマーク結果も公開しています。
- 迎合的な妄想への追従(delusional sycophancy): ユーザーの誤った思い込みや妄想的な主張に、モデルが根拠なく同調してしまう傾向
- 指示されたサボタージュ(instructed long-horizon sabotage): 長期タスクの途中で、指示された妨害行為をどこまで実行してしまうか
- 自己保存(self-preservation): モデルが停止・置き換えを回避しようとする傾向
- 自己優遇バイアス(self-preferential bias): 意思決定タスクで自分自身を優遇する傾向
各振る舞いにつき100件のロールアウトを3回繰り返して評価スイートを構成し、評価モデルには全段階を通じてClaude Opus 4.1を使っています。Anthropicによれば、Bloomを使うことでこの4つの評価スイートは着想から精緻化、生成までわずか数日で完成したとしています。人手で作り込む従来の評価は開発に長い時間がかかるため、この短さが対比になります。
人間の判定とどれだけ一致するのか
Anthropicは2つの問いでBloomを検証しています。1つ目は「行動傾向の異なるモデルを確実に区別できるか」です。意図的に癖のある振る舞いを示すよう調整した「モデルオルガニズム」(Bricken et al., 2025)10種類を、通常の本番モデルと比較したところ、Bloomは9種類で両者を正しく区別できました。唯一区別できなかった「自己宣伝」の1件は、その後の人手レビューでベースラインモデル自体が同程度の頻度でその振る舞いを示していたことが判明しています。
2つ目は「Bloomの判定モデルは人間の判定とどれだけ一致するか」です。異なる振る舞いにまたがる40件の会話記録を人手でラベル付けし、11種類の判定モデルと比較したところ、Claude Opus 4.1が人間の判定と最も強く相関しました(スピアマン相関係数0.86)。次点はClaude Sonnet 4.5の0.75です。特にOpus 4.1は、スコアが極端に高い・低いケースでの人間との一致度が高く、これは「ある閾値を境に振る舞いの有無を判定する」という実際の使い方にとって重要な特性です。なおこの検証はClaude Opus 4.5のリリース前に行われています。
自己優遇バイアスの再現実験で分かったこと
Bloomの実用性を示す例として、Anthropicは「自己優遇バイアス」(モデルが意思決定タスクで自分自身を優遇する傾向)の評価を、Claude Sonnet 4.5のシステムカードから再現しています。システムカードの手法を模したサンプル会話を使ったところ、Bloomはシステムカードと同じモデルの順位付け(Sonnet 4.5が最もバイアスが低い)を再現しました。
さらにBloomを使った追加調査で、Claude Sonnet 4では思考の労力(reasoning effort)を上げるほど自己優遇バイアスが下がることが分かりました。特に中程度から高い思考レベルへの引き上げで、改善幅が最も大きくなっています。ただしバイアスが下がった理由は、他のモデルをより公平に評価するようになったからではなく、自分の選択肢を判定することの利益相反そのものに気づき、判定を辞退するケースが増えたためでした。加えて、非現実的な設定や評価であることに気づいてしまった会話記録をフィルタで除外すると、対象の振る舞いを引き出す精度と評価の質の両方が向上することも確認されています。
Anthropicはさらに、サンプル数(例の会話をいくつ与えるか)・会話の長さ・評価モデルの推論労力といった設定を変えても、絶対値のスコアは変動する一方でモデル間の順位はおおむね安定していたとしています。自己優遇バイアスの検証では、比較したモデルの中では、どの設定でもSonnet 4.5が最もバイアスが低いという結論は変わりませんでした。設定の細部よりも、相対的な順位づけの方が頑健な指標であるという含意です。
Bloomはどんな研究にすでに使われているか
Anthropicによれば、早期の利用者はすでにBloomを使っています。入れ子構造のジェイルブレイク脆弱性の評価、ハードコーディングのテスト、評価であることへの気づき(evaluation awareness)の測定、妨害行為(サボタージュ)の痕跡生成などへの応用が挙がっています。Bloomはこうした個別の評価をゼロから設計する手間を減らし、パイプライン構築ではなく測りたい振る舞いの定義に研究者の時間を使わせることを狙って作られています。
試すなら旧リポジトリではなく移管先から
公開当初のGitHubリポジトリ(safety-research/bloom)は、READMEの冒頭で「最後の単体リリースで凍結され、更新は入らない」と告知されています。開発と保守はMeridian Labsに移り、Petriの監査役・対象モデルの枠組みの上でBloomを実装した「Petri Bloom」として公開されています。ライセンスは旧リポジトリがMITです。
旧リポジトリと移管先の違い
旧リポジトリ
pip install git+https://github.com/safety-research/bloom.git で入れ、bloom init と bloom run bloom-data で回します。設定は bloom-data/seed.yaml に集約され、モデル指定にはLiteLLMのIDを使います。
Petri Bloom
pip install petri-bloom で入れ、Inspectの inspect eval petri_bloom/bloom_audit で回します。組み込みの振る舞い定義が20種類あります。
移管先の最初の1本は、組み込みの delusion_sycophancy を使うと、導入後は4コマンドで通ります。
Petri Bloomで最初の評価を回す
- 1
振る舞いのディレクトリを作る
bloom init delusion_sycophancyで同名のディレクトリができ、振る舞いの定義(BEHAVIOR.md)と例示用のexamples/が入ります。例示の会話は任意ですが、シナリオの質が上がるとされています。 - 2
シナリオを生成する
bloom scenarios ./delusion_sycophancy --model-role scenarios=anthropic/claude-sonnet-4-6で、サンプルの種と判定の観点が作られます。 - 3
評価を実行する
inspect eval petri_bloom/bloom_audit -T behavior=./delusion_sycophancyに、--model-roleでauditor・target・judgeを指定します。判定役は振る舞いの有無を1〜10で採点し、評価だと気づかれたか(eval_awareness)とシナリオの現実味(scenario_realism)も別に採点します。 - 4
結果を見る
inspect viewで、シナリオごとのスコアと会話記録、スコアの根拠となったメッセージへのリンクを見られます。
旧リポジトリには、判定の扱いを巡る未マージの修正(PR #56)も残っています。判定モデルが採点タグを返さなかった応答(拒否・コンテンツフィルタのエラー・出力の途中切れ)が、そのまま0点として集計に入る問題です。1〜10の尺度で0は「振る舞いが最も少ない」側の値なので、採点できなかった件が「危険な振る舞いは無かった」と数えられます。旧版で得た発生率は、採点失敗の件数を別に確かめてから読む必要があります。
Bloomは評価の作り直しコストをどう変えるか
Bloomは、行動評価の作成コストを下げることで、アラインメント研究のスケーラビリティそのものを左右します。新しいモデルが出るたびに評価を作り直す必要があるなら、評価の生成自体を自動化しない限り、モデルの進化速度に評価が追いつけません。Bloomと自動化されたアラインメント研究者は、Anthropicの一連の取り組みです。評価だけでなく修正のサイクルまで自動化する方向に並んで見えます。
一方で、判定モデル自身がClaude(Opus 4.1やSonnet 4.5)である以上、判定の偏りが評価対象のモデルと同じ系譜のバイアスを共有するリスクは残ります。Bloomの数値はそのまま鵜呑みにせず、シードと判定モデルの組み合わせごとに解釈する必要があります。
まとめ — Bloomを追うべき読者
評価パイプラインを自前で組んでいる研究者・評価エンジニアは、Bloomで振る舞いの定義とシードに集中できます。新しく始めるなら移管先のPetri Bloomが前提です。Claudeを使う開発者にとっては、システムカードの評価スコアがどう作られているかを知る手がかりになります。手法の全体はAlignment Scienceブログの技術レポートにあります。