「記事を書いても、読者が答えを見つけにくいのでは」と考え、ブログの公開記事から答えを探せる質問ページを作りました。現在の「このサイトに聞く」では、関連記事を探し、その内容をGeminiに渡して、回答と参考記事へのリンクを表示します。
この記事は仕組みと作業順を残すための記録です。AIの回答が常に正しい、または利用料が将来も無料という意味ではありません。記事の数が少ない段階では、答えられる範囲も限られます。
なぜブログ専用のAI質問ページを作ったか
一般的なAIに質問すると、サイトに書いていない内容まで答える場合があります。私が作りたかったのは、まずブログ内の記事や制作記録を探し、その情報に基づいて短く案内し、詳しく読みたい人が元の記事に進めるページです。
最初に試した方法と変更の経緯
最初はOpenAI APIを使う形を考えましたが、APIの無料クレジット残高が0ドルで、ChatGPTの契約とAPIの利用枠が別だと分かりました。その後、公開記事だけを検索して案内する方法も試しました。検索なら文章をAIが生成しない代わりに、API利用料を気にせず記事を探せます。
最終的にはWordPress側にGeminiを接続し、記事を探したうえで回答を生成する形にしました。AIが利用できない場合でも、質問ページから通常の記事検索を使えるようにしています。
作業の流れ:記事を探してからAIに渡す
- 質問文の長さと送信内容を確認する
- 公開済みの記事と必要な固定ページから候補を集める
- 質問の言葉がタイトルや本文にあるかを手がかりに候補を並べる
- 関連度の高い記事の抜粋をGeminiに渡す
- 回答と参考記事のタイトル・URLを表示する
現在の子テーマでは、記事の検索とGeminiへの問い合わせを functions.php にまとめ、質問フォームの表示を template-parts/ai-form.php、画面の動きを js/site-ai.js に分けています。質問ページ本体は page-ask.php です。
根拠のない答えを減らす工夫
Geminiには、渡した公開記事の抜粋だけを根拠に答えるよう指示しています。根拠が足りない場合は、確認できないことを伝える方針です。回答の下に参考記事のリンクも表示します。ただし、AIの出力をプログラムだけで完全に保証することはできません。重要な内容は必ず元の記事で確かめてください。
質問に関係する記事が見つからなければ、無理に答えを作らず、記事検索へ案内します。これから記事が増えるほど、質問に使える材料も増えていきます。
WordPressで設定するときに確認すること
このサイトではWordPressのGoogleコネクターからGeminiを利用しています。管理画面の「設定 → コネクター」で接続状態を確認し、認証情報は記事本文やテーマのソース、GitHubには入れません。使えるモデル、無料枠、上限や料金は変更されるため、利用するサービスの最新の画面で確認します。
公開フォームには、連続送信を抑える仕組みと利用回数の上限を設けています。運用中もエラー表示や利用量を確認し、想定外の連続利用が起きないか見ます。
完成後の動作テスト
- 公開記事に書かれた質問で、回答と参考記事が出るか
- 記事にない質問では、推測せず案内できるか
- AI接続が使えないときに記事検索へ進めるか
- スマートフォンで質問欄と参考リンクが押せるか
- 新しい記事を公開した後、その内容が質問の対象になるか
「ChatGPTの使い方」という公開記事についての質問では、回答と参考記事の表示を確認しました。一方、すべての質問や混雑時の動作まで検証できたわけではありません。元の記事と回答を見比べるテストを続けます。
記録として残す結論
ブログ専用AIを作る順番は、まず記事を公開すること、次に記事を探す仕組みを作ること、最後にAIの回答と参考リンクを加えることでした。記事がない段階でAIだけを先に作っても、答える材料が足りません。ブログの記事を増やすことが、この機能の改善にもつながります。
コメント