Web Development 8割をAIと書いたコードを、1年後の自分が読めなくなった話|「動いた」は完成じゃない 8割を AI と書いた WordPress テーマを1年後に開いたら、自分のコードなのに読めませんでした。重複した関数、散らばったヘルパー、放置されたデッドコード。読めなくなった原因と、次に同じ轍を踏まないため自分へ課した6つのルールを、実体験でまとめました。 2026.06.26 Web Development
AI 施策が効いたのか、効かなかったのかが分からない|有効インストール10未満のプラグインで、計測の前提を間違えた話 OpenRouter の無料キー導線で AI チャットボットの初回の壁を下げましたが、有効インストールは10未満のまま動きません。効かなかったのではなく、効果を語れる母数も、どこで離脱したかを知る計測も持っていませんでした。個人開発の計測設計を実体験で書きます。 2026.06.15 AI
AI AIベンチの「カンニング」を未知入力で見抜く|EsoLang-Bench 再現で作った採点ハーネス 満点を取った AI でもカンニングを見抜けます。EsoLang-Bench を Codex CLI で再現し、答えをエージェントから隔離して 6 件バイト一致で採点、テストに無い入力を 1 つ投げる採点ハーネスの作り方を、再現の実例とともにまとめました。 2026.06.12 AI
AI ユーザーの API キーをどこに預かるか問題|WordPress プラグインで AES-256-GCM を使った話 自作 WordPress プラグインで、ユーザーの API キーを平文で持たず AES-256-GCM で暗号化保存した実装記録です。鍵は wp-config の salts から派生させて DB の外に置き、AAD でサイトに束縛。IV と認証タグのレイアウト、復号の段階フォールバック、salts 変更時の再入力動線まで、実コードで残します。 2026.06.11 AI
AI AI チャットボットを4社対応にした話|OpenAI・Claude・Gemini・OpenRouter の差を1枚の層で吸収した設計 自作 WordPress プラグインの AI チャットボットを OpenAI・Claude・Gemini・OpenRouter の4社対応にした設計記録です。認証・system の置き場所・レスポンス形・エラーを1枚の層に畳み、GPT-5 が temperature を弾く 400 を予防スキップと自動リトライで吸収した実装まで残します。 2026.06.10 AI
AI Brainfuck のベンチで AI が満点を取った、けれど「8 8」で正体が割れた話|EsoLang-Bench を Codex CLI で再現して見た、カンニングと本物の境目 難解言語ベンチ EsoLang-Bench を Codex CLI(gpt-5.5)で再現し、Brainfuck の Easy を3条件で測りました。答えを見せると満点でも未知入力「8 8」で空を返すカンニング、答えを隠しても満点だが本物、Medium は全条件0%。同じ100%の中身が正反対だった記録です。 2026.06.09 AI
WordPress WP AI Clientへ移行したら、エラーも出さずに会話の履歴が消えた WordPress 7.0のWP AI Clientへプラグインを移行した実装記録です。with_history()に生配列を渡すと例外も出さず会話履歴だけが消える挙動、キーを持たないプロバイダが踏み抜いた前提、temperatureの400対応を、RC3と安定版で確認したコード付きで書いています。 2026.05.28 WordPress