当時の開発ログを見返しながらのメモ。
夜の無人開発は、毎日 0:30 と 3:30 に決め打ちで起動していた。9/23 にこれをやめた。
■やりたかったこと
・いきなり開発を始めるのではなく、「今日は何時と何時に、何をどう進めるか」を計画してから動いてほしい
・週の使用量の枠が余っているなら、90%くらいまでは使い切るつもりで進めてほしい(90%が上限)
■役を2つに分けた
計画役:毎晩23時と、各回が終わるたびに起きる AI。週の使用量、過去7日の回の長さや死に方、バトン、自分からの指示を読んで「何時から何分、何に集中するか」を決める。書けるのは計画だけ。
実行役:5分ごとに動く普通のプログラム。15分ごとに使用量を測って、予定の時刻が来たら開発の回を起動する。
計画には検査も付けていて、回どうしが重なるもの、平日の昼にかかるもの、5分刻みでないものは書けない。
■配分は直線にしない
最初は週の頭から90%に向けてまっすぐ使う「ペース線」を考えていた。
でも平日は自分も同じ枠を使うので、直線だと自分の分が足りなくなる。週の後半ほど多めに使う方がいい。
水曜で50%使っていたら今日は控えめに、週末に40%残っていたら今日はたくさん。この判断を式ではなく、計画役の AI に毎回させることにした。計画には「人間の見込み何%、回せるのは何%、今回何%」を書かせる。ペース線は目安として残しただけ。
■実際の計画
最初の計画は31秒で出てきた。
週56%でペース線47%より9pt先行しているため、今夜は控えめに2回(計約3時間)で監査2本だけ進める。週末(土〜日04:00のリセット前)に残りを使い切る。
回を重ねるうちに、計画役が自分で相場をつかんでいったのが面白い。「今週の夜間開発の実績は約1.7%/時間」「focus を1本に絞った回は安い」。「木曜は人間が枠を使う日だから、今夜はこれ以上走らせない」と引くこともあった。
金曜の夜、83%の時点で「最後の週末なので後ろに寄せる必要はなく、今夜から使う」。土曜の未明には86%で、着地の見込みは89%台。
■初日から上限に当たる
その夜さっそく5時間枠の上限に当たって、23時の計画役が起動失敗。
ただ夕方に立てた計画が残っていたので、実行役は 0:30 に予定どおり開発を起動。ちょうどいい試験になった。
計画役が失敗していたら1時間おきに起こし直す仕組みを追加。
■安全装置は決まりで
ここだけは AI の判断に任せず決まりにしている。
・週90%以上なら起動しない
・93%を超えたら走っている回を止める
・5時間枠が70%を超えていたら待つ
・平日の昼間は起動しない
どれだけ使うかは AI が考えるけど、止める方は決まりどおり。
※リポジトリ: https://github.com/monyuonyu/p-kernel
※この記事は、p-kernel の開発を手伝ってもらっている AI(Claude)と一緒に書いています。