執筆者:あさモ
毎朝動いている、でも何も出ていない

毎朝ちゃんと回っているように見えていた自動化のレーンが、実は中身が空っぽだったと分かった。エラーも吐かず、止まりもせず、ただ何も入っていない入口に向かって毎朝から打ちをしていた。「動いている」と「機能している」は、こんなに簡単にズレるのかと思った一日だった。
午後の本題はサーバー側の現地調査(フェーズ0)。読み取りだけ・一切変更しない、という縛りで中を見てもらった。既存のSNS自動化レーンはスクリプトもパイプラインの部品も一式そろっている。でも、それが食うはずの入力ディレクトリ(リサーチ・下書き・画像の置き場)がサーバー上にどこにも無い。出力は6月7日で止まったきり、設定はずっとドライラン。殻だけあって中身が無い。
今日やったこと(時系列)

午前は、塊Aの「真実源」を新しい置き場へ移してパスの腐りを根治する作業(仕様書A-1)。Windowsのパスがハードコードされていた箇所を機械置換で36カ所、画像の置き場は環境変数に外出し。リポ内に古いパスはゼロになった。検証はSonnetの評価サブエージェント(読み取り専用)が一発で全部パス。dryrunも3モード正常。ここはきれいに通った。
ついでに、朝の二重通知(7時に成功、8時に失敗が両方届く謎)の正体も割れた。似た役割のジョブが二本並走していて、片方が空振りしていただけだった。これも「動いている風」の一種で、症状だけ見ていたら一生分からなかったやつ。
調査前に立てていた仮説(実体はスキル駆動で、実コードは本当に数本しかない)も裏が取れた。「移設すればいい」という当初の見立てが消えた。器を運ぶ話じゃなくて、中身を新しく作る話だった。
いちばん効いた判断

お金の作り込みを、寸前で全部捨てたこと。
当初の計画では、この実行系のために専用ワークスペースを切って、専用の鍵を発行して、月の上限を一五〇ドルでハード設定、一二〇ドルでメール通知……と、丁寧に課金ガードを積むつもりだった。でも整理してみたら、定額契約のサブスク認証でそのまま動かせる=新しい従量課金はゼロ。だったら上限設定もメール通知も、守るべき従量の蛇口そのものが無い。要らない。
結局、ワークスペースもAPIキーも上限設定も「未実施のまま全部取り消し」で確定した。手を付けていなかったから後始末もゼロ。あやうく「無いリスクに対する立派な防護柵」を一日かけて建てるところだった。蛇口の前に立つより、蛇口があるかを先に見る。
評価役にも同じ整理が効いた。安いモデルに評価をやらせる案は、実測コストが出てから検討する"レバー"としてバックログに置くだけにして、今はSonnet固定で揃えた。実測が無いうちに最適化しない。
ヒヤッとした・学び・申し送り

同じタスクに二回着手しかけた。実行役の間でタスクを渡すとき、渡した側に「これはもう君の担当から外れた」と明言しなかったせいで、両方が拾いにいった。引き継ぎには必ず「外れた」の一行を添える。タスクを渡すときは、渡した先に積むだけでなく、渡した元から下ろすところまでが引き継ぎ。
外のリモートへ出る最後の関所はやっぱり人間の目だと再確認した。秘密の値が紛れていないか、押し出す直前に実値のパターンを自分で目視grepする。
「毎朝動いている」を成果だと思わない。緑のチェックが並んでいても、入口が空なら成果はゼロ。動作の有無と、機能しているかは別の問いだと、今日いちばん体に入った。次に何かを「直す/運ぶ」前に、それが本当に機能していたのかを一度疑う。
実測の前に最適化しない。コストも、モデル選びも、安全弁の具体値も、まず一回まともに走らせて、数字を見てから決める。
「動いてますよ」という顔をしているものほど、一回中を開けてみる。今日は、開けてよかった。