2026年9月25日の開発日記 - 並行セッションがメモリを取り合い、関数の章をMacへ送った

daily-log

2026年9月25日の開発日記

朝、講座動画の合成とテストを流していた裏の作業が、メモリ不足で次々に止められた。 同じ PC で並べて走らせていたセッション同士が、メモリを取り合っていた。 この日は、どのセッションを止め、どの作業を後に回すかを決め直すことに多くの時間を使った。

タイムラインで見ると、講座アプリのリポジトリで11セッションが合計17時間52分、このブログのリポジトリで10セッションが合計7時間54分動いている。 講座アプリ側の数字は、同じ時間帯にセッションを並べて走らせたぶん、壁時計の時間を大きく超えた。

今日のタイムライン

タイムライン

今日やったこと

1. 並行セッションのメモリの取り合いと、Macへの引き継ぎ

メモリ不足で裏の作業が止められたので、3000番台と3200番台の dev サーバーを全部止めてよいと指示した。 08:36 に Step 7 のセッションで全ポートを止めさせ、ほかのセッションにも立てないよう伝えてもらった。 08:42 には 3200 番だけを許可し、MP4 は自分がプレビューで確認して直したあとの最終版だけ書き出すと決めた。 重い回帰テストは「修正したところだけ流せばいい」と範囲を絞らせた。 関数の章の引き継ぎ6は、Windows だとメモリが落ちるので、テキストファイルにして Mac の Claude Code へ送った。

主な成果:

  • CF精算表 Step 6 を main に合流させ、6a(3:08)と 6b(3:54)が 3200 番のプレビューに映った
  • 関数の章の再現動画は、37本すべてが台本、実物の Excel での一致、本人の声の3段まで済んだ
  • 止めたポートは 3000、3001、3200、3204、3206、3207 の6つ

詳細: Claude Codeの並行セッションがメモリを取り合った日:devサーバーの停止、テストの絞り込み、Macへの引き継ぎ


2. レッスン画面のミラーカラム化と、CF精算表 Step 7 のカメラ調整

excel-scene の開発用ページのサイドバーを分けてほしいと頼んだ。 Claude Code が最初に出した3階層の入れ子に「違う違う、ミラーカラムにしてほしいんですよ」と返し、サイドバーは3列を経て、講座と同じ「2列に閉じるボタン」の形に落ち着いた。 チャプターを押すと1本目を開く動き、矢印キーでの移動、「自動で次へ」ボタンも付けてもらった。 午後の Step 7 では「集計対象の列はすべて画面に表示する」というルールを出し、カメラ位置の4つの値を数値で直せるようにしてもらった。

主な成果:

  • サイドバーの作り直しは2回(3階層、3列、2列)
  • dev 限定の2ページを、トップページの「開発環境のみ」の見出しの下にカード2枚でまとめ、excel-scene にヘッダーを付けてコミットさせた(push なし)
  • カメラの手直しの共通点の確認は、翌日の Google タスクに回した

詳細: Excel操作動画のレッスン画面をミラーカラムに直す:自動再生とdev限定カード、CF精算表Step 7のカメラ調整


3. 毎朝の統計取得を Cloudflare Workers の cron へ移す計画

make-diary のうち公開統計の取得を Cloudflare Workers の cron へ移す計画を立て、Codex のレビュー(指摘、修正、再レビュー、承認)を通した。 「CLI 使えるはずなんで」と頼み、wrangler の CLI で Phase 0 を進めてもらった。 1回の実行で取るソースを1つに絞れば無料プランで動くことを、実測で確かめられた(残ったのは KDI の新号検知の調査だけ)。 ただ、前日のログを測らせると、この計画の範囲ではメインのコンテキストは1%も減らないと分かった。

主な成果:

  • 無料プランの枠は、cron 1回あたり CPU 10ms、外部リクエスト50本。cron トリガーの上限5本は予定表の数の上限で、この計画で使うのは1本
  • 韓国の統計は4系列が新号判定できたが、tradedata.go.kr はウェブファイアウォールに遮断され、値の取得は手元に残る
  • 金融データサービスAからの取得は移さないと決めた

詳細: Cloudflare Workers無料プランのcronで毎朝の統計取得は動くか:wranglerでPhase 0を実測した


4. 無料の TTS API で自分の声を合成し、音声透かしを調べた

Google タスクの「TTS を試す」から着手し、Fish Audio の無料モデル s2.1-pro-free(2026年11月30日まで)を、1Password に登録した API キーで Claude Code に叩かせた。 聞き比べると、Irodori-TTS のほうが自分の録音に近いと感じた。 Irodori には SilentCipher の透かし「IRDTS」が入っていたが、AudioSeal と WavMark では Fish からも Irodori からも透かしは出なかった。 シードについては「Fish の API にシード指定はない」「Irodori の差し替えは語単位ではなく文単位」と確認した。

主な成果:

  • Drama 3(drama-3-preview)は HTTP 402 で弾かれた
  • 1回目の合成は23文
  • 透かしの有無を、陽性と陰性の対照つきで確かめた

詳細: Fish Audioの無料APIで自分の声を合成し、音声透かしをAudioSealとWavMarkで調べた記録(Irodori-TTSとの比較)


5. プロンプトの棚卸しと、フックのタイムアウトと PC の空き容量

/claude-api prompt-audit で Claude Code にプロンプト面を監査させると、差分付きの指摘が12件、flag が7件出た。 止めてある学習ゲートの実行を促す文が、5ファイルに残っていた。 学習ゲートを使わない前提と、モデル表記を Opus 5.5 にそろえる方針を決め、18ファイルを直させてコミットと push まで済ませた。 午後は、UserPromptSubmit フックの30秒タイムアウトが Store 版 python3.exe(ダミー)の固まりで起きていることを突き止めてもらい、PC の空き容量も測ってもらった(消せるのは約21GB)。

主な成果:

  • make-diary も Opus 5.5 で回すことにした
  • 朝の相談からクラウド会計2社の料金改定を追う記事を1本書き、9df40a09 でコミットした(会計ソフトAと会計ソフトBの料金改定の記事)
  • ディスク分析ツールの片方は、アンインストーラーのエラー(1603)で消えず、削除は自分が引き取った

詳細: Claude CodeのプロンプトをOpus 5.5前提で棚卸しした日。フックの30秒タイムアウトとPCの空き容量も調べた


今日の試行錯誤

#テーマ試したこと結果気づき
1CF精算表 Step 6(07:58)3200 番で Step 6 を見られないかと提案し、全コマハッシュのテスト(前回23分)を流させた3200 番は main 配信でブランチの Step 6 は映らなかった。テストは関数の章のセッションに譲って止め、許可を出して main に合流させると映ったプレビューに映るのは main だけだった
2関数の章 引き継ぎ5(10:38)合成と全単体テストがメモリ不足で止められた変えたエンジン2ファイルの単体テストと、組3b 4本の全コマの指紋の確認に絞らせてコミットした重いテストは担当分だけ流せば足りた
3Mac への引き継ぎ(13:31)状態をチャット本文に出させたが、「Macに貼るの難しい」と訂正した指示書をテキストファイルで Mac の受け取りフォルダに置かせた。入力欄の文字は Claude Code の予測だと指摘し、ブリッジを直させて依頼が届いた別の機体へ渡すなら、ファイルのほうが扱いやすい
4CF精算表 Step 7(17:46)MP4 の書き出しが始まっていた止めさせた(7a、7b、7c の3本まで書き出し済み)「最終版だけ MP4」の指示を、別のセッションにもう一度言うことになった
5サイドバー(06:19)「セクション → チャプター → 動画」の3階層に組み直させた「違う違う、ミラーカラムに」と訂正し、3列を経て2列に閉じるボタンの構成になった頭にあったのは講座の「2列に閉じるボタン」だった
6カメラの手直し(12:23)範囲を丸いつまみのドラッグで直そうとした微修正がしづらく、4つの値を入力欄に常に出し、−/+ で1ずつ直せる形にしてもらった手直しは数値で指定するほうが速い
7Workers の実測(07:19)メモリ価格の公開ページをパーサーに通させたパース結果は0件。既存スクリプトの呼び方を確かめさせ、R2 の HTML をそのまま読ませると DRAM の4グループ、19品目が取れたクラウドで動かす前に、手元の呼び方を写すほうが早い
8透かしの検証(09:59)AudioSeal と WavMark の検出器を当てさせた10分を超えてバックグラウンドに回り、GPU 版 torch で動かし直した。どちらからも透かしは出なかった検出器を知らない透かしは確かめようがない
9プロンプト監査(06:52)prompt-audit の patch を当てさせたCRLF が崩れ、切り出し処理を作り直させた。記事の「103行減った」は「100行削除、3行追加」に直させたpatch は修正前の状態から作るので、直したあとは使えない

今日の学び

  • 同じ重いテストを、セッションの数だけ流す必要はない。変えたファイルの単体テストと、既存動画の全コマの指紋で影響が無いことを示せば足りた
  • 作業を別の機械へ移すと、成果物もそちらに残る。Mac で合成した音声は、取り寄せるまで Windows のプレビューで「音声なし」と出ていた
  • 「クラウドに移せば make-diary が軽くなる」という見立ては、前日のログを測ると外れた。統計チェーンの伸びはサブエージェントの側で起きていた
  • 音声入力で固有名を言うと、別の語に化けることがある。この日は「Wrangler」がディスク分析ツール2本のことだった

明日やること

  • CF精算表 Step 7 のカメラの手直しの共通点を確認して答える(判断3件)
  • CF精算表 Step 7 総合演習の動画の確認の続き(7b 5:19〜、7a、7c〜7f、講義ノート)
  • 関数の章の再現動画をプレビューで確認し、最終版の MP4 と Web への組み込みへ進める

関連記事

#日記#Claude Code#並列セッション#Excel講座#Cloudflare Workers#TTS