ChatGPTとの技術的なやり取りがどんどん蓄積されてきたので、
「どうせならそれを自動でブログ記事に変換してしまえ」と思い、
差分抽出 → 要約 → Markdown変換 → Notion・WordPress投稿までを自動化する仕組みを作りました。
さらに、FlaskでWebUI化も行って、ブラウザから操作できるようにしています。
背景と目的
ChatGPTとの会話には技術メモや開発のヒントがたくさん含まれているのに、
あとから見返そうとしても情報が多すぎて整理できない…ということが頻発していました。
そこで、以下を目的にした仕組みを構築:
- ログから新規の会話だけを抽出したい
- Markdown形式に整えて保存したい
- タグやカテゴリも自動でつけたい
- NotionやWordPressにも投稿したい
- できれば全部WebUIで完結したい
全体の流れ
- ChatGPTからZIP形式でログ(
conversations.json)をエクスポート(週1) - 前回との差分を抽出(
MakeDiffText.py) - 差分だけをChatGPT APIに投げて要約&タグ生成
- Markdown形式の記事を生成
- Notion / WordPress にAPI経由で投稿
- FlaskでWebUIを構築し、操作を可視化
差分抽出について
ChatGPTのエクスポートデータは巨大なconversations.json。
前回との差分を「会話単位」で抽出することで、新規の話題だけを対象にできます。
この仕組みで、過去と被るやり取りは省きつつ、重要な会話だけを抽出できます。
要約とタグの生成
ChatGPT APIにそのまま渡すとコストがかさむので、
差分ログからコードブロック・冗長な応答を除去してトークン削減を実施。
要約時には、以下の情報を一括生成:
- 要約本文(Markdown形式)
- タイトル候補
- カテゴリ / タグ
このおかげで、下書き調整ほぼ不要でブログ記事として投稿可能になりました。
WebUI(Flask)での操作画面
Flask上に簡易な操作画面を作ることで、CLIを触らずに一連の処理が可能になります:
- ZIPアップロード(Before / After)
- 差分確認・修正
- 要約&タグ生成 → プレビュー
- Notion / WordPress 投稿
実際の運用感
- ChatGPT API:9000文字要約あたり7〜10円程度
- 要約前に不要部分を自動化カットして月300~500円前後で回せるコスト感
- 手動でブログを書く手間と比べて圧倒的に効率的
今後の展望
- 投稿履歴の一覧化(Flask + SQLite)
- 差分粒度や順番の調整機能
- UIをもう少し整える予定
まとめ
「ChatGPTとの会話がそのまま記事になる」この仕組みを作ってから、
ブログを書くハードルが一気に下がりました。
とくに「あとでまとめようと思って放置しがち」な人にはおすすめです。
全部自動にする必要はなくても、差分抽出や要約部分だけでも取り入れると、
開発の知見ストックがかなり効率化されるはずです。
関連リンク
- ブログ: https://syunpp.com
- 公開中のアプリ: https://syunpp.com/公開中のアプリ一覧/
- YouTube(開発ショート): https://www.youtube.com/@syunpp_8413/shorts
