リスクベースのゲートとは、エージェントのアクションに対する非決定的なガードレールである。事前に書かれた条件をチェックするのではなく、エージェントに特定のアクションを実際のコンテキストの中で評価させ、それがいまどれほどリスクが高いかを判断させてリスクスコアを算出し、そのスコアが組織の定める閾値を超えた場合にのみ人間を呼び込む。答えは毎回新たに計算される。この用語は 本当にすべてのループに人間が必要か? で提案された対の一方であり、もう一方は ルールベースのゲート である。
用法
挙げられている具体例は、エージェントが一見小さな変更を提案するものの、その対象が組織の tier-1 システムの半数が依存するサービスである、というケースである。その変更そのものを想定したルールは誰も書いていないが、ゲートはコンテキストからそれを判断する。説明されているスコアリングは、組織のシステムを結ぶグラフの中で変更がどこまで波及するか――どのサービスがそれに依存しているか、最近何がデプロイされたか、下流で何に触れるか――をたどり、それを用いてそのアクションが実際にどれほどリスクが高いかを判断する。これにより、小さく閉じた変更はそのまま実行させ、tier-1 サービス全体に波及する変更では人間を呼び込む。
判断は固定されたルールではなく判断そのものであるため、この記事はゲートを運用するための要件を 3 つ挙げている。まず、人間をいつ呼び込むかの閾値を設定する必要があり、記事はその閾値が時間をかけて調整されることを想定している。次に、モデルが何とスコアリングしたか、どのコンテキストを使ったかを含め、すべての判断をトレースする必要がある。コンテキストによって変わる判断は、後から再構成できる場合にのみ信頼できるからである。そして、モデルが確信を持てない場合やコンテキストが乏しい場合には、人間によるブロッキングレビューにフォールバックする必要がある。そうすれば、乏しいコンテキストは黙って素通りするのではなくレビューにつながる。記事の警告は、これらを省くと、後から問いただすことのできないシステムの中に、監査されていない判断が残ってしまうというものである。
適用される場面
記事が引く境界線は、コンテキストが重要かどうかではなく、参照か判断かである。ルールも時刻や環境など多くのコンテキストを扱える。リスクベースのゲートは、きれいな条件に還元できない判断のためのものである。その例として挙げられているのは、影響範囲が依存関係グラフ全体に及び、リスクの高い組み合わせを列挙しきれない変更、深刻度が常にきれいなフィールドとして存在するとは限らない中で、インシデントが実際にどれほど深刻でリスクが高いかを分類すること、そして一見正常に見えるものの、その特定のサービスにとっては異常なデプロイで、「おかしい」ことを捉えるには 1 つの信号をチェックするのではなく多くの信号を比較衡量する必要があるもの、である。
コンテキストへの依存はルールよりも強いとされている。影響範囲をスコアリングしたりインシデントを分類したりするには、何が何に依存しているか、最近何が変わったか、誰が所有しているかといった、つながった全体像を読み取る必要があり、乏しいコンテキストの上で算出されたリスクスコアは、まずい推測を数値の陰に隠すだけだからである。この定式化は 1 つのベンダーによるもので、そのベンダー自身のプラットフォームを推奨して締めくくられる記事の中で提示されている。また記事は、ほとんどのチームがどちらか一方を選ぶのではなく、両方の種類のゲートを運用することを想定している。