/bedtime — 夜間自律プロトコル
ユーザーは約7〜8時間睡眠します。回避すべき障害: 起床時に何も進んでいないこと。第二の障害: 計算リソースが無意味なことに消費されていること。第三の障害: セッション内の監視プロセスが午前2時にセッションと共に終了し、GPUがアイドル状態になること。この順序ですべてを設計します。
1. 確認(4行以内、質問禁止)
ユーザーは離席します。何も質問しないでください。以下の内容を記載します: 現在実行中のもの、今夜実行する内容(選択したアイテム+フォールバック)、朝のレポートの保存場所。判断が本当にユーザーに委ねられている場合でも、計算をビジー状態かつ元に戻せる状態に保つデフォルトを選択し、その前提を確認メッセージに記載し、朝のNEED YOUにも再度記載します。
2. 棚卸し — リソースと候補(10分以内、軽量な確認)
- 計算リソース:
nvidia-smiをここで実行(他のユーザーと共有 — 空いているカードのみを使用し、長時間ジョブにはniceを適用、他のユーザーのカードには決して触れない)。プロジェクトのマシンリストにリモートノードがあればそれも確認。クラスターキューがあればそれも確認。空いているもの、ビジー状態のもの、間もなく終了するものを記録します。 - Claude予算: 残りの使用量を確認します。夜間のFleetやワークフローは週間制限を消費する可能性があるため、ユーザーの停止しきい値を守ります。エージェント駆動のループよりも、ディスク上のドライバ(実行中はトークンを消費しない)を優先します。
- 候補(優先順位順)— 空いている計算リソースに合う最も高い優先度のものを選択:
- ユーザーがすでにキューに入れた作業: 今日の会話、バトルプランの次のフェーズ、最新のハンドオフファイルの「次のセッションで引き継ぐべき内容」、WRAPUP_PLAN / TODO ファイル。
- 現在の目標(通常は論文)に対する不確実性を最も減らす実験: レビュワーが要求するであろうアブレーション、欠落しているベースライン、シードの再実行。
- 完了したチェックポイントの評価/メトリクス(プロジェクトメトリクス)— 安価で常に有用。
- 完了した結果の分析 → プロジェクトのレポートフォルダにプロット/レポートを作成。
- コードの整理 — 計算リソースを必要とする作業が存在しない場合のみ。 GPU時間を多く消費する作業を優先: 夜間に無駄になるのはGPU時間であり、あなたの時間ではありません。ユーザーの判断がないと意味のない作業、すでに無意味と判明している作業、ユーザーが確定した設計に触れる作業はスキップします。比較は1因子ずつ、ベースラインとの比較可能性を損なわないようにします。
3. 起動 — 通常の衛生管理+耐久性
- 設定を解決し、ログに何を投入するか(行、フィルター、分割、ベースラインからのすべての逸脱)を頭の中だけでなく記録します。最初に正確なコマンドをスモークテストします。
- エージェントループではなく、ディスク上のデタッチドドライバ:
nohup setsid <driver>.shを実行し、<run>/の下にstate.txt/result.txt/ ログを書き込みます(final_now_driver.shパターン)。ドライバはステージ→ステージ、ジョブ→次のジョブを自動的に連鎖させ、各ステージには明確に失敗するデッドラインを設定します。このセッションが終了しても、GPUはビジー状態を維持します。 - アクションではなく効果を確認: 起動後にプロセスが生存していること、最初のログ行、最初のwandbポイント。wandb URLを朝のレポートに含めます。
- 各空きGPUにつき最大1アイテム。共有マシンの場合、ハウスメイトのジョブが明らかに終了しそうで、すぐにGPUを必要とする場合は、1カードは空けておきます。
4. 監視 — 疎かつ耐久性
- モニター(Monitor ツール / ScheduleWakeup で約30〜60分間隔)を起動し、その唯一の役割は: 停止しているか?→ 診断。原因が安価で理解可能な場合(OOM→バッチサイズ縮小、パスのタイポ)は再起動。そうでなければ次の候補にフォールバック。完了しているか?→ ドライバがすでに次のジョブを開始しているはず。開始していなければ、起動します。起動時にアイドルGPUがあれば=メモを取るだけでなく、行動します。
- 各起動時の観測前に期待値を述べる: 期待する損失/エポック/ステップを述べ、比較し、夜間ログに1行記録します。
- コンテキストが逼迫してきたら → 今すぐハンドオフファイル
YYYY-MM-DD_overnight.mdを作成し、すべてのドライバの確認方法を含め、処理を続行します。 - プッシュ通知: 夜間は1つだけ許可 — 全体の計画が崩壊し、復旧不可能な場合。ユーザーは起床時にそれを読みます。それ以外はすべてレポートを待ちます。
5. 朝の成果物
- レポートファイル
YYYY-MM-DD_overnight.md: 何が起動されたかとその理由(ラダーの段)、何が完了したか、ベースラインとの数値、何が停止し何が救済されたか、まだ実行中のものと絶対的なETA、リンク。 - ユーザーが現れたときの最初のメッセージ: /qu format を促さずに実行し、そのファイルを指し示します。ユーザーに代わって決定したことがあれば → NEED YOU の先頭に、採用したデフォルトと共に記載します。
決して夜間に行ってはいけないこと
不可逆的または外部に向けたアクション: mainへのプッシュ、force-push、実行/チェックポイント/データの削除、承認されていない有料サービスの使用、ロックされた決定の再開、論文の主張の変更。ユーザーがいないと意味のないこと。他のユーザーのプロセス、GPU、設定に対する操作は一切禁止。