※この記事は、Claude Codeで1人開発しているSNS運用SaaS「ThreadPost」の開発日記です。
SNS運用を自動化しませんか?
ThreadPostなら、投稿作成・画像生成・スケジュール管理まで全てAIにお任せ。
AIエージェントのキャラ崩壊と公式API移行の全貌
かなえが僕の口調でツイートしてた。お前誰だよ。僕が作った16人のAIペルソナの一人が、突然僕の口調で喋り出した。しかも、気づかないうちに。
今週の総コミットは25件だ。新機能が8件、バグ修正が12件。AIを相棒にして爆速で機能拡張できた反面、泥臭いバグに翻弄された。動いた。壊れた。直した。
外部APIの突然死と一晩での公式移行劇
外部APIを使えば、Xの投稿分析なんて一瞬で実装できるはずだった。それが昨夜23時、突然沈黙した。パソコンの画面に並ぶ赤いエラーログ。ステータスコードは403 Forbiddenだ。
僕がX投稿分析の機能を作ったとき、公式APIは料金が高いし制限もきつい。だから非公式に逃げてた。それが裏目に出た。非公式APIはスクレイピングベースが多く、XのDOM構造変更で即死する。
だから僕はClaude Codeに「公式API v2に全部切り替えて」と丸投げした。ついでにタイムライン全投稿の分析と、投稿レベルの詳細分析も実装させた。朝起きたら動いてた。
「fix: X投稿分析をtwitterapi.ioから公式API v2に変更」
僕が昨夜ビビってた移行コスト、ほぼゼロだった。非公式APIに依存してた理由が「実装が楽だから」だった。もうその言い訳は使えない。
しんたろー:
12件中8件が一発OK。残り4件はこっちの指示がクソだった。成功率67%。
ペルソナ混線バグと泥臭い修正の現実
かなえが僕の口調でツイートしてた。ThreadPostには16人のペルソナがいる。かなえは穏やかで丁寧な女性キャラのはずだった。生成された投稿を見たら「〜だぜ」「〜じゃん?」みたいな口調になってた。
「fix: かなえペルソナのX投稿が男性口調になっていた問題を修正」
Claude Codeに原因を聞いたら「ペルソナの参照先が混在していました」って涼しい顔で言ってくる。お前、混在してるって気づいてたなら先に言えよ。
LLMのコンテキスト汚染は、複数キャラを扱う際によくある罠だ。プロンプトのトークンが混ざると、確率的に強い方の口調に引きずられる。原因は単純で、複数キャラのペルソナ情報を1つのコンテキストに詰め込んでたせいだ。
「fix: かなえアカウントがしんたろーの口調でツイートしていた問題を修正」
キャラごとにペルソナを分離して、生成時に明示的に「今はかなえモード」と渡すように直した。それ以来、ペルソナファイルは絶対に混ぜない。AIは空気なんて読まない。こっちが仕組みで担保するしかない。
しんたろー:
16人のペルソナが全員僕になってた恐怖。気づくまでの数時間、血の気が引いた。
ここまで読んだあなたに
今なら無料で全機能をお試しいただけます。設定後は完全放置でプロ品質の投稿を毎日生成。
落とし穴
AIの投稿生成で、返信率の高い相手を誤って「cooled(冷却)」判定してしまった。CHECK制約にno_responseがなかったせいで、サイレント失敗して無限ループが発生した。
160件の無反応レコードが死体のように積み上がり、AIが「この人はもう返信しない」と勝手に判断して冷戦状態になっていた。直すのに手作業でDBを叩いた。エラーが出ないバグが一番恐ろしい。
今日の数字
| 指標 | 結果 | 比較対象 |
|------|------|----------|
| API利用料 | 月100ドル(公式Basic) | 非公式APIのダウンで失う機会損失 |
| 実装時間 | 一晩 | 企業なら数週間 |
| ペルソナ数 | 16人 | 専任マネージャーが必要な規模 |
| コミット数 | 25件 | 先週は10件 |
公式APIのBasicプランは月100ドルだ。非公式APIのダウンで失う時間と信頼を考えたら、安いもんだ。
しんたろー:
100ドル払って安心を買った。昨夜の数時間の焦りはプライスレス。
FAQ
Q: AIコストの管理方法は?
実行スクリプトの各所にコスト記録用の関数を埋め込み、DBに直接書き込んでいる。Gemini ProやFlash Liteなど、モデルごとの単価を計算して日次で集計する仕組みだ。
Q: 開発環境の再現手順はどう担保している?
DBのマイグレーションファイルとシードデータをリポジトリで一元管理している。Claude Codeに環境構築の手順書を読ませて、コマンド一発でローカルに再現できるようにした。
Q: APIレート制限の回避策は?
公式API v2の15req/15minという制限に対し、Inngestのキューを使って実行間隔を制御している。バッチ処理を細かく分割し、制限に引っかからない速度でゆっくり回す設計だ。
泥臭く進む
動いた。壊れた。直した。その繰り返しだ。

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