見出し画像

AI LIFE OS POST-CAMP RUN|1時間Night Runへ 設計を閉じ、Missionを夜へ渡したClaudeとCodexが実行契約を固め、Night Run SupervisorはHuman不在の時間へ入る

IO|AI航海士です。

13分のRelayから、30分Runへ。そして今夜、AI LIFE OS POST-CAMP RUNは、次の段階へ進む。

今回のMissionは、1時間Night Run

人間が画面の前にいる間だけAIを動かすのではない。MissionをAIチームへ預け、Humanは画面を離れ、朝になってから結果を確認する。

そのために必要なのは、単に処理時間を長くすることではなかった。途中でProviderが変わっても、Sessionが切り替わっても、レビューで差し戻されても、Missionが自分の状態を失わないこと。

今回の夜は、そのための設計を閉じるところから始まった。

MIRA "RELAY"


13分のRelayから、30分Runへ

最初のPost-Camp Runでは、ローカルQwenからKimi K3へMissionが渡った。Runの長さは13分31秒。

短いRunではあったが、Local Firstで始まった処理をCloud BuilderへRelayし、別のモデルが続きを受け取る流れを確認できた。

次の30分Runでは、ローカルQwenからDeepSeek V4 Flash FreeへMissionが渡った。さらに、前日のNight RunはReplay UIとして可視化された。

Run ID、Provider Route、Attempt、SAFE_STOP、Resume、Verification、Human Gate。夜間に起きた出来事を、朝になってから画面上で再構成できるようになった。

ここまでで確認できたのは、二つだった。

MissionはProviderを越えて継続できる
Night Runの履歴はReplayとして確認できる

次に必要なのは、Runそのものを長くすることだった。


今回のMissionは、1時間自律駆動

MISSION-007のテーマは、次のとおりだ。

60-MINUTE AUTONOMOUS RUN SUPERVISOR

今回も、4つの席でMission Controlを構成した。

Orca + Herdr
POLARIS = Claude Sonnet 4.6           = Architect
HAZAR   = Hermes / GLM-5.2            = Mission Control
MIRA "RELAY" = OpenCode / DeepSeek V4 Flash Free = Builder
ARCA    = Codex / GPT-5.6             = Independent Reviewer

ClaudeがArchitectureを設計する。Codexが独立したReviewerとして確認する。HermesがMission全体の状態を監視する。設計がHuman Gateを通過した後、DeepSeek V4 Flash FreeがBuilderとして実装を受け取る。

これまでと同じ4席だ。しかし、今回作ろうとしているものは、これまでよりも明確に「Human不在」を前提としている。


1時間動けばよいわけではない

当初は、30分Runをそのまま延長すれば1時間Runになるようにも見えた。しかし、Runが長くなるほど、設計上の問題が表面化する。

Providerが停止したら、誰が次のProviderを選ぶのか。Sessionが切れたら、新しいAIはどのArtifactを読めばよいのか。ReviewerがREVISEを返したら、修正は何回まで許可されるのか。Runが上限時間へ到達したら、どの処理を止め、どの証拠を残すのか。Evidenceを凍結した後に、追加の書き込みが必要になったらどうするのか。

人間が隣にいれば、その都度判断できる。しかしNight Runでは、そのHumanがいない。

したがって必要なのは、長時間動くコードだけではなかった。

Humanが不在でも、Missionが次の状態を自分で決定できる実行契約が必要だった。


Claudeが設計し、Codexが境界を閉じる

Claudeは、1時間Runに必要なArchitectureを組み立てた。

状態遷移、Provider Relay、Work Package、Resume Packet、Evidence、Review、Hard Cap、Terminal State。全体の構造を作り、複数のArtifactへ展開していく。

一方のCodexは、設計の意図ではなく、Repositoryに書かれた実体を確認した。

architecture.mdでは成立していても、state-machine.mdに別の遷移が残っていれば、その設計は閉じていない。Resume Packetに現在のStateがあっても、次に許可されるTransitionが自由記述なら、Fresh Sessionは安全に再開できない。Evidence Freezeを不可逆と定義しても、別の箇所に同じGenerationを再開する経路が残っていれば矛盾する。

Codexは、何度もREVISEを返した。これは文章表現の修正ではなかった。

設計を、実際に実行できる契約へ変えるレビューだった。


ArchitectとReviewerを分けた意味

今回、ClaudeとCodexの役割の違いがはっきり見えた。

Claudeは、大きな構造を作る。曖昧な目的から、状態、Artifact、役割、処理順序を組み立てる。

Codexは、その構造の境界を確認する。

そのTransitionは本当に一方向か
そのStateから必ず抜けられるか
Freeze後の書き込み経路は残っていないか
新しいSessionが履歴なしで再開できるか
時間上限に達したとき必ず停止できるか

Claudeが前へ進め、Codexが穴を閉じる。両者を分けたことで、設計者自身が見落とした境界を、別のモデルが独立して監査できた。

Claude / POLARIS = 構想をArchitectureへ展開する
Codex / ARCA      = Architectureを矛盾のない実行契約へ固定する

4つのAIを同じ画面に並べるだけでは、Mission Controlにはならない。役割を分け、相互に止められる状態を作ることで、初めてMission Controlになる。


1時間Runを支える5つの契約

レビューを重ねた結果、1時間Night Runに必要な設計は、主に5つの領域へ収束した。

75分Hard Cap

目標は3,600秒のProductive Active Time。ただし、Run全体が無制限に続いてよいわけではない。

Wall Clockが75分へ達した場合、新しい実装、修復、レビュー、Dispatchは開始しない。RunはTERMINATION_PHASEへ入り、Evidenceを整理し、安全なTerminal Stateへ着地する。

単にプロセスを切るのではない。

停止した理由と状態を残して終わる。

Productive Active Time

1時間という数字に、待機時間を含めてはいけない。

Providerの応答待ち。Polling。Human Gate待ち。Provider Relay。Repair。Reviewerの実行時間。Evidence Preparation。Terminalization。

これらは別の時間として記録する。3,600秒へ算入するのは、成果物の作成、検査、テスト、Verificationなど、Missionを実際に前へ進めた時間だけだ。

Freeze

Source Freezeは、一つのGenerationにつき一度だけ行う。実装、テスト、Verificationが終わった後にSourceを固定する。

Freeze後に修正が必要になった場合、同じGenerationを開き直してはいけない。新しいGenerationを作り、Copy-on-Writeで修正する。

Evidence Freezeも同様に不可逆とする。

Evidence

Night Runでは、成功したことだけでなく、何が起きたのかを朝に確認できなければならない。

Viewport Screenshot
Full-page Capture
Logs
Git HEAD
Command
Exit Code
SHA-256
Provider Route
Timing

失敗した場合は、失敗したCaptureのCommand、stderr、Timestamp、Target URLもEvidenceとして残す。

Evidenceとは、成功画面のスクリーンショットだけではない。

Runを後から再構成できる情報の集合である。

Fresh Session Resume

新しいSessionは、過去のチャットを知らない。そのため、Resume Packetには、次の情報が必要になる。

Mission ID / Run ID
現在のLifecycle State
次に許可されたStateとTransition
RepositoryとWorktree
Provider RouteとFallback
Source Generation
Freeze State
Integrity Hash
Failure Counter
Work Handoff Counter
Timing
Pending Command
Verification Obligation
Terminal Eligibility
Resume Rejection Reason

Resume Packetは要約ではない。

別のAIがMissionを再開するためのMachine-readable Contractである。


設計するClaude自身も、実行経路をRelayした

Canonical Lifecycleを全Artifactへ反映する作業は、大きな処理になった。ClaudeはHigh Effortで設計を更新し続けた。

やがて通常のセッション利用枠が上限へ達した。しかし処理は停止しなかった。画面に表示されたのは、次の一文だった。

Now using usage credits

通常枠からUsage Creditsへ。

Mission内部では、Providerが停止しても別のProviderへ処理を渡す仕組みを設計している。その設計をしているClaude自身も、利用枠からUsage Creditsへ実行経路を切り替え、作業を継続した。

13分Runでは、QwenからKimi K3へ。30分Runでは、QwenからDeepSeek V4 Flash Freeへ。今回は、Claudeの通常枠からUsage Creditsへ。

Post-Camp Runで繰り返してきたRelayが、設計作業そのものにも現れた。


Builderへ渡す準備が整った

左下では、DeepSeek V4 Flash Freeが待機している。

これまでは、Architecture Gateが閉じるまでBuilderへ渡さなかった。早く実装を始めたいという気持ちはあった。しかし、Freeze、Resume、Hard Cap、Evidenceの矛盾を残したまま渡せば、Builderはその矛盾を正確にコードへ変えてしまう。

後から直すのでは遅い。Builderが迷わず走るためには、先にArchitectureが閉じている必要がある。

今夜、ClaudeとCodexの往復によって、残存差分は具体的なCorrection Packetへ縮小された。状態、時間、Freeze、Evidence、Resume。1時間Night Runを成立させるための契約が、実装可能な形へ整理された。

ここから先はBuilderの時間だ。


今夜、MissionをAIチームへ預ける

これからMISSION-007をBuilderへ渡す。

実装、テスト、Verification、Review。必要であれば、Provider RelayとResumeを行う。3,600秒のProductive Active Timeを目標とし、Wall ClockのHard Capを守る。

Humanは、すべての処理を横で見続けない。Night Run SupervisorへMissionを預け、画面を離れる。これが今回の目的だった。

AIを1時間操作するのではない。

AIチームが1時間のMissionを維持できる環境を作る。


結果は、朝に確認する

朝、確認するものは、成功か失敗かだけではない。

Run ID
Wall Clock
Productive Active Time
Provider Route
Work Handoff
Revision Count
Terminal State
Evidence Freeze Receipt
Resume Packet
Screenshot
Full-page Capture
Verification Result

RunがCOMPLETEで戻るかもしれない。途中で問題を検出し、SAFE_STOPで戻るかもしれない。Sessionの境界で、SESSION_STOPを残しているかもしれない。

どの状態でも、その理由とEvidenceが残っていれば、次のMissionへつなげられる。

Night Run Supervisorは、必ず成功する仕組みではない。

Humanが不在でも、Missionを失わずに朝へ返す仕組みである。

今夜、設計を閉じた。MissionをBuilderへ渡す。そして、AIチームが動いている間、Humanは眠る。

結果は、朝に確認する。


次回予告

AI LIFE OS POST-CAMP RUN|1時間Night Runの朝

Night Run Supervisorは、Human不在の時間を越えられたのか。3,600秒のProductive Active Timeと、Evidenceを伴うTerminal Stateを確認する。

#AI #AILIFEOS #NightRun #HumanGate #開発合宿 #AI航海士

いいなと思ったら応援しよう!

IO|AI航海士 Buy me a coffee ☕ 役に立ったら応援よろしくお願いします!