← 記録へ戻る

夜航ワークフロー:テストゲートに基づくAI自律開発

『守夜人』開発記録05 / DEVLOG

タスク指示書、自動テスト、対抗レビュー、納品報告で構成する夜間の自律開発工程を記録する。

夜航ワークフローには、回避できない納品条件がある。selftestが全件通過しない限り、そのタスクは納品できない。

この制約によって、AIによるコーディング支援を、無人状態でも実行可能な開発工程へ拡張している。夜間に実行し、翌日に検収するこの循環を「夜航」と呼ぶ。

夜航ワークフローの構成

夜航の循環

夜航は自律開発の循環である。実行前に、作業目標と優先順位を記載したタスク指示書を渡す。AIは、作業が完了するか、人の判断を必要とする問題が生じるか、停止指示を受けるまで、次の手順を継続する。

  1. タスクの読み取り:指示書を読み、具体的なタスクを一つ引き受ける;
  2. 実装:コードを記述するか、システムを変更する;
  3. L1テストゲート:数百件のアサーションを実行し、一件でも失敗すれば自動的に差し戻して修正する;
  4. L2対抗レビュー:テスト通過後、別のAIが反証を目的として変更を検査する;
  5. 統合と報告:変更を統合し、新規内容をプレイ可能なビルドから直接検証できる状態にして、納品報告を送る;
  6. 次の循環:指示書にある次の作業へ進む。

テストゲートの中心的な役割

無人開発の主なリスクは、新しい変更が既存の規則を気づかれないまま損なうことである。

テストゲートは継続的な監視を担う。数百件のアサーションが、体勢崩しの受付時間、篝火のセーブ、強化式など、ゲーム内の重要な動作を固定する。いずれかが失敗すれば、そのタスクは自動的に差し戻され、納品段階へ進めない。テストゲートはモデル自体の判断能力を高めるものではなく、未検証の成果が主要工程へ入ることを制限する。

自動テストの後に行う対抗レビュー

テストだけでは、実際の現象が正しいことを保証できない。アサーションの通過は、問題の消失と同義ではない。 実際に、画面上の不具合が残っているにもかかわらず、テストが通過した事例があった。調査すると、そのアサーションは「何も発生しなかった」ことだけを検証しており、その状態自体が誤りであっても通過できる設計だった。

そのため、テストの後に対抗レビューを置いている。統合前に、別のAIが提案を誤りと仮定し、それを覆す反例を積極的に探す。低リスクのタスクには一人、高リスクのタスクには独立した二人のレビュー担当を配置する。問題を再現できず、提案を合理的に反証できなくなった段階で、変更を次へ進める。

夜間タスクの納品内容

翌日の夜航レポートには、夜間に完了したタスク、実行したテスト数、統合済みの変更、人の判断を待つ問題が記載される。私の作業は、結果の確認、未決事項の判断、次の指示書の作成に集中する。

結論

「自動で実行できること」と「無人状態での実行に適していること」は、異なる基準である。後者は抽象的な信頼ではなく、明確なタスク境界、テストゲート、対抗レビューに依存する。自動テストが回帰リスクを制御し、対抗レビューが判断上の盲点を補う。両方が成立して初めて、夜間の自律開発を安定して運用できる。

あわせて読む

02 / LINKS
C01

世界構造:拠点中枢、篝火への帰還、エリア間移動

拠点を中心とする放射型世界を、篝火でのセーブと死亡帰還、エリア灯による移動、第1章の線形構成から整理する。

全文を読む ↗
C02

数値調整ツール:データ駆動の調整とアサーション検証

数値をコードからbalance.jsonへ分離し、Webコンソールで調整する。アサーションによって、数値変更後も論理関係を維持する。

全文を読む ↗