はじめに
AI-DLCを使って、既存システムへの機能追加(ブラウンフィールド開発)をしたい…!
AI-DLCでは、設計・実装・レビュー・テストといった開発プロセス全体にAIを組み込みます。
そのために、まずはAIに読み込ませるドキュメントが必要になりますが、設計書は主にWord、Excelで作成済みだったので…
今回は MarkItDown というツールを使って、ドキュメントをMarkdownに変換する方法を紹介します。
MarkItDownとは
MarkItDownは、Microsoftが公開しているドキュメント変換ツールです。
WordやPDFなどを Markdown形式に変換できます。
Word (.docx)
↓
Markdown (.md)
LLMに入力するなら、やはりマークダウンで渡すのがベストでは?
ということで、手元のWordやExcelで作成された設計書を簡単にマークダウン化してもらいましょう。
事前準備
Pythonのバージョン確認
まずPythonがインストールされているか確認します。
python --version
Python 3.10以上であればOK。
MarkItDownのインストール
※依存ライブラリが多いので、公式でも仮想環境での実行がオススメされています。
①仮想環境を作成
python -m venv .venv
②有効化
- Mac / Linux
source .venv/bin/activate
- Windows
.venv\Scripts\activate
③インストール
pip install 'markitdown[all]'
Word → Markdown 変換
変換はとてもシンプルです。
事前にドキュメントをプロジェクト配下に配置して、以下を実行!
markitdown sample.docx > sample.md
出力例
例えばWordに以下の内容があったとします。
タイトル
・手順1
・手順2
変換後のMarkdownはこうなります。
# タイトル
- 手順1
- 手順2
画像がある場合
Wordに画像がある場合は
images/
フォルダが作成され、Markdown内にリンクが貼られます。
※画像自体をマークダウン化したい場合は、さらに別でLLMを使用する必要があります。
例:

フォルダ構成の例
project
├ sample.docx
├ sample.md
└ images
├ image1.png
└ image2.png
気になる精度は
ぱっと見はいい感じ。しかし気になる点もありました。
【Word】
1. 謎リンク発生
上記のようなページリンクは 1. 概要 4 のように変換され、機能していませんでした。
2. それ、要らないけどな…系
| 日付 | 版数 | 内容 | 作成者 |
|---|---|---|---|
| 2025/11/01 | 1.0 | 初版 | |
空行の表は空行ありのまま変換されました(これくらい仕方ない?書いてあるものだし…)
3. 色は認識してくれない
たとえば「赤字は追記事項です」としても、そこまではマークダウンに反映してくれない。
【Excel】
4. 邪魔すぎるNaN
よくあるExcelでの表は以下になりました。
通知一覧表
| Unnamed: 0 | Unnamed: 1 | Unnamed: 2 | Unnamed: 3 | Unnamed: 4 | Unnamed: 5 | Unnamed: 6 | Unnamed: 7 | Unnamed: 8 | Unnamed: 9 |
|---|---|---|---|---|---|---|---|---|---|
| 通知機能一覧表 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
| No. | 通知名 | 機能分類 ※1 | バッチ分類 ※2 | 情報元 | 通知先 | 通知方法 | 頻度 | 通知内容 | 補足 |
| 1 | テスト通知 | NaN | NaN | NaN | NaN | Slack | 即時通知 | NaN | NaN |
これはさすがに…といったところ。空白が全部「NaN」に。
また、1列目が空いてると人間的には見やすいですが、「Unnamed: 0」となってしまいました。
5. セル結合は無視される
やはりセル結合はマークダウン化には反映できなかったです。
まとめ
ドキュメントのマークダウン化は、シンプルなものならMarkItDownはオススメです。
テキスト、表そのものの出力精度は高いです。
特にWordなら、大体はイメージ通りの結果を出してくれます。
Excelは超シンプルな表なら良さそうですが、空白やセル結合があるとかなり微妙な結果になりました。


