📘

月額8円で構築する「AI知識管理」:Gemini 2.0 FlashをChrome拡張機能に組み込んだ結果

に公開

📌 概要

Xで気になった技術ポストやインサイト。単に保存するだけでなく、**「AIによる構造化と知識化」**を低コストで実現したい――。そんな思いから、Chrome拡張機能「X Bookmark to Obsidian」を開発しました。

▲ 今回開発した拡張機能のアイコン


🧠 なぜGemini 2.0 Flashなのか?(モデル選定)

今回のユースケース(Web記事の要約・分類)において、Gemini 2.0 Flashは「賢さ」と「コスト」のバランスが圧倒的に優れていました。

💰 衝撃のコストパフォーマンス

実際の開発・テスト運用における、37回のリクエストに対するコスト推移です。

項目 データ
総リクエスト数 37回
総コスト 0.98円
1回あたりの単価 約0.026円

毎日10件ブックマークしても月額は約8円。 個人開発や社内ツールにおいて、ランニングコストはほぼ無視できるレベルです。


🧪 モデル比較検証と選定の経緯

開発当初は最安を狙いGemini 1.5 Flashを検討していましたが、検証プロセスを経て2.0 Flashへ切り替えました。

モデル比較(Before / After)

項目 Gemini 1.5 Flash Gemini 2.0 Flash
API応答 404 Error等の不安定さあり 爆速・安定(200 OK)
カテゴリ分類 「その他」に偏りがち 構造的な階層分類が可能
要約の質 単なる抜粋 文脈を踏まえた構造的解説
コスト 最安 最安(1.5と同等)

結果として、コストが変わらず日本語理解力とJSON出力が安定している Gemini 2.0 Flash 一択という結論に至りました。


📊 ベンチマークに見るGemini 2.0 Flashの進化

今回採用したGemini 2.0 Flashは、前モデルの1.5 Flashと比較して、コストを維持したまま全体的な性能が向上しています。

▲ Geminiモデルごとの最新ベンチマーク比較表

最新のベンチマークによると、Gemini 2.0 FlashはGemini 1.5 Flashと比較して、Code generation(LiveCodeBench)で34.5%(対30.7%)、Reasoning(GPQA diamond)で60.1%(対51.0%)、Multilingual(Global MMLU Lite)で83.4%(対73.7%)と、主要な指標でスコアを伸ばしています。この基本性能の向上が、安価でありながら高度な要約や構造化を実現できる理由です。


💡 生成結果のイメージ

実際にGemini 2.0 Flashが出力する、Obsidian向けのMarkdown形式の例です。

出力例を見る

入力(Xのポスト)

「Pythonのデコレータ、何となく使ってるけど実はよく分かってない…(中略)関数を引数に取る関数、という構造さえ理解できれば怖くない!」

Gemini 2.0 Flash の出力結果

  1. タイトル: 🐍 Pythonデコレータの仕組みを図解で完全理解
  2. 要約: 「関数を引数として受け取る関数」という本質的な構造を分かりやすく解説。
  3. カテゴリ: [[テクノロジー]] > [[プログラミング]] > [[Python]]
  4. インサイト: デコレータの本質は「高階関数」にある。

🛠️ 実装のポイント:AI制御のコツ

1. 日本語出力の安定化

英語の技術ポストを扱う際でも、タイトルや要約は日本語で統一したい。プロンプトに以下の制約を加えることで安定させました。

“元のポストが英語であっても、出力(summary, digest, keyInsight…)は全て日本語で書いてください。”

2. JSONフォーマットの厳守

Gemini 2.0 Flashは response_mime_type: "application/json" の指定なしでも、プロンプトの指示だけで非常に安定したJSONを出力してくれました。


🏁 まとめ

個人の知識管理にAIを導入するハードルは、Gemini 2.0 Flashの登場によって完全に消滅しました。
1円未満で37回のリサーチ」ができるこの環境は、エンジニアのインプット効率を劇的に加速させるはずです。


91works AIラボについて

91works AIラボは、エンジニア6名が参加する3ヶ月間のAI学習を目的とした社内プロジェクトです。

詳しくは、こちらの記事をご覧ください👇
社内AIラボを3ヶ月やってみた - エンジニア6人の挑戦と成果

91works Tech Blog

Discussion