簿記教材のストーリー版に書籍の図を差し込む。Illustratorの一括書き出し、メモリ不足、Macが見つからない問題
簿記教材のストーリー版に書籍の図を差し込む。Illustratorの一括書き出し、メモリ不足、Macが見つからない問題
Mac に送るはずの依頼が止まった
朝は前日の引き継ぎファイルから再開した。 最初の作業は、ストーリー版の音声を1クリップだけ作り直すことだった。 合成は Mac 側でやる段取りなので、Mac の Claude Code へ依頼を送ってもらう。
ところが、送信の手前で止まった。 LAN 上に「Mac の受信サーバー」と名乗る機械が2台あり、どちらも登録済みの Mac の機器番号と一致しなかったためだ。 確かめずに送れば、別の機械にトークンが渡るおそれがある。 Claude Code はそう判断して送信を止め、報告してきた。
この件は、ちょうど別のセッションで切り分けている最中だった。 そこで、こちらのセッションには待ってもらった。 止まる前に、Claude Code は宛先の登録を1か所書き換えていた。 別セッションの結論を貼ると、その書き換えは元に戻してもらえた。
結論は次の3点だった。
- 自動探索では Mac が見つからないので、宛先を明示して送る
- ファイルは SSH で受け渡す
- R2 は経由しない
もう一つ分かったのは、有線と Wi-Fi で Mac の宛先が変わることだ。 これが cross-machine-message スキルに反映されているか聞くと、まだだった。 スキル本体にも送信ヘルパーにも、今日の内容は入っていない。
宛先を明示して送ると、依頼は Mac に届いた。 取り込んだ wav のハッシュは、Mac 側の報告と一致した。 合成したのは差し替えた1文だけで、残りの159文は前回の合成を使い回している。 小節に合っているかのグリッド検査も通った。
書籍の図には「縦長版」が無かった
ストーリー版には、もともと入門編の画像が入っている。 そこへ書籍版のコマを足しているのだが、書籍のコマは横長の Web スライドで、上に表題の帯が付いている。 表題とメッセージラインを外した縦長の図は無いのか。
Claude Code に Illustrator ファイルのコピーを調べさせた。 2021年の電子書籍版のファイルでは、アートボード57枚がどれも1ページ単位で、メッセージラインを外したものは無かった。 商品売買の章では、全220コマのうち63コマ(約3割)が書籍から差し込んだコマだった。
全部をそろえないと見栄えが落ちる。 ただ、手間がかかりそうだ。 そう伝えると、Claude Code は、入れ替えが要るのは約620枚で大半は第1章だと見積もった。 まず1本だけ試すことにした。
試しは、Illustrator ファイルのコピーをさらに複製し、そちらをスクリプトで開く形で進めた。 途中、perl の置き換えで JSX を壊して書き直す場面があった。 それでも「仕訳の作り方」の7ページを、表題とメッセージを外して書き出せた。
切り抜けているか心配だったので、HTML で見せてもらった。 確認ページには画像23枚が並び、矢印キーでコマを送る表示も足してもらった。 コマを送ると、アニメーションのようにつながって見えた。 これでいい。 同じ図かどうかの判断はコマ送りで Claude Code に任せ、全部を同じ決まりで切り抜いてもらうことにした。
並行して、音声がまだ無いコマに「音声なし」の印を付けてもらった。
あるのか無いのか、見ただけでは分からなかったからだ。
コミット時の Codex レビューには、レビューしても意味のないファイルを外すよう伝えた(コミット c4512cad)。
41本の書き出しが、メモリで3度止まる
書き出しは 10:37 に始まった。 見込みは2〜3時間だった。
最初につまずいたのはメモリだ。 空きが足りなくなり、Claude Code の仕組みが待機中のバックグラウンド処理を2つ止めた。 Claude Code が自分で起動した dev サーバー(約 2.6GB)を止めると、空きは 3.6GB から 6.3GB に増えた。 さらに、別リポジトリの dev サーバーと常駐アプリ2つを落としてよいと伝え、空きは約 9.5GB まで戻った。
次はダイアログだった。
リンク切れの画像があると「無視」のダイアログが出て、自分が押さないと先へ進まない。
自動化できないか聞くと、Illustrator には警告ダイアログを出さない設定(UserInteractionLevel)があるという。
設定はすぐには効かず、書き出しの合間に Illustrator の手が空いた時点で 2 から -1 に切り替わった。
それでも、9本目で 11:29 から「応答なし」になった。
Claude Code が撮った画面にはダイアログが写っていなかったが、こちらの画面には「無視」が出ていた。
押すと処理は進んだ。
そこで次の版から、ファイルを開く直前に毎回この設定を入れる形に変えてもらった。
2度目の停止は、外側のバックグラウンド処理だけが止められた形だった。 Claude Code は「中の PowerShell は残っていて、書き出しは続いている」と報告した。 この見立ては外れていた。 あとで Claude Code が自分で訂正したところでは、確認コマンド自身を PowerShell の生き残りとして数えていた。 書き出しは、42番のファイルを終えたところで止まっていた。
そのあと切り抜きの決め方を直し(メッセージの見分け方、上の線をそろえる範囲、文字だけのページを書き出さない、_old を除く)、残りの39本を書き出し直した。
3度目の停止はここで起きた。
Illustrator が前の書き出しのメモリを抱えたまま 4.8GB になり、使用率は 88% に達していた。
開いたファイルを閉じても、メモリは返らないようだ。
Illustrator を一度終了させ、メモリが 3GB を超えたら起動し直す基準を書き出しスクリプトに入れてもらった。
途中で、使っていないのに立ち上がる SQL Server が気になった。 税務ソフト用のものだ。 Claude Code は「止めても空くのは約 0.3GB」と答えたが、タスクマネージャーではもっと使っている。 そう伝えると、Claude Code が見ていたのは別の数え方(ワーキングセット)で、実際は約 1.5GB だった。 メモリは 95% まで上がっていた。
Illustrator と書き出しを落とさせて、34番のファイルから再開した。 しかし、そのうち Illustrator 自体が立ち上がらなくなった。 ここで止めると決め、進捗を計画書の8章に書き残させた。 この時点で済んでいたのは、41本中29本である。
書籍のコマを全章に差し込み、食い違いを洗う
別のセッションでは、書籍版のコマを全章に差し込む作業を進めていた。 差し込み方の案は1を選んだ。
まず、画像の相関で講義ノートと書籍の図を Claude Code に突き合わせさせた。 相関が 0.7〜0.9 の56組などを目で確かめさせ、31組の判定を直させた。 原稿から拾った本文には図の中のラベルが混ざっていたので、文字数の少ない塊を除く処理を足させた。
差し込み先の一覧は 216組、548枚になった。 全17ファイルに入れても、既存の節、図、文の削除は0行だった。 文の無い「図だけのコマ」を見直したあとは、差し込むのは499枚になり、図だけのページ22枚は保留にした。
表示を確かめると、伝票の章の画像9枚が R2 に無かった。 中身は正しい伝票の章のスライドだった。
仕上げとして、既存の講義ノートと書籍の説明が食い違う箇所を、5つの調査役に並行で洗い出させた。 報告は18件だった。 うち8か所は Claude Code 自身の差し込み位置の誤りで、決算整理後のページに書籍の「決算整理前」の文が入っていた例もある。 本文から数字が抜けていた2か所も直させた。 書籍側の誤りもあり、「売掛債権」とあるべきところが「売掛債務」になっていた。
判断が要るものは6件にまとまり、判断用のページが立った。 6件とも推奨の案Aで答えた。 そのあと、保留にしていた図だけのページも入れる形に、差し込み計画の作り方を直させた。 書籍の文の直しは15か所とも当たり、テスト63件が通った。
最後に残ったのは画像の配信だった。 9枚を R2 に上げると、どれも「Upload complete」になったのに、配信の URL は 404 を返す。 R2 には入っていて、以前の 404 が CDN のキャッシュに残っていた。 Claude Code はキャッシュ削除の手順書を読み、消す前に「消してよいか」の確認を求めてきた。 そのあと、9件の URL だけに絞ってキャッシュを消してもらった。 9枚とも 200 を返し、dev の伝票の章でも読み込めない画像は0件になった。 計画書を最終の状態に更新し、引き継ぎを書いてこのセッションを閉じた。
623コマを差し替えたら、並び順のずれが見えた
夕方は、書き出しのセッションが残した引き継ぎから再開した。 照合をやり直すと、切り抜きを採用するのが734コマ、いまの画像のままが965コマになった。 見た目だけで採用した202コマは、左右に並べた比較画像で1枚ずつ確かめさせた。
同じ節で続くコマのうち、切り抜きの高さが少し違う組が37か所あった。 コマを送ると図が動いてしまう。 上に余白を足して高さを揃える処理を入れ、136枚を揃えた。
書き出し済みの29本の分をストーリー版に反映すると、差し替えは623コマになった。 dev で180節、901枚を開いて、画像の欠けは0だった。 テスト4本(63件)も通った。 残りは144コマで、基礎知識の章では6コマが横長のまま残る。 その6コマの URL を出してもらい、Illustrator の書き出しは明日に回した。
コミットを頼んだあと、仕訳が左右に分かれる理由を説明する節で、説明の並びが元と違うことに気づいた。 電子書籍版の並びのほうが正しい。 Claude Code に調べさせると、並び順のずれは全67章中30章、34節にあった(逆戻り38か所、同じページの重複21か所)。 原因は、書籍のコマを書籍の並びどおりに入れず、節の後ろにまとめて足したことだった。 正しい並びの参照先として自分が挙げたアプリのドメインは、聞き違いだった。 正しいドメインのスライド一覧は、いまも開ける。 貸借対照表の構造を説明する節の1コマ目は、図が浮いて見えるので無くてよい、と答えた。
並行して、Codex にロジックのレビューを頼んだ。
指摘の一つは、開発用の音声配信が HEAD リクエストでも R2 から音声全体を取ってきて保存してしまう点だった。
HEAD のときは中身を取らないように直させた。
Illustrator のスクリプトが作業用のコピー以外の文書を触らないようにする修正も入れた。
再レビューで出た3件(中、中、低)も直し、最後のコミット f35a4f70 はコミットゲートの Codex レビューを指摘なしで通った。
並び順の修正は、2点の確認への答え待ちで止まっている。
学びメモ
- 縦長版の図が手元に無くても、Illustrator の原稿からスクリプトで表題とメッセージを外して切り抜ける。コマ送りの確認ページを用意すると、同じ図かどうかを送りながら判断できる
- Illustrator はファイルを閉じてもメモリを返さないようだ。長い一括書き出しは、使用量の基準を決めて起動し直す前提で組む
- Claude Code の「残っている」「0.3GB しか空かない」は、どちらも数え方の誤りだった。プロセスやメモリの報告は、何を数えたかまで確かめる
- 書籍のコマを節の後ろにまとめて足すと、30章で並びが崩れた。差し込みは原本の並びを基準にする
明日やること
- Illustrator の書き出しを再開する(41本中29本まで済み)
- 横長のまま残る144コマを、計画書 8-4 の内訳に沿って差し替える
- 仕訳の左右の節を含む並び順のずれ(30章、34節)を、電子書籍版の並びに直す
- cross-machine-message スキルに、有線と Wi-Fi で宛先が変わることと SSH での受け渡しを書き足す