X

ブログ管理画面の手直しと記事が一覧に出なかった原因

エラー解決・試行錯誤

起動はしたけれど思っていた画面と違った朝

新しく作り直してもらっていたブログの管理ツールが、
ひとまず自分のパソコン上で起動するところまでこぎつけました。
ただ、実際に画面を開いて触ってみると、
いくつか気になる点が出てきました。

もともと私がイメージしていた記事の編集画面は、
見出しや本文、画像といった部品(ブロック)を一つずつ作って、
そこに文字や画像を入れていく形式でした。
ところが今回立ち上がった画面を見ると、
記号を直接書き込むMarkdownのような表示になっていました。

さらに、画面内のボタンやメニューが英語表記だらけで、
どこを押せば何が起きるのかパッと見てわかりません。
裏側でAIを呼び出して記事を書いてもらう機能も、
見た限りだとちゃんと動いていないようでした。

そこでまずはAIに、以下の3つをお願いしました。

・記事の編集画面を以前のようなブロック形式に戻すこと
・画面のボタンや案内をできる範囲で日本語にすること
・CLI経由でAIに記事を書いてもらう機能が動いているか確認すること

しばらく待つと改修が終わり、
見出しや段落、画像のブロックを上下に並び替えられる画面になり、
ボタン類もすべて日本語に直してもらえました。
これでようやく、自分が普段使うツールらしい見た目になりました。

大文字と小文字の1文字違いで止まっていたAI呼び出し

画面が日本語になって使いやすくなったので、
さっそく記事の作成ボタンを押してAIの呼び出しを試してみました。
ところが、画面には呼び出し失敗のエラーが出てしまい、
肝心の執筆処理が動きません。

今回は「3.8 Flash high」というモデルを使いたかったので、
その指定もあわせてお願いすることにしました。
また、手元で一つずつボタンを押して確認するよりも、
AIの呼び出しからサーバーへのアップロード、
さらにブラウザで実際のブログURLを開いて記事が追加されたか確認するところまで、
通しで自動的にテストして直してほしいと伝えました。

AIに原因を調べてもらったところ、
思わぬところでつまずいていたことがわかりました。

原因は、データベースに保存されていたモデル名の設定値が、
`gemini-3.8-flash-High` と、
最後の「High」の頭文字だけ大文字の「H」になっていたことでした。

プログラム側では、名前の最後が小文字の `high` で終わっているかどうかを調べて、
設定を切り替える仕組みになっていたそうです。
そこが大文字の `H` だったせいで判定をすり抜けてしまい、
そのモデルでは使えないはずの追加オプションが勝手にくっついて、
エラーで止まってしまっていました。

人間が読むぶんには大文字でも小文字でも同じに見えますが、
プログラムにとってはまったく別物として扱われてしまいます。
こういう細かい文字のズレは、自分一人で画面を眺めていても絶対に気づけなかったと思います。

ファイルはあるのにブログの一覧に出てこない謎

モデル名をすべて小文字に統一してもらい、
サーバーへ記事をアップロードする処理まで自動で動くようになりました。
たしかにサーバーの中を見ると、
新しく作った記事のデータ自体はアップロードされているようです。

ところが、実際のブログを開いて確認してみると、
トップページの最新記事にも、カテゴリーの一覧ページにも、
今アップロードしたはずの記事が上の方に出てきません。
「ファイルは上がっているのに一覧に出ないのは、たぶん何かがおかしいです」
と伝えて、もう一度ブラウザの表示とサーバーの中身を調べてもらいました。

しばらくして返ってきた報告によると、
原因は2つ重なっていました。

1. カテゴリーIDの名前ズレ

1つ目の原因は、カテゴリーIDの食い違いでした。
私のブログでは、雑記用のカテゴリーに「雑メモ」用の英字IDをつけて管理しています。
しかし、テスト記事を登録したときに、古い設定の名残で番号だけのIDがカテゴリーIDとして保存されてしまっていました。

そのせいで、トップページではどのカテゴリーかわからず「未設定」になり、
サーバーの奥には勝手に番号だけの謎のカテゴリー用フォルダが新しく作られ、
記事がそちらに迷い込んでいたそうです。
当然、普段見ている「雑メモ」の一覧をいくら開いても、そこには表示されない状態になっていました。

2. ブラウザに残っていた古いキャッシュ

2つ目の原因は、ブラウザやサーバーのキャッシュでした。
サーバー側から「ページを開いたときに最新の状態を確認する」という指示が出ていなかったため、
私のパソコンのブラウザが、
一度読み込んだ古い画面のデータをそのまま表示し続けていたようです。

データの整理と今回の学び

原因がはっきりしたので、以下のような後片付けと対策をしてもらいました。

・データベースと記事データのカテゴリーIDを古い番号から正しいIDに統一する
・本番サーバーに勝手に作られていた不要な番号フォルダを削除する
・記事を更新したらすぐに画面へ反映されるよう、キャッシュの制御設定を追加する

これで無事に、新しく投稿した記事がトップページやカテゴリー一覧の一番上に並ぶようになりました。

今回のやり取りを振り返ってみると、プログラムの難しい計算が間違っていたわけではなく、
「Highとhighの大文字・小文字の違い」や「カテゴリーIDの名前のズレ」といった、
ちょっとした言葉の食い違いで動かなくなっていました。

また、手元のツールで「アップロード完了」と出ていても、
実際にブラウザで開いてみると一覧に出てこないということもよくあります。
AIにお願いするときは、「アップロードして終わり」ではなく、
「実際のURLをブラウザで開いて、記事が一覧に出ているかまで確認して」と伝えるのが、
二度手間を減らすコツなのだと実感しました。

関連記事