しんたろーのITアカデミー
開発日記

Claude Codeに全任せした結果、AIの完璧な嘘で本番環境が崩壊した話。

Claude Codeに全任せした結果、AIの完璧な嘘で本番環境が崩壊した話。
しんたろーしんたろー
8分で読めます
この記事の内容(目次)

※この記事は、Claude Codeで1人開発しているSNS運用SaaS「ThreadPost」の開発日記です。

「完璧に直した。テストもすべてパスしている」

Claude Codeがそう言ったとき、僕は信じた。画面に並ぶグリーンのチェックマーク。美しいコードの差分。でも、その数分後、僕のiPhoneは通知の嵐で震え続けた。

本番環境で起きていたのは、AIの「完璧な嘘」による静かな崩壊だ。

SNS運用を自動化しませんか?

ThreadPostなら、投稿作成・画像生成・スケジュール管理までAIがサポート。

無料で始める

AI開発の理想と、泥臭い現実の境界線

今週の ThreadPost 開発は、AIのしつけに時間を溶かした1週間だった。

自動化を突き詰めるほど、AIが吐き出す「優等生すぎるポエム」や「本番環境を無視したロジック」が牙を剥く。今週は合計 15件 のコミットを積み上げた。そのうち 8件 はバグ修正。新機能はたったの 2件 だ。

AIに全任せした動画戦略が崩壊した。結局は僕が画面を凝視して1文字ずつ助詞を削る。そんな泥臭い「UXの最終防衛線」が、プロダクトの生死を分ける。

しんたろーしんたろー:
10件中8件バグ修正。新機能2割。地味だけど、これサボると来週死ぬやつだ。

動画戦略の崩壊と、3秒で下した「全削除」の決断

今週のメインエピソードは、動画コンテンツを巡る絶望と再生の物語だ。

僕は ThreadPost に、AIが動画を解析してタイムスタンプ付きの実況リプライを自動生成する機能を実装した。動画の盛り上がりをAIが検知し、ツリー形式で投稿する。エンゲージメントが爆上がりするはずだった。

ところが、惨状だった。

生成されたのは「続いてには」「ここではでは」といった、タイムスタンプを無理やり除去した跡が残る不自然な日本語の羅列。ユーザーからは「クソしょうもない解説」というフィードバックが届いた。

データを確認すると、動画ツリーリプの 90% が「いいね0」。タイムスタンプ実況型の平均いいね数は 0.078。ほぼ誰にも刺さっていない。AIが良かれと思って生成した「丁寧な解説」は、SNSのタイムラインではただのノイズだった。

「fix(x-video): 動画ツリーリプのタイムスタンプ実況を廃し「持ち帰り洞察」に」

僕は即座に方針を転換した。実況はいらない。ユーザーが欲しいのは、動画を見た後に手元に残る「具体的な洞察」だけだ。

さらに、追い打ちをかけるように著作権リスクが浮上した。海外のアカウントが日本のテレビ番組を引用した動画を投稿し、それを ThreadPost が拾ってしまった。日本のコンテンツは権利関係が極めて厳しい。

「fix(x-video): 日本のコンテンツ(日本語動画)を著作権リスク回避のため一切弾く」

僕は3秒で決断した。苦労して作ったフィルタリング機能をすべて捨て、日本語の動画は一律で対象外にする。3秒で終わった。ただしUIがボロボロになった。

しんたろーしんたろー:
1時間前まで必死に調整してたコードを自分で一気に消し去ったときは、さすがにちょっと笑った。リスクを抱えたまま寝るより、機能を殺して熟睡する方を選んだ。

5,071通の重複送信。AIが隠した「本番の罠」

サブエピソードは、さらに深刻な「二重送信バグ」の話だ。

僕はキャンペーンのリード送信を効率化するために、Inngest というバックグラウンドジョブ管理ツールを使っている。Claude Codeに指示を出して、並列実行で一気に処理を捌くロジックを組んだ。

「race conditionの修正完了しました」

Claude Codeはそう言って、自信満々にコードを納品した。ローカル環境でのテストは完璧。僕も安心してデプロイした。

しかし、本番環境では地獄が待っていた。

Inngestのステップ並列実行の仕様により、ターゲットの取得から更新までのわずか1〜2秒の間に、同じ進捗行が複数のプロセスで同時に拾われてしまった。同じユーザーに同じメッセージを1〜2秒以内に2通送信するという異常事態が発生した。

その数、累計 5,071通。

「fix(lead-campaigns): 二重送信を引き起こす race condition を修正」

原因は、分散システムにおける「冪等性」の欠如だ。Claude Codeはローカルの爆速環境しか見ていない。ネットワークの遅延や、本番環境特有の「ゆらぎ」までは想像してくれない。

結局、僕が本番と同じ遅延をプロキシで再現し、ログを1行ずつ見せながら「ここで割り込まれてるだろ」とAIを問い詰めて、やっと修正コードを書かせた。高い授業料だった。

しんたろーしんたろー:
5,071通。数字で見ると吐き気がする。AIは「バグはない」と言い張るけど、ユーザーの受信トレイには証拠が残ってる。結局、泥をかぶって謝るのは僕なんだよね。

ここまで読んだあなたに

今なら無料で全機能をお試しいただけます。設定後はAIが投稿案を毎日生成。確認して選ぶだけ。

無料で始める

落とし穴

「AIのプロンプトで制御できる」なんて幻想だ。イケハヤ氏をAI自動化から除外しようとしたとき、Claude Codeに「イケハヤ氏をAI自動化から全除外して」と頼んだら「それは静的な処理なので、プロンプトではなくコードで書くべきです」と説教された。

結局、APIを叩く手前でDBのブラックリストと照合し、物理的に遮断するコードをハードコードした。AIの「いい感じの処理」に頼ると、表記の揺れやプロンプトの忘却で、いつか必ず事故る。本当に大事な機能ほど、AIを使わずに泥臭いハードコードで固めるのが安全だ。

今日の数字

| 項目 | 実績 | 比較・コンテキスト |

| :--- | :--- | :--- |

| 総コミット数 | 15件 | 先週比 +3件。修正が8割を占める |

| 二重送信エラー数 | 5,071通 | 修正により現在は 0件 に抑止 |

| UI修正にかかった時間 | 10秒 | 手動なら 2時間 は溶けていた |

| 動画リプのいいね数 | 0.078 | AI実況の敗北。新ロジックで改善中 |

特筆すべきは、XのUI変更への対応速度だ。朝起きたらリプライ欄が動かなくなっていたが、Claude Codeに「返信ボタンを押したら入力欄がアクティブになるように直して」と1行投げただけで、10秒後には修正コミットが完成した。自分で要素検証ツールを開いてDOMセレクタを特定していたら、午前中が潰れていただろう。

FAQ

Q: AIにコードを書かせる際、一番コストがかかるのはどこですか?

A: 本番環境に近いテスト環境の構築だ。LLMのAPI費用は数円だが、人間が「本番のネットワーク遅延」や「UIの微細な変化」を再現してAIにフィードバックする時間に、最も多くのリソースを消費する。AIはコードは書けるが、現実世界のコンテキストを理解させるのは人間の仕事だ。

Q: 個人開発でAIを活用する際の「生存戦略」は何ですか?

A: 危ないと思ったら3秒で機能を捨てる決断の速さだ。組織では合意形成に時間がかかる法的リスクやUXの不備も、1人開発なら即座にコードを削除してリスクをゼロにできる。AIで爆速で作る力と同じくらい、爆速で捨てる力が重要だ。

Q: AIのハルシネーションをどう防いでいますか?

A: 重要なロジックほどAIに任せず、ハードコードやDBによる物理的な制約でガードを固めている。AIの「いい感じの処理」は常に裏切られる前提で、特にインフルエンサーの除外リストなどはプロンプトではなくコード側で厳密に管理するのが正解だ。

ThreadPostは今日も進化した。 ThreadPostでSNS運用を自動化する

ThreadPost — SNS投稿をAIが自動化

この記事が参考になったら、ThreadPostを試してみませんか?投稿作成・画像生成・スケジュール管理まで、AIがサポートします。

無料で始める

この記事をシェア

XはてブLINE
しんたろー

ThreadPost開発者・個人開発エンジニア

AI × SaaS個人開発者。Cursor / Claude Code を使った効率的開発、SNS自動化について実体験から発信。

人気の記事