リリースサイクルからのノート ― 第3部
1年前、私たちは自社のリリースパイプラインを構築する前に座って、本格的なLLMプラットフォームが備えるべきQA・リリース管理機能をすべて書き出しました。そして、そのリストに対して他の12のプラットフォームを評価しました ― LangSmith、MLflow、Weights & Biases、Braintrust、Humanloop、Patronus、Arize、Phoenix、Confident、Deepchecks、SageMaker Deployment Guardrails、KServe、BentoCloud、Vertex AI Endpoints、Seldon Coreです。12機能すべてを備えているところはありませんでした。実際に提供されている機能の組み合わせは、互いに完全には接していない3つの陣営にクラスタリングされていました。
本記事は、その結果として生まれた機能リストを汎用化したものです。各機能が4つのパイプラインステージのどこに属するか ― 登録 → ゲート → ロール → 観測 ― で整理されており、これまで書いてきたパイプラインアーキテクチャと障害モードとすっきり組み合わせられます。ツールを評価する際には、このリストを上から下まで各候補に当てはめて作業してください。最も大きなギャップがあるものを見れば、それがどの陣営に属するかが分かります。
3つの陣営(何を見ているのかを知るために)
チェックリスト自体に入る前に、2026年の市場の姿を整理します。
- 評価CI陣営 ― Braintrust、Humanloop、Patronus。PRマージ時に自動評価器を実行し、悪いマージをブロックします。本番トラフィックには触れません。機能4〜6で強く、7〜12は欠けています。
- サービングカナリア陣営 ― SageMaker Deployment Guardrails、KServe、Vertex AI Endpoints、BentoCloud、Seldon Core。トラフィックを分割し、インフラ指標を監視し、CloudWatch形式のアラームで自動ロールバックします。機能1、7、9で強く、機能8の品質側と機能10〜12は欠けています。
- 可観測性陣営 ― Arize Phoenix、Confident AI、Deepchecks。本番を監視し、人間にアラートを上げ、エスカレーションします。機能10(モニタリング)は強いものの、強制力はありません ― アラートは自動ロールバックではないからです。
これらの陣営の間 ― 「CIをパスした」と「品質ではなくレイテンシだけでなく品質でスコアリングされたライブカナリア」の間 ― は、誰もが手動で橋渡しせざるを得ない部分です。そのギャップを埋めることが、本記事における主要な主張です。
欠けたシーム:スライス単位の品質ゲート → インフラ指標ではなく出力品質によって駆動されるアトミックロールバック。
ステージ① ― 登録(Register)
機能1. コンテンツアドレッサブルなSHAを持つ不変のリリースマニフェスト
何か:リリースとはモデルの重みファイルではありません。リリースとは、すべて ― モデル成果物、プロンプトテンプレート、ルーティングルール、データセットバージョン、前処理バージョン ― を1つのSHA-256でアドレス指定する不変のバンドルです。「同じリリース」をデプロイする2人は、同じSHAを生成しなければならず、さもなければパイプラインは拒否します。
なぜ重要か:これがなければ、状態が3つのシステムに分割されている場合、「どの変更が本番を壊したのか?」に答えられません。Atlassianの2022年4月の障害[1]では、まさに状態が独立してバージョン管理されたシステムに分散していて、再び合意状態に調整する必要があったため、サイトごとに復旧に12時間かかりました。
誰が提供しているか:サービングカナリア陣営が部分的に(モデル+ルーティング)、モデルレジストリ(MLflow、W&B Models[2])が部分的に(モデル成果物のみ)。プロンプトテンプレートをSHAにバンドルしているところはほぼ皆無であり、これはまさに最も頻繁に変更されるフィールドです。
機能2. すべてのリリースコンポーネントにわたるアトミックなバージョン管理
何か:リリースAからリリースBへの切り替えは、5回の別々のダッシュボード編集としてではなく、1つの命令ですべて ― 重み、プロンプト、ルーティング、データセット、前処理 ― を切り替えます。
なぜ重要か:部分的な切り替えは未定義動作のウィンドウを生み出します。プロンプトが更新されてもルーティングルールが更新されていない場合、新しいプロンプトと古いルーティングクラスでヒットするすべてのリクエストは、誰も計画していない状態にあります。
誰が提供しているか:完全には誰も。サービングカナリア陣営はモデルイメージをアトミックに切り替えますが、プロンプトとルーティングは通常別の場所にあります。マニフェスト駆動の切り替えこそが、Divinciのアトミックロールバック主張[5]の根拠です。
機能3. 学習と提供環境のパリティ
何か:ゲート評価中に使用される前処理パイプラインは、本番サーバーが使用するのと同じ前処理です。これらが乖離すれば、すべてのオフライン数値は嘘になります。
なぜ重要か:学習・提供スキューは、私たちが書いてきた10のリリース障害の1つです。症状は「評価では問題ないのに、本番では別のモデルのように動作する」というものです。治療法は、前処理をマニフェストに登録し、本番の前処理バージョンに対してゲートを行うことです。
誰が提供しているか:コンテナ化フレームワーク(BentoML、KServe)は、前処理をサービングと同居させることで部分的なクレジットを得ます。いずれも前処理を評価ゲート入力にバインドしていません。
ステージ② ― ゲート(Gate)
機能4. スライス単位/ドメイン単位の品質ゲート
何か:ゲート判断は、単一の集約スコアではなく、スライス単位のスコア ― 契約書作成、法令解釈、IPライセンシングなど ― を消費します。1つのスライスでもしきい値を下回れば、平均がどう見えるかにかかわらず、リリースはgate_failとしてマークされます。
なぜ重要か:集約スコアは局所的なリグレッションを洗い流してしまいます。Tianpanのセマンティックバージョニングの嘘の記事[3]では、これを2026年のLLMリリースにおける主要な障害モードと呼んでいます ― 平均では改善しているのに、ユーザージャーニーの1クラスで静かに崩壊しているモデルです。
誰が提供しているか:2026年に他に提供しているところはありません。評価CIツール ― Braintrust、Humanloop、Patronus ― は、単一のグローバルルーブリックまたはフラットなタスクリストに対してスコアリングします。スライス単位のしきい値もスライスブラインドのオーバーライドも公開していません。これが陣営が噛み合わない最初の場所です。
機能5. 人間アンカーキャリブレーション済みジャッジ(人間評価に対するスピアマンρ)
何か:このジャッジは汎用のLLM-as-judgeではありません。ドメイン専門家パネルに対するスピアマンρが、スライスごとに測定・設定されたLLMジャッジです。ジャッジは、評判が高いからではなく、その順位が人間の順位と一致するから選ばれます。
なぜ重要か:MT-Bench[6]では、GPT-4-as-judgeは人間と全体で80%以上一致しますが、コーディング(86%)からライティング(36〜44%)まで、カテゴリーごとに分散があります。「全体的な一致」は、ジャッジが信頼できないスライスを隠してしまいます。スライスごとにジャッジをキャリブレーションすることこそが、自動スコアリングを信頼できるものにする唯一の誠実な方法です。
誰が提供しているか:Braintrust、Humanloop、Patronusはジャッジ評価器を実行します。しかし、いずれもスライス単位の人間アンカースピアマンキャリブレーションを要求・公開・永続化していません。DivinciのキャリブレーションパイプラインはAIジャッジのキャリブレーションで文書化されています。
機能6. 必須の書面による理由付きのオーバーライドパス
何か:ゲート失敗の強制オーバーライド(コールドスタート、許容されるリグレッションなど)は許可されますが、forceGateOverride: true AND overrideReason: "..."の2つのフィールドを必要とします。理由はユーザーIDと共に監査証跡に記録されます。匿名のオーバーライドはありません。
なぜ重要か:ガバナンスゲートは別のコンプライアンス機能ではなく、ゲートステージそのものの特性です。監査証跡は「このオーバーライドが使われたか?」だけでなく、「その時点での理由は何だったか?」にも答えなければなりません ― 将来の自分がそれを読む必要があるからです。
誰が提供しているか:評価CIツールはフラグを持っていますが、いずれもオーバーライドの構造的な一部として理由を要求していません。
ステージ③ ― ロール(Roll)
機能7. 滞留時間付きのマルチチェックポイントカナリア
何か:トラフィックは少なくとも3つのチェックポイント ― 通常5% → 25% → 100% ― を経て0%から本番に移動し、各チェックポイントで、設定された滞留時間または設定されたリクエスト数のいずれか後の時点まで保持されます。0%から100%への即時切り替えはありません。
なぜ重要か:ロングテールのバグはスケール時に表面化します。会話の0.3%に影響するバグは、100プロンプトの評価では見えませんが、本番トラフィックの5%では明らかになります。滞留時間こそがカナリアにロングテールを観察する時間を与えるものです。
誰が提供しているか:サービングカナリア陣営が提供しています。AWS SageMaker Deployment Guardrails[4]はデフォルトのTerminationWaitInSecondsを600秒(10分)と文書化しています。KServe、BentoCloud、Seldon、Vertexはすべて同様のマルチステップカナリア設定を公開しています。これは飽和した機能です。
機能8. 各カナリアチェックポイントでの出力品質モニター
何か:各チェックポイントで、パイプラインは進行する前に3つのモニター ― p95レイテンシ、5xx率、そして機能5の同じキャリブレーション済みジャッジが計算する出力品質スコア ― をチェックします。レイテンシと5xxだけでは十分ではありません。
なぜ重要か:ここで陣営が再び噛み合いません。SageMaker、KServe、Vertex、BentoCloud、Seldonはすべてレイテンシとエラー率を監視しますが、チェックポイントごとの出力品質モニターは提供していません ― スコアリングするためのキャリブレーション済みジャッジを持っていないからです。評価CIツールはジャッジを持っていますが、トラフィック上にいません。
誰が提供しているか:橋渡しを完了している人はいません。滞留カナリアインフラはサービング陣営に存在し、キャリブレーション済みジャッジは評価CI陣営に存在しますが、両者を接続しているところは見たことがありません。
機能9. 品質違反時の自動停止
何か:出力品質で失敗するカナリアチェックポイントは自動停止します。プロモーションは進行しません。ロールアウトを止めるために人間のページングは不要です。
なぜ重要か:ロールアウトが進む時間枠では人間はループに入りません。顧客チケットが到着する頃には、25%チェックポイントは終わり、100%プロモートが起きています。
誰が提供しているか:サービングカナリア陣営はインフラ指標で停止します。品質指標停止は、機能8の存在を必要とする部分です。
ステージ④ ― 観測(Observe)
機能10. 候補リリースを通じた本番トレースの継続的な再生
何か:カナリアが100%にプロモートされた後も、オブザーバーは実行を続けます。最近の本番トレースをサンプリングし、候補(現在アクティブな)リリースを通じて再生し、キャリブレーション済みジャッジでスコアリングし、分単位の品質スコアを出力します。定期的ではなく、継続的です。
なぜ重要か:静かな品質低下 ― モデルがヘッジする、自信を持って日付をハルシネートする、すべきでないところで拒否する ― は、レイテンシも5xxも動かしません。これらに対して得られる唯一の信号は顧客チケットであり、これは最悪の信号です。継続的な品質モニターはこれらを1桁の分数で捕捉します。
誰が提供しているか:誰も。可観測性陣営(Arize、Phoenix、Confident、Deepchecks[7])は本番出力を監視しますが、強制しません。サービングカナリア陣営はインフラを監視します。評価CI陣営はトラフィック上にいません。閉じたループ ― 本番トレース → キャリブレーション済みジャッジ → 強制 ― が欠けたシームです。
機能11. 数分ではなく数秒でのアトミックロールバック
何か:オブザーバーがトリガーすると(例えば、しきい値を下回る3分連続)、ロールバックが自動的に発火します。ロールバックはマニフェストのprevious_releaseにルーティングを再ポイントします。前のリリースが完全にバンドルされたマニフェストだったため、すべてのコンポーネントがアトミックに切り替わります。約100レプリカのサービスでのインフライトドレインを含めたエンドツーエンドで、約12秒[5]です。
なぜ重要か:Cloudflareの2022年6月の障害[8]では、リバートに44分かかりました。原因はリバート自体ではなく、状態が分割されていたためにエンジニアたちが互いのリバートを上書きしてしまったことでした。マニフェスト駆動のロールバックは単一命令であり、その障害モードを持つことはできません。
誰が提供しているか:サービングカナリア陣営は高速なインフラロールバック(アラームトリガー、ブルーグリーン切り替え)を提供しています。アーキテクチャ的な違いは、トリガーがインフラのみか、品質を意識しているか(機能10)です。
機能12. ハッシュチェーン化された、外部アンカー可能なコンプライアンスレシート
何か:すべてのリリース判断 ― 登録、ゲート通過、ゲート失敗、ゲートオーバーライド、チェックポイントプロモート、自動ロールバック ― は、SHA-256付きのJSONレシートを発行し、この顧客の前のレシートとこのリリースの前のレシートにハッシュチェーンされます。チェーンは顧客が設定するスケジュールで外部にアンカーされます。
オープンウェイトに関する注意。 リリースがオープンウェイトモデル(Gemma、Qwen、Llama、Mistral、GPT-OSS)に基づく場合、レシートにはvindex重み証明 ― 判断時点でのアクティブな重みがマニフェストが登録した重みであることの証明 ― が埋め込まれます。リリースがクローズドAPIモデル(OpenAI、Anthropic、不透明なAPI経由のGoogle)に基づく場合、レシートは判断チェーンをカバーしますが、プロバイダーが重みを公開していないため、重みのプロベナンスを主張することはできません。レシートはそのことを明示します。これが検証可能性の限界です。
なぜ重要か:規制業界は今日、ログを取得しています。EU AI ActおよびNIST AI RMF[9]はますます証明を要求するようになっています。ハッシュチェーンレシートは、「ログがある」と「監査人が当社のログを信頼せずにチェーンを検証できる」の違いです。
誰が提供しているか:他に提供しているところはありません。これはDivinciの既存のコンプライアンスページに直接マッピングされる差別化の部分です ― 同じレシートフォーマットを、リリース判断に拡張しています。
12の機能を、プラットフォーム陣営別に
このパターンが要点です。5つの機能 ― スライス単位ゲート、キャリブレーション済みジャッジ、品質カナリアモニター、閉ループ再生、ハッシュチェーンレシート ― は、他のどの陣営でも✗として示されています。それがシームです。残りの7つは陣営に分散し、各陣営は内部的には一貫しているものの、相互には不完全です。
カスタム言語モデルのQAは、ソフトウェアのQAとどう違うのか?
LLMは、温度ゼロでも決定論的ではありません ― バッチングとハードウェアの違いが出力のばらつきを引き起こします。その単一の特性が、従来のQAが構築されていた前提のほとんどを壊します。
expect(output).toEqual(X)のアサーションは書けません。 フィクスチャに対する等価性ではなく、人間アンカーグレーダーに対する順位相関を消費する分布対応の評価が必要です。これが機能5です。- モデルは集約品質チェックをパスしながら、あるスライスで失敗することがあります。 だから機能4が別途存在するのです。評価がスライスできなければ、スライス対応のリグレッションを捕捉できません。
- 品質障害はインフラ層では沈黙しています。 モデルがヘッジしたりハルシネートしたりしても、レイテンシと5xxはきれいなままです。インフラ側のモニターはこれを見ることができないため、機能8と10が存在します。
- ロールバックはオプションではありません。 障害モードが確率的であり、その一部が沈黙しているため、ロールバックパスはバックアッププランではなくプライマリインフラでなければなりません。機能11は「12秒」を達成可能にするものであり、機能2はそれを正しいものにします。
これら4つの事実を考慮していないQA・リリースプラットフォームは、決定論的ソフトウェアCI/CDにLLMロゴを貼り付けただけのものを出荷しています。市場はそれを頻繁に行っています。
監査証跡は、実際にどのようにAIコンプライアンスを支えるのか?
私たちが最もよく目にするコンプライアンスのギャップは ― デプロイから6か月後に監査人が到着し、「3月15日に動作していたのはどのバージョンのモデルで、誰がそのリリースを承認したのか?」と尋ねるとき ― 「ログがない」ではありません。それは「5つのシステムにログがあり、タイムラインが一致しない」というものです。
コンプライアンスレシート(機能12)は、ログ自体を可搬な成果物 ― ハッシュチェーン、単一ソース、外部アンカー可能 ― にすることでこれを解決します。監査人は当社のインフラを信頼せずにチェーンを検証できます。これが「記録がある」と「記録が証明可能である」の違いです。
オープンウェイトモデルバッキングについては、レシートには重み証明も含まれます ― アクティブな重みがマニフェストが登録した重みであることの暗号学的な証明です。これは、デプロイされたものだけでなく基となる重みが主張する通りのものであることを証明できるため、より厳しい要件(GDPR第17条の削除権、EU AI Actのプロベナンス)を満たします。
クローズドAPIバッキング ― モデルが不透明なAPIの背後で提供され、重みが公開されない場合 ― については、レシートは判断チェーンをカバーしますが、重みのプロベナンスを主張することはできません。提供できない証明を暗示するのではなく、レシートで明示的にそう述べます。プロバイダーが重みを内部に保持している場合の、検証可能性の限界です。
このチェックリストが解決しないこと
3つの正直な制限があります。
機能はそれ自体のためのチェックボックスではありません。 12個すべてを貧弱に提供するプラットフォームは、そのうち8個を上手に提供するプラットフォームよりも悪いものです。チェックリストは評価の出発点であり、ベンダーRFP用のスコアカードではありません。
競合スナップショットは2026年のものであり、変化します。 6か月後には、上記の✗マークの一部は反転するでしょう ― 競合他社がポストモーテムを読みギャップを埋めるからです。2027年にこの記事を読むなら、信じる前に自分でマークを監査してください。
一部の機能は他の機能に依存します。 機能8(出力品質カナリアモニター)は機能5(キャリブレーション済みジャッジ)を必要とします。機能10(閉ループトレース再生)は両方を必要とします。機能5なしで機能8を提供するプラットフォームはプラセボを提供しています ― カナリアモニターは存在しますが、信頼できる何かに対して接地されていません。
FAQ
カスタムLLMリリースで最も重要なQA機能は何ですか?
スライス単位の品質ゲート(機能4)です ― つまり、リリース判断は、単一のグローバル集約ではなく、人間アンカーグレーダーに対するドメイン単位のスピアマンスコアを消費します。集約スコアは局所的なリグレッションを洗い流し、局所的なリグレッションこそが2026年のLLMリリースにおける主要な障害モード[3]です。このリストから1つしか提供できないのであれば、機能4を提供してください。次に機能5を提供してください ― それが機能4を信頼できるものにするからです。
6か月間運用せずに、LLM QAプラットフォームをどう評価するのですか?
上記の12機能チェックリストをベンダーのドキュメントに適用してください。2つの具体的なテストがあります。第一に、ベンダーに参照顧客のうちの1つのスライス単位のゲート出力を見せてくれるよう依頼してください ― 集約スコアしか持っていない場合、機能4を持っていません。第二に、何が自動ロールバックをトリガーするかを尋ねてください ― 答えが「レイテンシ、エラー率、当社のアラーム」であれば、サービングカナリア陣営にいて、機能10が欠けています。
評価CIツールとリリース管理ツールの違いは何ですか?
評価CIツール(Braintrust、Humanloop、Patronus)は、PRマージ時に自動評価器を実行し、悪いマージをブロックします。本番トラフィックには触れません。リリース管理ツール(このカテゴリー)は、リリースマニフェスト、カナリア、オブザーバー、ロールバックパスを所有します。評価CIはリリース管理ワークフローの一部ですが、その代替ではありません。多くのチームは2つのうち1つを提供し、CIをパスしたリグレッションが本番に静かに到達したときにギャップに気付きます。
ロールバックはどれくらい速くあるべきですか?
数分ではなく、数秒のオーダーです。Divinciパイプラインの平均ロールバック時間は約12秒です ― これは約100レプリカのサービスでのインフライトリクエストドレインであり、マニフェスト切り替え自体は1秒未満です。Cloudflareの2022年6月のインシデント[8]と比較してください ― 状態がシステム間で分割されていたため、リバートに44分かかりました。「数分ではなく数秒」を可能にするアーキテクチャ上の決定は、バンドルされたリリースマニフェスト(機能1と2)です。
なぜコンプライアンスレシートはコンプライアンスログより重要なのですか?
ログはあなたが書いたものです。レシートは監査人があなたを信頼せずに検証できるものです。EU AI ActとNIST AI RMF[9]はますますこの2つを区別するようになっています ― 「文書化されている」は「証明可能である」と同じではなく、規制の方向は後者へと向かっています。ハッシュチェーンで外部アンカーされたレシートは、その一線を越えるための最もシンプルな利用可能技術です。
References
- Atlassian PIR April 2022. Post-Incident Review: April 2022 Outage. "The accelerated Restoration 2 approach took approximately 12 hours to restore a site." Cited for capability 1 — what state-spread-across-systems looks like at scale.
- W&B Models / MLflow registry. Weights & Biases Registry and MLflow Model Registry. The model-artifact-only side of capability 1. Neither ships prompt-template registration.
- The Semver Lie. Tianpan — The Semver Lie: how an LLM minor update breaks production (April 2026). Names the slice-aware regression failure mode as the dominant 2026 pattern. Companion: LLM postmortem template — fields SRE missed. Anchor for capability 4.
- SageMaker Deployment Guardrails. Use canary traffic shifting and Auto-Rollback Configuration. Default
TerminationWaitInSecondsof 600 (ten minutes), maximum 1800 (thirty minutes). The standard infrastructure-metric canary the post contrasts against on capabilities 8 and 10. - Internal — atomic routing-flip via release manifest. The ~12-second rollback time is in-flight drain on a ~100-replica service; the manifest swap itself is sub-second. Number is from our own service, not a benchmark. The architecture that makes it possible is the bundled manifest from capability 1.
- LLM-as-judge per-category variance. Zheng et al., Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena (NeurIPS 2023). >80% overall GPT-4-vs-human agreement, with per-category variance from coding (86%) to writing (36–44%). Anchor for capability 5 — why a calibrated judge has to be per-slice.
- Observability camp comparison. Arize Phoenix, Confident AI's 2026 observability tools comparison. All ship monitoring and alerting; none enforce rollback. Anchor for capability 10's "monitor without enforcement" framing.
- Cloudflare June 2022 outage. Cloudflare outage on June 21, 2022. "06:58: Root cause found and understood. Work begins to revert the problematic change… 07:42: The last of the reverts has been completed." 44 minutes from "we know what to revert" to revert complete, in part because engineers walked over each other's reverts. Anchor for capability 11.
- NIST AI Risk Management Framework. NIST AI RMF. Governance, mapping, measurement, management — the four core functions that capability 12 maps onto. Plus the EU AI Act provenance requirements at artificialintelligenceact.eu. Anchor for capability 12.
本シリーズの次回: 規制分野におけるカスタムLMの検証とリリース。 上記の機能チェックリストは汎用的なものです。次回の記事は具体的です ― EU AI Act、GDPR第17条、HIPAA、そしてNIST AI RMF ― それぞれがリリースプロセスに何を求めているか、上記のどの機能がどの要件をカバーするか、そしてオープンウェイト/クローズドウェイトの分岐が実際にどこでコンプライアンスストーリーを変えるか。
Ready to Build Your Custom AI Solution?
Discover how Divinci AI can help you implement RAG systems, automate quality assurance, and streamline your AI development process.
Get Started Today