ブログ下書きのしくみ(改)を作りました
こんにちは。Kalsarikannintのフロントエンド担当・daiです。
以前書いた記事 で紹介したやり方を発展させて、ブログの下書きを作るしくみを作りました。
中身としては、Notionにある情報を元にして、Pythonでフローを組み、その中からAI部分としてCodexをCLIで実行させる形です。これまではまだ自分でやらなきゃいけない作業が多かったですが、それをより自動化したしくみ、という位置づけです。
Notionを起点にした下書きフロー
今回のしくみでも、Notionをフローの中心に据えています。
以前と変わらず、ブログ記事の材料になるメモはNotion側にあり、それを元に下書きを作る流れです。メモをそのまま記事にするのではなく、記事として読める本文に変換する部分をAIに任せる形にしています。
全体としては、ざっくり次のような役割分担です。
- Notion: 記事の元になるタスクやメモを置く
- Python: 下書き生成の処理フローを書く
- Codex CLI: AIでMarkdown本文を生成する
- ルール: 記事の書き方やトーンをAIに渡す
Python側でフローを持っておくと、Notionから取ってきた情報をどう扱うか、AIに何を渡すか、生成結果をどう扱うかをコード上で管理できます。
ちなみに、Notionを軸にしている理由としては、マルチデバイス対応(スマホからもPCからも)、個人利用なら完全無料、APIも揃ってて手軽 という点に魅力を感じたから。Afu. がやってるように Obsidian との連携も考えたんですけど、結局 Notion が「思いついたときに気軽にメモできて、後で自動化の対象にもできる」だろうということで選ばれました。
AI部分はPythonからCodex CLIを呼ぶ
AIで文章を作る部分は、Pythonの中に直接モデル処理を書くのではなく、PythonからCodexをCLIで実行させています。
この形にしているので、Pythonはフロー制御に寄せられます。記事メモやルールを用意して、Codex CLIに渡し、Markdown本文として返ってきたものを下書きとして扱う、という考え方です。
API経由でAIを使う方法もありますが、それだと従量課金制になってしまうので辞めました。このフローはトークン上限に達して動かなくなれば、それはそれで良いレベルのものなので…。
ブログ記事の下書き生成では、本文そのものの品質だけでなく、「どの情報を根拠にしたか」「どのトーンで書くか」「余計なことを足さないか」がかなり重要になります。そこで、記事メモだけではなく、ルールも一緒に渡す構成にしています。
ルールも一新してみたけど…
前回の記事でプロンプトの作り方も紹介しましたが、それを踏まえて「執筆ルール」という形で大幅にバージョンアップさせてみました。
ただ、Codex に切り替えたせいなのか、なかなか思うような記事に仕上がらず、結局3割くらいは書き直しをしています。
いまも絶賛 ChatGPT を喧嘩寸前のやり取りをしながら「執筆ルール」のブラッシュアップをしているのですが、なかなかうまくいきませんね…
まずは下書き作成の土台として
今回作ったのは、ブログ記事をいきなり完成させるというより、Notionにある材料からMarkdownの下書きを作るための土台です。執筆ルールも絶賛磨き上げ中ですが、理想としては簡単な手直しだけで公開までいけるようにしたいなぁ。
