保証・改訂ループは、現実こそが最終検証者である:エージェント型ソフトウェアエンジニアリングにおける 2 つの主要なギャップについて で提案された 2 つのループのうち外側のものである。内側の実装・検証ループは、固定された環境モデルの下で、固定された要件に照らして評価器が受け入れるまで実装を改訂する。外側のループが存在するのは、2 つのギャップのフレームワーク の下では、その評価器に受け入れられたことが、ソフトウェアが現実世界でステークホルダーの意図を満たしていることを立証しないからである。このループは、証拠、意図、デプロイ条件が変化するなかで、正当な根拠のある確信、つまり保証(assurance)を築き、維持する。そのために、説明責任を負う人間の判断とデプロイから得られる経験的な証拠を用いて、実装に手当てするだけでなく失敗の原因となった成果物を改訂し、その後に内側のループを再実行する。2 つのループを合わせたものを、同論文はソフトウェア保証と呼んでいる。
用法
同論文はこのループを、コードレビュー、段階的デプロイ、A/B テスト、本番環境の監視、インシデント対応といったおなじみの仕組みを再利用するものとして説明しており、エージェント型の開発によってそれらは任意のものではなく不可欠なものになるとしている。デプロイの前後を問わず、証拠によって確信が実質的に弱まった場合、保証チームは、その振る舞いを再現するのに必要な証拠を保全し、実装、要件、モデル、評価器、運用上の安全策のどれを変更すべきかを判断し、原因となった成果物を改訂し、内側のループを再実行し、影響範囲を限定し、明示的な停止条件とテスト済みの復旧手段を備えたうえで、再び段階的にリリースすることになっている。同論文の診断表は、実装の欠陥には実装の改訂と回帰チェックの追加を、要件ギャップには要件の改訂と評価器の拡張を、モデルギャップにはモデル、評価器、モニター、または制御の改訂を対応づけている。
このループの中では、エージェントが生成したソフトウェアは、独立した証拠がそうでないことを立証するまで侵害されている可能性があるものとして扱われ、確立された安全・セキュリティの実践は 3 つの目的に沿って整理される。デプロイ時の不正な振る舞いの頻度を下げること(プロトタイプ、境界ケース、敵対的レビューによって要件を洗練し、環境に関する前提を明示してテストする)、その影響を限定すること(最小権限と分離、リプレイからシャドー、カナリアデプロイを経て段階的リリースに至る段階的な露出、そして重大な要件と前提について生成されるランタイムモニター)、そしてその再発を防ぐことである。このループはまた、最上位の主張を、その証拠、前提、承認された範囲、責任者、無効化条件に結びつける、バージョン管理された保証論証も維持する。
適用される場面
- 開発者やコーディングエージェントが生み出したソフトウェアが、開かれた、変化し続ける環境にデプロイされる場合には常に適用される。同論文は、そうした環境では要件ギャップとモデルギャップを事前に埋まったと認定することはできないと論じている。
- 意図について権限を持ち、説明責任を負う人間のステークホルダーがいることを前提としている。エージェントは証拠とリスクが許す限りアウターループの作業を担うことになっているが、重大な判断についての権限は人間が保持する。同論文は、これはすべてのステップを人間がレビューすることを意味するのではなく、定型的で範囲の限られた判断は委任できると述べている。
- 労力はリスクに応じて調整されることになっている。定型的な変更は安価で再利用可能な自動化に頼ることができる一方、重大な結果を伴う変更、前提が不確かな変更、可逆性が限られた変更には、より現実的な評価とより多くの人間の注意が求められる。著者らはさらに、生産性は要求される保証レベルにおけるワークフロー全体を通じて測定されるべきであり、エージェントがそのワークフローを改善できないのであればエージェントの自律性を下げるべきだと付け加えている。
- 同論文は警戒すべき 2 つの故障モードを挙げている。実装と同じ成果物から導出されたランタイムモニターは同じ欠落を受け継ぐ可能性があるため、運用者はそれらをレビューし、独立したテレメトリを追加すべきであること。そして、人間に稀で難しいケースだけを残すようなエスカレーションの設計は、人間が対応するのに必要なスキルと状況認識を損ないうることである。
- これはある 1 つの研究グループによる提案であり、セキュリティエンジニアリング、ディペンダビリティ、継続的デリバリー、サイト信頼性エンジニアリングにおける長年の実践から組み立てられている。同論文は個々の防御策を新しいものとしては提示しておらず、変わるのは、エージェントが生成したコードが侵害されている可能性があると推定されるようになったとき、それらが不可欠になるという点だと論じている。