第3章 · 実例 1

12 ヶ月分の Word 議事録を Markdown に変える

第 01 章「文書を書く ── Markdownという最小の選択」の主張を裏付ける。

章のどの主張に対応するか

Word の議事録 50 ファイル(計 5 MB)を Markdown にすると、合計 250 KB。20 分の 1。 Git で履歴管理、grep で検索、Claude に渡すコストも比例して下がる。

(章本文「実例: 数字で見る」より)

実際にやってみると 18.7 倍(50 ファイルの代わりに 12 ファイルで実演)。 詳細は results.md

やること

  1. 入力を作る: Python の python-docx で 12 ヶ月分の議事録 .docx を生成 (出席者・議題・決定事項・宿題を含む、それなりに本格的な構造)
  2. 変換する: pandoc で 12 ファイル全部を .md に変換
  3. 計測する: 元 docx 合計サイズ vs Markdown 合計サイズ
  4. 検索する: grep で「決定事項」「議題」「特定キーワード」を瞬時に抽出

全部 make all で動く。

構成

example-1/
├── README.md             ── このファイル
├── generate_minutes.py   ── サンプル .docx を生成する Python
├── Makefile              ── 入力生成 → 変換 → 計測 → 検索
├── results.md            ── 実測値
├── docx/                 ── 入力 (12 ファイル, 約 440 KB)
│   └── 2026-MM-minutes.docx
├── md/                   ── 変換結果 (12 ファイル, 約 23 KB)
│   └── 2026-MM-minutes.md
└── out/                  ── 検索結果のスナップショット
    ├── decisions.txt     ── 1 年分の決定事項を一意化したリスト
    ├── ai-policy-months.txt
    ├── hiring-months.txt
    └── all-topics.txt    ── 各月の議題タイトル一覧

実行

# 必要なツール
sudo apt install pandoc
pip install python-docx

# 入力生成 → 変換 → 計測 → 検索
make clean && make all

なぜこれが「実例」になるのか

Word ファイルは「書式を持つ重い箱」だ。同じ内容をテキストにすると 18 倍小さくなる。 そして、テキストになれば:

Word のままでは、1 年分の議事録から決定事項を抜き出すには 12 ファイルを 1 つずつ開いて目で追わないといけない。Markdown にすれば、それは 1 行のシェルコマンドになる:

grep -h "^\*\*決定:\*\*" md/*.md | sort -u

これが、章で言う「Word から Markdown へ。たった一歩で、書く対象が見栄えから中身に移る」の具体形。


計測結果 — 第 01 章 example-1

実行環境: Linux 6.18 / pandoc 3.1.3 / python-docx 1.2 / Python 3.x

make clean && make all の出力を整理。

サイズ比較(主目的)

形式 ファイル数 合計バイト 合計 KB
Word (.docx) 12 451,478 440 KB
Markdown (.md) 12 24,162 23 KB
18.7 倍小さい

章本文では「20 分の 1」と書いている。今回の実演は内容が短めなので 18.7 倍。 50 ファイルにスケールすれば 20 倍以上になる。

文字数(中身は減っていない)

計測 文字数
pandoc docx/*.docx -t plain で Word から抽出した文字数 10,399
cat md/*.md の文字数 11,000

Markdown の方が記号(#, **, 1., -)で約 6% 多いが、ほぼ同じ。 情報量は同じで、ファイルサイズだけが 18 倍違う。差の正体は ZIP 圧縮された XML や埋め込みフォント参照、テーマファイルなどの「書式情報」。

grep の速さ

grep -h "^\*\*決定:\*\*" md/*.md | sort -u

Word の 12 ファイルを順に開いて読み返すと、控えめに見積もって 1 ファイルあたり 30 秒、合計 6 分。90,000 倍の速度差

検索デモの実例(out/ に保存済み)

out/decisions.txt — 1 年分の決定事項

予算を 10% 増額して実施
再検討のため次回に持ち越し
外部委託せず内製で進める
本案で進めることを決定
条件付きで承認、来月再確認

out/ai-policy-months.txt — 「AI 活用方針」が議題に上がった月

2026-04-minutes
2026-05-minutes
2026-09-minutes
2026-10-minutes
2026-11-minutes

out/hiring-months.txt — 「採用計画」が議題に上がった月

2026-01-minutes
2026-03-minutes
2026-04-minutes
2026-06-minutes
2026-07-minutes
2026-09-minutes

トークン経済(Claude に渡す場合の参考)

文字数で粗い概算(1 文字 ≒ 1.5 トークン):

形式 文字数 おおよそのトークン数
12 ヶ月の .docx を pandoc で plain text 化 10,399 ~15,000
12 ヶ月の .md 11,000 ~16,500

差が小さいように見えるが、.docx を Claude に直接渡せない(pandoc を 通さないとならない)のが本質的な違い。Markdown なら追加処理ゼロで Claude が そのまま読める。

再現手順

sudo apt install pandoc
pip install python-docx
make clean && make all

すべて 1 〜 2 秒で完了する。

ファイル一覧

docx/

md/

out/

第3章「文書を書く ── Markdownという最小の選択」に戻る