• #別表四
  • #別表五
  • #SVG
  • #TursoDB
  • #Codex
  • #法人税
  • #ドラフト生成
  • #並列処理
開発eurekapu-nuxt4メモ

別表四・五の解説コンテンツをTurso DBから一括生成しCodexで全章レビューした記録

法人税の参考書を解説するコンテンツの骨格を1日で立ち上げた。Turso DBに格納済みの280チャンクから10章分のマークダウンドラフトを4つのサブエージェントで並列に書き出し、Codex(GPT-5.4)に全章を通してレビューさせ、致命的な指摘を片っ端から潰した。SVG図解も別表四・五の連動構造を描き切った。朝7時から17時過ぎまで、17セッションを重ねた。

SVG図解の作成: 別表の構造を目に見える形にする

別表四と別表五(一)は数字が行き来する。この「行き来」を文章で説明しても読者の目が泳ぐ。だからSVGで描いた。

別表五(一) + 株主資本等変動計算書の連動図

繰越損益金120,000が別表五(一)から株主資本等変動計算書にどう流れるかを1枚の図にまとめた。上下レイアウトを入れ替えて、株変を上に配置したことで視線の流れが自然になった。最初は別表五(一)を上に置いていたが、「変動の結果が別表に反映される」という因果関係を考えると、株変が先に来る方が読者の頭に入る。

B/S + 別表五(一)の連結図

未払法人税等2,500(B/S側)と納税充当金2,500(別表五(一)側)を矢印で接続した。会計と税務で呼び名が変わるだけで同じ数字を指していることが、図にした瞬間に伝わる。資本金等の額の図では資本剰余金と自己株式も入れて、Ⅱ区分の全体像を描いた。

別表四のSVG: 矢印のZ軸問題との格闘

損益計算書 → 別表四 → 別表一の流れを1枚のSVGに収めた。ここで矢印がテーブルの背景色に隠れる問題にぶつかった。SVGの描画順序は後に書いたものが前面に来る。矢印の<path>要素をテーブルの<rect>より前に書いていたのが原因だった。

<!-- NG: 矢印がテーブル背景の下に隠れる -->
<path d="M100,50 L100,120 L200,120" stroke="#E91E63" />
<rect x="150" y="100" width="200" height="40" fill="#F5F5F5" />

<!-- OK: 矢印をSVG末尾に移動して最前面に -->
<rect x="150" y="100" width="200" height="40" fill="#F5F5F5" />
<path d="M100,50 L100,120 L200,120" stroke="#E91E63" />

セルからセルへの直接接続にはL字型の矢印を使った。また、外枠全体をマゼンタで囲んでいた箇所を、値セルだけに絞ってマゼンタ枠を付ける修正も入れた。枠が大きすぎると「どこを見ればいいか」がぼやける。

Turso DBからのドラフト一括生成

280チャンク → 10章のマークダウン

Embedded Replicaから法人税の参考書データ280チャンクを読み取り、Ch0からCh9までの10章構成でドラフトを生成した。4つのサブエージェントを並列に走らせ、各エージェントが2〜3章ずつ担当した。

各章のテーマは以下の通り。

テーマ想定読者レベル
Ch0利益と所得のズレ簿記3級
Ch1益金・損金の概念簿記3級
Ch2留保と社外流出簿記2級
Ch3申告書の作成手順簿記2級
Ch4地方税の仕組み簿記2級
Ch5タックスプルーフ実務
Ch6中間納付の処理実務
Ch7欠損金の繰越・繰戻実務
Ch8グループ通算制度実務
Ch9包括利益と税効果実務

簿記3級レベルの読者を起点にして、章が進むにつれて実務寄りに深まる構成にした。「法人税は難しい」という先入観を持つ読者が、Ch0の「利益と所得は違う」から入れるように意識した。

Codex(GPT-5.4)による全章レビューと修正

10章すべてをCodexに投げてレビューさせた。「瑣末な点へのクソリプはしないで。致命的な点だけ指摘して」と指示して、本当に直すべきところだけを炙り出した。

指摘と修正の一覧

指摘内容修正対応
Ch0P/Lの当期純利益から別表四の所得金額への橋渡しが飛んでいる数値例を追加して、加算・減算の具体的な金額でつないだ
Ch1混合費用(交際費の損金不算入)の説明で限度額が抜けている800万円の定額控除限度額を明示
Ch2-3加算・減算の方向性が一部逆留保の増減と別表五(一)の動きを再確認して修正
Ch4延滞税の前提と仕訳処理が噛み合っていない発生時期と損金不算入の関係を整理し直した
Ch8100%子会社からの受取配当の源泉所得税処理が曖昧源泉所得税の別表四加算・別表一控除の流れを明示
Ch9タックスプルーフの符号が逆(加算を減算で書いていた)実効税率差異分析の正負を全面見直し

Ch0の修正が最も手間がかかった。「利益≠所得」というテーマなのに、P/Lの数字と別表四の数字が空中でつながっていた。税引前当期純利益1,000,000から出発して、交際費の損金不算入+200,000、受取配当の益金不算入△100,000を経て所得金額1,100,000に至る流れを、数値入りで書き直した。

Ch9のタックスプルーフは符号ミスが致命的だった。実効税率30.62%と法定実効税率30.00%の差異0.62%を分解する過程で、交際費の加算効果をマイナスで書いていた。Codexがこれを拾ってくれなければ、読者が混乱するところだった。

プレースホルダーSVG生成

22個の未作成SVGをプレースホルダーとして生成した。中に「この図は テーマ を説明するSVGです」という説明テキストを埋め込んである。VSCodeのプレビューで壊れた画像アイコンが並ぶ状態を解消して、ドラフト全体の見通しを良くした。

プレースホルダーでも「何を描く予定か」がテキストで読めると、次にSVGを本番化する際の仕様書代わりになる。

Phase 1: ドラフトページのカテゴリ機能追加

ドラフトが10章に増えたことで、一覧ページでの管理が必要になった。server/api/drafts/にcategoryパラメータ対応を追加し、drafts.vueにカテゴリ切替タブのUIを実装した。

Phase 2として「Vueスライド形式のテキスト教材化」を計画しているが、これは翌日に持ち越した。1日の中でドラフト生成とレビュー修正に集中し、UI側は最小限に留めた判断は正しかったと思う。

試行錯誤の記録

#問題試したこと結果
1SVG矢印がテーブル背景に隠れるz-indexを試す → SVGにz-indexは効かない描画順序(SVG末尾に移動)で解決
2L字型矢印の座標計算セルの中心座標を手計算viewBoxの座標系で計算し直して解決
3マゼンタ枠が広すぎて焦点がぼやけるテーブル外枠を囲む → 値セルだけを囲む値セル限定で視線が集まるように
44並列エージェントの章割り当て均等に2.5章ずつ → 内容量で3:3:2:2に変更内容量ベースの方が完了時間が揃った
5Codex指摘のCh9符号ミス手元で再計算して確認交際費の加算効果が逆符号だった

今日の学び

  • SVGにz-indexは存在しない。描画順序がそのままZ軸になる。CSSの感覚で触ると嵌る
  • サブエージェント並列生成は、章の「文字量」ではなく「内容の複雑さ」で割り当てた方が完了時間が揃う。グループ通算(Ch8)は他の章の1.5倍の時間がかかった
  • Codexレビューの「致命的だけ指摘して」という制約が効く。10章通しで6件の致命的指摘に絞られ、修正のスループットが上がった
  • プレースホルダーSVGは「壊れた画像アイコンの解消」だけでなく「将来の作図仕様書」として二重に機能する