法人税の別表解説を動画にする:図の仮選定、講義ノートの数字の食い違い修正、Mac側への音声合成の依頼

開発eurekapu-nuxt4

法人税の別表解説を動画にする:図の仮選定、講義ノートの数字の食い違い修正、Mac側への音声合成の依頼

法人税申告書の別表四と別表五を解説する講義ノート(別表講座)を動画にする作業を始めた日だった。 朝の時点では、本文約5.4万字(9章と第0章)と、Claude Code 版と Codex 版の2系統で描かせた図のギャラリーがあった。 夕方には、全56本のうち10本の音声が Mac 側で合成し終わっていた。

図は自分が選び終わるのを待たずに進める

最初に計画書と、決めてほしい5問の決裁フォームを作ってもらった。 Codex のレビューでは「推奨案は着手可、ただし決定2のB(参考書の数値を使う案)は除外」という判定が出て、それを反映してから受け取った。

あわせて、ギャラリーの各図に「採用(Claude Code版/Codex版/両方を混ぜる)」のボタンとフィードバック欄を付けてもらった。 押した時点で Cloudflare の D1 に保存される作りである。

ここで迷ったのは、図の採用を全部決めてから動画に入るかどうかだった。 自分で選ぶのが最終版だとしても、選び終わるまで動画が止まるのはもったいない。 そこで、いったん Claude Code に仮で選んでもらって動画制作を進め、自分の選択と食い違ったら後で差し替える、という非同期の進め方にした。 仮の選択はギャラリーにも表示してもらい、食い違いが一目で分かるようにした。

サンプルの1本目は「1-6 留保と社外流出に書く項目」で、8段の台本、論点の地図、別表四の画面でできている。 金額はすべて数値セットから引く。 テストを書いてもらうと、10,000,000 の読み上げが「千万」になっているのが引っかかり、「一千万」に直してもらった。 字幕の「約560,000円」も、読み上げに合わせて「約56万円」に変えた。

「はじめに」の4本と、別表どうしのつながり

サンプルを見て、内容はこれでいいと思えた。 そのうえで2つ頼んだ。 1つは「はじめに」の4本を先に仕上げることである。 講座の特徴や価値が伝わるのは、この冒頭だと感じたからだ。 もう1つは、別表四と別表五(一)、別表五(二)のつながり、そして P/L や B/S とのつながりが分かる回を優先して動画にすることだった。

コミットの段階で、同じリポジトリの別セッション(財務諸表講座)が共有のインデックスにそのセッション自身のファイルをステージしていた。 そこで git commit --only で自分のパスだけをコミットしてもらった。 Codex のコミットゲートは4巡目で、数値セットを差し替えたときに解説の条件が壊れていても書き出せてしまう、という指摘を出した。 1行で直る話なので直してもらった。

「はじめに」の4本のために、総合事例の P/L、B/S、別表五(一)、別表五(二)を数値セットに足し、値は164個になった。 帳票7枚は、生成器に組み込まれた合計の検算をすべて通った。 帳票のあいだに矢印を伸ばし、数字を運ばせる仕掛けもここで入った。 テストは48件通った。

途中、直してもらったはずの stage.ts が、直後にステージ済みの版へ戻っているのが見つかった。 直しを当て直して、ディスク上で確かめてからコミットした。

ここで計画書の進捗を更新してもらい、引き継ぎのプロンプトをダウンロードディレクトリのテキストファイルに書き出させて、/compact した。

ワークツリーで別セッションと分ける

引き継ぎを渡すときに気づいた。 本線の作業ツリーは別セッションも触っている。 ワークツリーを切って、ほかのセッションと重複しないように頼んだ。

ブランチ beppyo-video のワークツリーと、そこ専用の dev サーバーで、つながりの回を5本作ってもらった。 5本には、第1章4(3分44秒)、第3章6「様式と決算書・別表四とのつながり」、第4章1「すべては別表四と五(一)へ」、第5章4「留保所得と利益積立金額のつながり」が入る。

画面の配置は何度も組み替えた。

  • 縦に積んだ帳票の間の矢印が数字の列を貫く → 3枚を横に並べる
  • 矢印が計算表の数字の上を横切る → 矢印の先を行の左端にする
  • 4枚を2段に並べると字が小さすぎる → 「P/L|別表四|別表五(一)|B/S」の横一列にする
  • 寄ると隣の帳票が見切れる → 間隔を広げ、隣を薄く消す focusFade を足す

最後の第5章4の本文を検算してもらうと、第2期の例の数字が食い違っていた。 その報告は後でまとめて受けることにして、動画のほうを先に仕上げてもらった。

2つの表はなぜ離れているのか

レビューしようとして、第3章6は見られるのかと聞いた。 ワークツリーから D1 を読もうとすると、wrangler がエラーで落ちていた。 これを直してもらい、ついでに第1章4の列幅も詰めてもらった。 文字は以前の倍近い大きさになった。

それでも画面を見ると、別表四と P/L の間がぽっかり空いていた。 「なんでこんなに遠くしてるのか、もっと寄せればよくないですか」と画像付きで指摘した。

原因は、真ん中の「益金と損金の計算」表を消しても、その場所が空いたまま残る作りにあった。 写していない帳票を消すときは列ごと詰めて、写す帳票どうしを横に滑らせて寄せるように直してもらった。 寄せた後も、消えた P/L の「当期純利益」の黄色い光だけが別表四の上に残っていたので、光と枠も帳票と一緒に消すようにした。

ただ、直った画面を見て、別の疑問が湧いた。 P/L から別表四へ矢印を出したあと、毎回 P/L を消している。 消す必要はないのではないか。 P/L を左、別表四を右に置いたまま、項目ごとに1本ずつ矢印でつなげばいい。

この指摘は、次のセッションの Step 1 にしてもらった。 進捗を更新させ、2つ目の引き継ぎプロンプトをダウンロードディレクトリに書き出させてから、また /compact した。

次のセッションでは、第1章4を差し替え、ほかの回からも帳票を消す指定を外してもらった。 テストは378件通り、矢印がほかの帳票の上を通る箇所は0になった。 最後の引きの画だけは、3枚並べると字が小さすぎたので、別表四と計算表の2枚に戻した。 この並べ方を作成済みの10本にそろえて、ブランチにコミットした。

10本のレビューは明日、数字の食い違いはいま直す

10本のレビューは翌日に回し、明日の Google タスクに入れてもらった(期日 10/7)。 講義と本文の数字の食い違いは、その場で直すことにした。 そのあと main へのマージも頼んだ。

Google タスクの登録は、まず応答の読み取りで失敗した。 二重登録を避けるため、登録されたかを先に確かめてもらった。 さらにメモの改行が文字の「\n」として入っていた。 日本語をコマンドの引数に直接渡していたのが原因で、日本語を \u 形式にした ASCII だけの JSON で入れ直してもらった。

食い違いのほうは、ステップ2の図を作る関数とそのテスト、第5章4の本文、第1章の本文を直してもらった。 図を作り直すと、無関係のはずの第0章の図まで差分に出てきた。 本番の第0章の図には、候補版にない注記2行と字の大きさの調整が手で加えられていて、同期するとそれが消える。 第0章は元どおりに戻してもらった。

画面で確かめると、図の中身は直ったのに、タイトルが「益金900と損金400を求める」のまま残っていた。 タイトルの元データも直してもらった。 第5章4の期末は 2,230+300−190−40=2,300 で、表示と計算が合った。 ブランチに main を取り込んでも衝突はなく、そのまま main へマージした。

計画書が更新されているかも聞いた。 「次にやること」が §7-9 の末尾に入っていたので、冒頭へ移してもらった。 動画は全56本のうち10本ができたところで、残りは46本ある。

音声は MacBook 側で作り、残り46本は2本のバッチに分ける

音声は、MacBook の tmux で動いている Claude Code に作らせることにした。 財務諸表講座の動画でも、Mac で Irodori を回して音声を作っている。 残り46本の動画化は別のセッションに任せ、量が多いので2つのバッチに分けた。 プロンプトは Mac 用、バッチ1用、バッチ2用の3本をダウンロードディレクトリに書き出してもらい、main も GitHub へ push した。

Mac 用プロンプトのパスを渡すと、「Windows のパスなので Mac のセッションからは開けない」と返ってきた。 Mac へ直接送る経路も確かめてもらったが、Remote Control セッションはどれもオフラインだった。 もう一度パスを渡すと、今度は2,922字の全文を Windows のクリップボードにコピーしてくれた。 欲しかったのはそれではない。 「Mac のセッションにはあなたが通信をしてください」と頼んだ。

そこから先は Claude Code に任せた。 同じネットワークの Mac に SSH で入り、tmux の claude2 にプロンプトを貼って送信してもらった。 その後は、2分ごとに Mac の画面を読んで見守ってもらった。 途中、Mac の Chrome DevTools が許可ダイアログで止まったが、Allow を押したという返事が届いて進んだ。 最終的に、作成済みの10本すべての音声が合成できた。 どの回も wav の数が段の数と合い、問題の一覧(problems.json)は出ていない。

バッチ1とバッチ2の別セッション

17時20分と21分に、バッチ1とバッチ2のプロンプトでそれぞれ別セッションを起動した。

バッチ1は第1章から第5章の24本を担当した。

  • Codex が混雑で応答せず、コミットゲートはそのまま通過した(報告に残す扱い)
  • s1-03 は仮の尺が2分32秒で下限の3分に届かず、「損金経理」の段などを足して3分22秒にした
  • 字幕に「八百万円」が残っていたので、読み上げの文字と字幕を分けて書いた
  • 空きメモリが1GBまで減ってタブが固まり、開き直した

第4章まで終えて20/24本、その後 s5-01 と s5-02 をコミットしたところでログは途切れている。 s5-03(圧縮記帳)と s5-05(演習)が残っていた。

バッチ2は第6章から第9章の22本を担当し、22本すべてをコミットまで終えた。

  • Chrome DevTools MCP が応答しないので、Playwright のヘッドレス Chromium で画面を撮った
  • 「- 事業税の損金算入 △959,000」という二重のマイナスが出たので、ラベルに「-」がある表は正の金額を持つように直した
  • 総合事例の既存データで「加算 小計 外※100,000」のラベルが誤っていたので、データを1行直した
  • 事業税の段階税率の影響(95,689.57)を、本文は切り捨てなのに条件側は四捨五入で比べていたので、切り捨てにそろえた
  • 未払法人税等は税金勘定ではマイナスなので、貸借対照表の正の金額と「一致」とは言えない、という Codex の指摘を受けて直した

振り返り

  • 図を自分で選び終わるのを待たず、仮選定で進めたので、選定前に動画を10本まで作れた。食い違いはギャラリーに表示されるので、後で差し替えられる
  • 帳票を消して寄せる直しを頼んだあとで、そもそも消す必要がなかったと気づいた。見せたいのは別表どうしのつながりなので、左右に並べて項目ごとに矢印を引くほうが合っていた
  • Google タスクのメモが化けたのは、日本語をコマンドの引数に直接渡していたからだった。\u 形式にした ASCII だけの JSON で入れ直した

10本の音声と、バッチ2の22本はそろった。 バッチ1の残り2本は、ログの終わった時点でまだ作業の途中だった。 10本のレビューは、翌日の Google タスクに回してある。

#法人税#別表四#別表五#動画制作#Claude Code#git worktree#tmux