kokh log

yumikokhの開発日記

振り返りコマンドをnpmパッケージとして公開した

NotionDatabaseの特定期間内のページを取得して、AIに最適化したテキストに変換(Token削減するため不要な文字を削除するなど)した上で、日報から1ヶ月を振り返るプロンプトを作成した - kokh log で言及したプロンプトでOpenAIにリクエストするコマンドをnpm packageとして公開しました。

www.npmjs.com

事前にtokenなど設定を済ませておけば、月末に notion-lens run をするだけで、今月どうだったかな〜という振り返りがサクッとできます 🎉

1リクエストに対するトークン制限があるので文章量によっては1ヶ月くらいまでが限度です。fine-tuningやってみるのもおもしろそうかと思いましたが、プロンプト作るだけで想像以上に沼ってしまったのでやめました。(ちゃんと日報続けておけば自分がもしいなくなっても毎日日記書いてくれるAIとかできるんじゃないかとか考えた)
あとNotionのコンテンツはBlockというオブジェクトの集合体になっていて、個別にパースするのえぐ〜と思いながら途中まで地道にパースしてましたが、mdに変換してくれる神ライブラリを見つけて救われるなどしました。(現状プロパティに紐づけられたrelationや子ページの内容は加味してません)

ちなみに完全に自分用に作ったもので汎用性皆無ですが、勉強がてらCLIだけでなくTypeScriptライブラリとしてもimportできるようにしました 🤗 (誰がつかうねん)

先日NotionAIがアップデートされたので同じプロンプトで試したところ、NotionAIだと固有名詞のような具体的な情報がかなり削がれてしまったり、指定した形式を無視されたり、そもそもちゃんと期間が指定できず?ほしい結果が返ってきてくれなかったので、NotionAIで満足できる日が来るまで今回の自作コマンドを使っていこうと思っています。(今回のアップデートはモデルが変わって性能があがったのもありますが、それよりもコラボレーション機能の強化という印象)
NotionAIの内部はブラックボックスですが、OpenAIのモデルの他に複数のモデルを使って独自のプロンプトを介しているらしいです。

ニッチ機能ではあるものの、はじめてのnpm package公開ができてよかった!