【開発録】Gemini APIの無料枠制限で詰んだので、OpenAIに乗り換えてブログ自動生成システムを構築した話

ワードプレス414一括削除対策

ご指定のタイトルで、コンテンツの具体的な内容(ゴミ分別など)は伏せつつ、**「地域特化型メディアの構築」**という抽象度で技術的な知見をまとめた記事を作成しました。

そのままWordPressに貼り付けて使える形式です。


記事タイトル

【開発録】Gemini APIの無料枠制限で詰んだので、OpenAIに乗り換えてブログ自動生成システムを構築した話

記事本文

特定の地域情報に特化したWebメディアを立ち上げるため、Pythonと生成AIを活用した「記事執筆完全自動化システム」の開発を行いました。

本日は、開発初日に直面した**「Gemini APIのレート制限(Quota Exceeded)」の壁と、それを突破するために行った「OpenAI (gpt-4o-mini) へのピボット」**、そしてAI特有のハルシネーション(嘘)を防ぐ技術設計について、開発ログとして記録を残します。

1. 開発の背景と当初の技術スタック

開発には、AI搭載コードエディタであるCursor(Agentモード)を使用し、コーディングの大部分をAIに任せるスタイルで進行しました。

  • 言語: Python 3.x
  • エディタ: Cursor (Composer / Agent)
  • 当初のモデル: Gemini API (Flashモデル / Free Tier)
  • 目的: CSVリストからキーワードを読み込み、SEO記事を大量生成する

2. 壁:Gemini APIの「見えない上限」

ランニングコストを抑えるため、最初はGoogleのGemini API(無料枠)を採用しました。

しかし、スクリプトのテスト走行を始めると、すぐに 429 Too Many Requests エラーが発生し、開発が強制ストップしました。

当初は「1分間のリクエスト過多(RPM)」を疑い、コード側に待機時間(time.sleep)を設ける実装を行いました。しかし、エラーは解消されず、ダッシュボードを解析した結果、以下の事実が判明しました。

  • 原因: 短期間のテスト実行とエラー再試行で、「1日あたりのリクエスト上限(RPD)」を使い切っていた。
  • 教訓: 開発フェーズでは試行錯誤を繰り返すため、1日の回数制限が厳しい無料枠はボトルネックになりやすい。「明日まで待たないと開発できない」状況は致命的でした。

3. 解決策:OpenAI API (gpt-4o-mini) への移行

開発スピードを優先し、バックエンドをOpenAI APIへ切り替える決断をしました。

  • 採用モデル: gpt-4o-mini
  • 選定理由: 圧倒的なコストパフォーマンスと、安定した応答速度

.env ファイルのキーを差し替え、わずかなコード修正を行うだけで移行は完了。結果として、API制限に怯えることなくスムーズな連続生成が可能になりました。

衝撃のコスト試算

実際の生成ログからコストを計算したところ、以下の結果となりました。

  • 2記事作成: 約 $0.01(約1.5円)
  • 1記事単価: 約 0.75円

単純計算で 1,000記事生成しても約750円($5.00) 程度です。

Geminiの無料枠にこだわって開発時間を浪費するより、安価で安定している gpt-4o-mini を使う方が、精神衛生上もプロジェクト進行上も正解でした。

4. 品質担保:地域情報のハルシネーション対策

今回扱うテーマは「自治体や地域によってルールが異なる情報」です。

一般的なLLM(大規模言語モデル)は、こうしたローカル情報の詳細までは学習していないため、もっともらしい嘘(ハルシネーション)をつくリスクが高い領域です。

これを防ぐため、以下のRAG(検索拡張生成)的な実装を行いました。

  1. 参照データの注入:CSVリストに「キーワード」だけでなく、**「公式サイトの正解テキスト」**をセットで持たせるカラムを追加。
  2. プロンプトによる制約:AIに対し、「学習済みの知識」ではなく、「与えられた参照テキストのみ」を事実として扱うよう厳格に指示。

Python

# プロンプトの一部抜粋
f"""
## 参照する公式情報
{reference_text}
※ 上記にない具体的な数値やルールについては、創作せず「公式サイトをご確認ください」と記述すること。
"""

これにより、情報の正確性を担保しつつ、SEOライティングの構成力というAIの強みを活かすシステムが完成しました。

5. まとめと今後の展望

今回の開発での学びは以下の3点です。

  1. 開発時は「従量課金」が吉: 無料枠の制限による手戻りは、コスト以上の時間を奪う。
  2. gpt-4o-mini の実用性: ブログ記事生成において、速度・質・コストのバランスが非常に優秀。
  3. 参照データの重要性: 地域特化情報は、必ず「正解データ」を渡して書かせる必要がある。

現在はMarkdown形式でのファイル出力まで自動化できています。

次のステップとして、WordPressのREST APIを利用し、**「生成 → 下書き保存」**までの完全無人化フローを構築する予定です。


コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です