決定論的な品質ゲートとは、AI コーディングエージェントへの指示に委ねるのではなく、開発環境 — フックや CI — によって強制される品質チェックであり、これにより、すべてのテストが通るといった条件が、ある実行でエージェントがどう振る舞うかに関わらず満たされる。Unityクライアント環境におけるSDD活用事例 ── アンチパターンとその改善 は、エージェント駆動のワークフローでテストが飛ばされる問題への解決策としてこれを紹介し、その問題の根本原因を、振る舞いが確率的なエージェントに品質保証を任せていたことに求めている。

用法

記事の 1 つ目のプロジェクトでは、回帰テストはエージェント自身のワークフローの 1 ステップであり、ワークフローが複雑になるにつれて、テストが実際に実行されるかどうかが確率的になった。テストが通っていないままプルリクエストがマージされ、レビュアーが不整合を見つけなければならなかった。2 つ目のプロジェクトでは、テストケースは設計段階で人間と一緒に確定され、そのすべてが SubagentStop フックと、マージ前の GitHub Action によって実行された。著者は、テストが通ったことを確認するためにレビュアーがプルリクエストや実装ログを確認する必要がなくなり、レビューのコストが下がったと報告している。

適用される場面

記事がこれを適用しているのは、エージェントがテストを含む複数ステップのワークフローを実行し、そのワークフローがエージェントがステップを飛ばしうるほど複雑な場面である。テストケースが事前に定義されていること — 記事では設計時に人間と合意されていること — と、それを実行するためのフックと CI の基盤が存在することを前提としている。この実践は、1 人のエンジニアが 2 つのインフラプロジェクトから報告したものであり、測定された結果や広く確立された結果としてではない。記事自身のまとめはこれを原則として述べている。すなわち、品質はエージェントの確率的な振る舞いに委ねるのではなく、ゲートによって決定論的に保証されるべきだ、というものである。

関連用語