財務諸表のテキストを節ごとの動画にする:Claude Codeのサブエージェント5体で1〜5章の台本と画をそろえた

開発eurekapu-nuxt4

財務諸表のテキストを節ごとの動画にする:Claude Codeのサブエージェント5体で1〜5章の台本と画をそろえた

財務諸表のテキストページと、B/S と P/L を比例縮尺で描くアニメーションのページ。 朝はこの2つを Claude Code に渡して、テキストを動画にする計画から始めた。 2本目のセッションの途中で、1〜5章の30節すべてに台本の語りが入った。 ただ、声はまだ一つも入っていない。 声の無い動画を、どうやって確かめながら進めるのか。

承認された計画書を、1章から順に組み直す

最初のセッション(7時58分〜)では、調査役のサブエージェントを3体出した。 担当は、教科書の棚卸し、mdx-playground にある部品、動画の基盤の三つである。 3体の報告がそろってから、計画書と図2枚を書かせた。

計画書は、Codex のレビューで3点の指摘を受けた。 ROE の定義、過去時点の情報の管理、金融データサービスAのデータの利用条件である。 3点とも反映させ、再レビューで承認が出た。

決めることは6件あり、計画書の HTML に決裁フォームを付けてもらってボタンで答えた。 フォームのサーバーは一度起動に失敗した。 ポート8899を別のセッションのフォームが使っていたので、8912 に変えてもらった。 6件とも推奨案で答え、コメントを2件付けた。 「見せ方は全回で一貫させる」と「変曲点を見つけて決算で裏付ける」である。

ここで計画は一度できあがった。 そのあと、同じ依頼文をもう一度貼った。 Claude Code が言い直した方針は次のとおり。

  • テキストの1章から順に、節ごとに動画にする(ROE を特別扱いしない)
  • プレビューのページは、Excel や財務諸表の画面再現と同じ部品を使う(ミラーカラムの目次、再生、速度、完了、矢印キー)

承認済みの計画を、テキストの章立てに沿う形へ組み直したことになる。

1本目の 1-1 を撮って直す

共通部品(目次、操作の行、再生の時計、外枠)を書かせてから、1章1節の企業データと比例縮尺の描画に進んだ。 途中で、正規表現の置換が tx. まで広く削ってしまい、該当行を Edit で直させた。 テスト11件が通ってから、ブラウザで描画を撮らせた。

撮ったコマから、直すところが3つ出た。

  • 小さな「その他・税金」のラベルが B/S の陰に隠れていた
  • 小さな P/L の箱の外に出したラベルが、B/S とぶつかって重なっていた
  • 比較の場面で、2つのハイライトが同時に点いたままになっていた

読み込みの途中で撮ってしまったコマもあり、撮り直させた。 各段階のコマが崩れていないことを確かめて、ようやく 1-1「決算書とは「数字の翻訳」」ができた。 音声はまだ作っていないので、文字数から見積もった仮の時刻で動く(約1分半)。

コンテキスト50%で引き継ぎを書き出す

1-1 の内容は、うまくまとまっていると感じた。 このまま順に進めてもらうことにした。 セッションのコンテキストが50%まで溜まっていたので、引き継ぎのプロンプトをダウンロードディレクトリのテキストファイルに書き出させた。 計画書の進み具合も更新させ、プロンプトに含めた。

ローカルでやる必要があるかを考えたが、あまり無いかもしれないと思い直して、そのまま進めた。 音声は、ある程度まとまってから MacBook でまとめて合成する。 それまでは台本と画を出してもらい、自分が倍速で確認していく。 声の無い動画の確かめ方は、ここで決まった。

照合を任せてから、章ごとの並行制作へ

2本目のセッション(9時10分〜)は、引き継ぎファイルのパスを渡すところから始めた。 1-2 以降で使うニトリの C/S などの数字を、EDINET のデータから拾わせた。 有価証券報告書との照合はサブエージェントに並行で任せ、そのあいだに 1-2 の台本と画を書かせた。 1-2 のコマでは、小さい箱の外に出した字に黄色が敷かれない不具合が見つかり、直してもらった。

照合の報告が届いたあと、Claude Code にも PDF のテキストで数か所を確かめさせた。 裏付けが取れたので数字を直し、verified: true にした。 画面に出ていた「有報と照合前」の表示も消えた。

並行制作の前に、描画の種類に線とパスを足させた。 エージェントが共通の枠を触らずに、矢印やかっこを描けるようにするためである。 作業指示書を書かせ、計画書の §6-1 に進め方を書き込ませた。 そのうえで、第1陣の5体(1章の残り 1-3〜1-5、2章、3章、4章、5章)をバックグラウンドで起動した。

Chrome が混み合い、ヘッドレスに切り替えた

1章の残りが上がってきたので、全区間のコマを撮ってレビューしてもらった。 ところが、ほかのエージェントの編集でページが再読み込みされ、撮り直しになった。 Chrome がエージェント4体で混み合っていたので、親のレビューは Playwright のヘッドレスブラウザでコマを撮る方式に切り替えた。 Chrome で撮ろうとして時間切れになったスクリーンショットの通知があとから届いたが、それは使わなかった。

途中で進捗を聞いた。 2章、4章、5章は全節のファイルがそろい、3章は7節中5節まで来ていた。 少しして、1〜5章の全30節に台本の語りが入った。 語りは、どの節も9〜22文である。

章ごとのレビューで見つかったもの

報告が届くたびに、全区間を撮ってレビューさせた。 3章と5章では、縦長(1280×2160)のコマを区間ごとに3コマずつ1枚にまとめて見てもらった。

  • 2章:2-1 の「棚卸資産 1,128」が流動資産とは別の箱に見えたので、「うち棚卸資産」にした。2-4 の決算期(2023年3月期が13か月11日)は有報どおりだった
  • 5章:報告に「EDINET コード E33625 はメルカリではなく SBIアルヒだった」とあった。3章でもメルカリを使っているので影響を確かめたが、3章はメルカリ本体の有報から取っていて無事だった
  • 3章:3-7 で「オフバランス」の字がカードに重なっていたのでカードを右へずらし、出典の行に近すぎた注記を少し上げた
  • 4章:語りの年が漢数字(「二〇二五年九月期」)のまま字幕に出ていたので、ほかの章と同じ「2025年9月期」にした(5区間、10か所)

数字の足し算も章ごとに確かめさせた。 財務諸表テキストの動画のテストは、6ファイル302件がすべて通った。

/dev のページは本番に存在しない

レビューの合間に、プレビューのページ(/dev/fs-textbook-scene)について聞いた。 デプロイすれば、別の環境でも自分のアドミンアカウントで見られるという理解で合っているか。 答えは「見られない」だった。 /dev/ の下のページは nuxt.config.ts の ignore で本番のビルドから丸ごと外してあり、デプロイしてもページそのものが無い。 アドミンで開けるのは /api/admin 系の管理画面で、別のしくみである。 完了やフィードバックの記録もローカルの wrangler 経由で D1 に書いているので、確認は dev サーバー(ポート3200)を動かしている端末でしかできない。

コミット、プッシュ、ダッシュボードへのリンク

MacBook で見たかったので、コミットとプッシュを頼んだ。 4章のエージェントがまだ動いていると思っていたが、5体とも作業を終えていた。 同じ作業ツリーで別のセッションの変更も動いていたので、この動画の作業のファイルだけを選んでコミットさせた。

83ファイル、差分12,248行のコミットになった。 Windows ではコミット時に Codex のレビューが走るが、差分が上限の10,000行を超えたので、レビューは自動で飛ばされた。 ローカルの main には、別のセッションが作ったシミュレーション部品のコミットが2つ、プッシュされずに載っていた。 一緒に上げてよいかを確認され、「y」と答えてプッシュさせた。

次に、開発環境のダッシュボード(/dev)にこのページがつながっていないことに気づき、リンクを頼んだ。 ダッシュボードに載っていないページは4つ見つかった。 テストを全件流してしまう場面があり、止めて関係するものだけ流し直させた。 ダッシュボード自体にはテストが無いので、画面で確かめた。 「講座ごとの制作の流れ」で、財務諸表の読み方の「画面再現」が「計画中」からカードに変わった。 タイムラインの行からも同じページに飛べる。 ヘッドレスのブラウザで撮り、リンクが2か所あることを確かめさせた。 こちらのコミットは、Codex のレビューを通った。

一度きりのページにもタグで優先度を付ける

スクリーンショットを見ながら、キャラクターの30表情まわりのページが一覧に入っている気がした。 確かめると、見立てには「載せずにそのままにしておくのが良い」と書いてあった。 そう判断した経緯を覚えていなかったので、入れてもよいことにした。

そこから考えを広げて、一度きりの施策ページも一覧に含めることにした。 自分がタグを付けたら、その順に並び替わって下のほうに出る形である。 全部が載っていて、優先度も付けられる。

作る前に2点を確認され、タグは固定の3段、保存先はリポジトリのファイルに決まった。 純粋関数とテストを先に書かせ、API、データファイル、コンポーネントの順に進めた。 画面では、素早く2回押したときと2枚を続けて押したときの動きまで確かめさせた。 テストのスクリプトがカードを特定しきれなかったので、カードの題名で指す形に直した。 エラーが1件出たが、壊したファイルで試したときの500で、想定どおりの動きだった。

消えない不具合報告の表示

別のセッション(11時50分〜)では、画面に出た不具合報告の表示が消えずに戸惑った。 Claude が作った Anthropic への送信待ちの下書きで、どれかを選ぶまで残る仕組みだった。 そのうち消えたが、送信されたのか破棄されたのかは分からない。

学びメモ

  • 声の無い動画は、台本と画を先に出して倍速で確かめる。音声は、まとまってから MacBook でまとめて合成する
  • 並行するエージェントが Chrome を取り合うと、親のレビュー用のコマが撮り直しになった。親のレビューはヘッドレスブラウザに分けて撮り続けた
  • /dev/ の下は本番に存在しない。「アドミンなら見られる」という理解は外れていた

次にやること

  • 1〜5章の30節の台本と画を倍速で確認する
  • ある程度まとまったら、MacBook で音声をまとめて合成する
  • 6〜12章の並行制作に進む
#Claude Code#サブエージェント#財務諸表#動画制作#Nuxt