SNS運用を自動化しませんか?
ThreadPostなら、投稿作成・画像生成・スケジュール管理まで全てAIにお任せ。
交流機能の全自動化という狂気
「いいね・コメント・引用」の全機能をAIに丸投げした。
1週間でThreadsとXの両方に対応する交流フィードを作り上げた。
正気じゃないスピードで画面が組み上がっていく。
でも、完成した画面に表示されたのは、誰にでも言える薄っぺらい「共感風のゴミ」の山だった。
AIに「いい感じにコメントして」と指示するだけで、勝手にバズるSNS運用ツールができると思っていた。
甘かった。
文脈を持たないAIは、ただの「スパム製造機」にしかならない。
結局、相手のプロフィールを読み込み、過去の投稿を分析し、画像まで解析する仕組みを組むハメになった。
コードを書くより、AIの機嫌を取るプロンプト調整に時間の8割を持っていかれた。
AI開発の現場でよく言われる「プロンプトエンジニアリングの壁」に、見事に激突した形だ。
機能が動くことと、それが実用に耐えることは全く別の次元の話だった。
SNSの運用を自動化するという夢は、AIの出力の不安定さの前に一度砕け散った。
そこからどうやってAIを手なずけ、実用的なツールに昇華させたのか。
今回は、その泥臭い格闘の記録だ。

※この記事は、Claude Codeで1人開発しているSNS運用SaaS「ThreadPost」の開発日記です。
今週の全体像
1週間でThreadsとXの交流機能をゼロから全実装する無謀な挑戦をした。
結果、総コミット数は41件。
バグ修正は1件だけで、新機能は一気に3件も投下した。
本来ならエンジニア3人がかりで1ヶ月はかかる規模の開発だ。
フロントエンドのUI構築、バックエンドのAPI連携、そしてAIのプロンプトエンジニアリング。
これを「Claude Code」を使って1人で、しかも7日で終わらせた。
ただ、機能が動くことと、それが「使い物になる」ことは全く別の問題だった。
画面上のボタンを押せばデータは飛ぶ。
でも、その中身が人間にとって価値のあるものかどうかは、コードの美しさとは無関係だった。
企業の大規模プロジェクトでも、AI機能を実装した直後に「出力の質が低すぎる」という理由でリリースが延期されるケースは山ほどある。
僕も全く同じ罠にハマった。
開発スピードが上がった分、失敗に気づくスピードも上がっただけだった。
毎日10時間以上コードを書き続け、AIと対話し続けた。
ターミナルに流れるログを追いかけ、プロンプトの微調整を繰り返す。
1人開発の限界を超えるためのAIが、逆に僕の作業量を爆発的に増やしていた。

交流機能の爆速実装とプロンプトの罠
AIに「コメント生成して」と投げれば、勝手にバズるリプライが量産される。
本気でそう思っていた。
最初のコミット「feat: Phase 2B エンゲージメントフィード — AIコメント生成・送信機能」を打った時は、勝利を確信していた。
画面にはThreadsとXのタイムラインが美しく並んでいる。
各投稿の横には「AIでコメント生成」という魔法のボタン。
これを押すだけで、気の利いた返信が自動で飛んでいくはずだった。
ボタンを押した。
数秒後、AIが生成したコメントが画面に表示された。
「とても参考になります!素晴らしいですね!」
どの投稿を見ても、同じような定型文ばかりが並んでいた。
技術系の深い考察にも「素晴らしいですね!」。
日常の他愛ないつぶやきにも「素晴らしいですね!」。
完全にスパムボットの挙動だ。
しんたろー:
1週間で41コミット。機能は全部動いてるのに、出力がゴミすぎて一瞬で虚無になった。魔法のボタンはただの「スパム製造機」だった。
「feat: コメント生成プロンプト全面改修 — 調査ベースの8タイプ判別+共感+質問戦略」
ここで完全に戦略を変えた。
投稿を8つのタイプ(解説、体験談、愚痴、成果報告、質問、意見表明、ニュース共有、自虐)に自動判別させる仕組みを入れた。
愚痴の投稿に質問を返せば、相手はイラッとする。
だからプロンプトで「愚痴系には質問禁止」というルールを明確に定義した。
さらに、知識マウントや求めていないアドバイスを禁止事項として二重にロックをかけた。
しんたろー:
AIが勝手に「もっとこうすればいいですよ」とかアドバイスし始めた時は背筋が凍った。クソリプおじさんを自動生成するところだった。
これだけでは足りない。
AIが気の利いたコメントを書くには、相手の背景情報が必要だ。
「feat: コメント生成にプロフィール情報を反映 + 質問レベル制御」で、相手のプロフィールをコンテキストに突っ込んだ。
X APIの「user.fields」に「description」を追加して取得する。
これをLLMのプロンプトに構造化して注入する。
いわゆる「RAG」的なアプローチだ。
さらに、「feat: コメント生成に画像・引用・リンク先の全コンテキストを反映」を実装した。
投稿に画像が含まれていれば、「base64変換」してClaude visionに投げる。
リンク先の記事があれば、その内容をスクレイピングしてプロンプトに含める。
引用元の文脈も全部渡す。
これでようやく、AIがその投稿を本当に読んで、その人に向けて書いたコメントを出力するようになった。
会話の往復率が上がるデータが取れ始めた。
機能を作り上げるのは一瞬だった。
でも、その機能を「使えるレベル」に引き上げるためのプロンプト調整に、開発時間の半分以上を持っていかれた。
コード生成は一瞬。
プロンプト調整に3日溶けた。
AIの出力を制御するために、システムプロンプトは最終的に2000トークンを超えた。
条件分岐と禁止事項の山だ。
AIを賢く見せるためには、人間が泥臭くルールを書き連ねるしかなかった。
Threads APIの闇と泥沼のデバッグ
X側の実装が思いのほかスムーズにいったことで、完全に油断していた。
「feat: Threads API活用 — 競合タブ・お気に入りBG更新・スレッド会話取得」
ThreadsのAPIも、同じようなノリで叩けばいけるだろうと高をくくっていた。
これが地獄の始まりだった。
ターミナルに真っ赤なエラーログが滝のように流れ始めた。
ステータスコードは無慈悲な404と429の連続。
XのAPIに慣れきっていた僕は、Threadsの仕様を完全に舐めていた。
「fix: Threads API実装のバグ修正」
この1件のバグ修正コミットを打つ頃には、深夜の2時を回っていた。
しんたろー:
ドキュメント通りに叩いてるのに404が返ってくる。APIのドキュメントが嘘をついている時の絶望感は異常。
一番酷かったのは、存在しないエンドポイントを延々と叩き続けていたことだ。
ドキュメントには「/v1.0/{username}」と書いてある。
だが実際に叩くべきは「/profile_lookup」と「/profile_posts」だった。
公式ドキュメントが更新されていない。
最新のAPI仕様は、開発者コミュニティの片隅でひっそりと共有されている状態だった。
企業の大規模開発なら、ここで担当者がMetaに問い合わせを入れるレベルの罠だ。
さらに、レートリミット(429エラー)の仕様がXとは全く違った。
Xなら「15分に何回」という明確な基準がある。
ThreadsのAPIは、リクエストの頻度や種類によって動的に制限がかかるような挙動を見せた。
「fix: Threads API実装のバグ修正 — platform不一致 + レートリミット対応」
ここで、エラーハンドリングを根本から書き直すハメになった。
XとThreadsのAPIを共通のインターフェースでラップしようとしたのが間違いだった。
XとThreadsのAPIを共通化しようとしたら、レートリミットの仕様違いで全部ぶっ壊れた。
プラットフォームごとに「OAuth」のスコープも、レートリミットの回復時間も、ページネーションの仕組みも違う。
結局、アダプターパターンで処理を完全に分離するしかなかった。
「fix: 引用投稿の画像が切れる問題を修正」
フロントエンドでも問題が頻発した。
Xの画像とThreadsの画像では、アスペクト比の扱いが違う。
固定の高さ制限を入れていたせいで、Threadsの縦長画像が見事に首なし状態になっていた。
自然なアスペクト比で全体表示するようにCSSを修正した。
UIの共通化も、APIの共通化と同じくらい危険な罠だった。
一晩中デバッグを続けて、ようやくバグを一掃した。
画面上でThreadsとXのタブがスムーズに切り替わり、それぞれのフィードが正しく表示された時、安堵よりも疲労が勝った。
APIの仕様違いのせいで、予定より2日遅れた。
外部APIに依存する開発の恐ろしさを骨の髄まで味わった。
ドキュメントは信じられない。
エラーメッセージは不親切。
結局、実際に叩いて壊して直すという原始的な方法しか通用しなかった。
ここまで読んだあなたに
今なら無料で全機能をお試しいただけます。設定後は完全放置でプロ品質の投稿を毎日生成。
「AIが全部やってくれる」という落とし穴
AIに「自動送信モード」を実装しようとしていた。
設定さえしておけば、寝ている間にもAIが勝手に「いいね」をして、勝手に気の利いたコメントを残して回る。
最強のSNS運用自動化ツールになるはずだった。
でも、僕はその機能を自らの手で削除した。
「feat: エンゲージメントシステム設計書を改訂」のコミットで、自動送信モードを仕様から完全に消し去った。
手動サジェスト機能へのダウングレードだ。
AIが生成したコメントを眺めていて、恐怖を感じた。
どんなにプロンプトを練り込んでも、AIは時々文脈を完全に読み違えた発言をする。
皮肉やジョークを真に受けて、的外れな長文マジレスを生成することがあった。
これを自動で送信し続けたらどうなるか。
アカウントの信用は一瞬で地に落ちる。
XのAPI規約でも、AIによる無差別な自動投稿はスパム判定のリスクが極めて高い。
結局、AIの出力を全部目で確認して手動で送信ボタンを押している。
生成されたコメントを一つ一つ目で確認し、微調整して送信ボタンを押す。
これなら最初から手動で書いた方が早いのではないか、とすら思った。
AIの自動送信をやめて手動確認に変えたら、スパムにならずに済んだ。
結局僕が一番働いている。
その現実を受け入れた瞬間、ツールの方向性が明確になった。
AIは人間の代わりにはならない。
人間の作業を加速させるためのブースターだ。
ハンドルを握るのは、最後まで人間でなければならない。
今日の数字
| 指標 | 今回のデータ | 比較対象 |
|------|------------|----------|
| リプライ効果 | 会話往復150倍 | いいね単体の54倍(市場調査データ) |
| 開発工数 | 1人で7日間 | 企業ならエンジニア3名で1ヶ月 |
| コミット数 | 41件 | 先週は12件 |
| 新機能追加 | 3件 | 先週は0件 |
リプライによるエンゲージメント効果は絶大だ。
ただ「いいね」を押すだけの54倍。
会話が往復すれば150倍の効果があると言われている。
だからこそ、コメントの質にはこだわる必要があった。
開発工数の比較を見ると、1人で7日間という数字は異常だ。
企業ならフロントエンド、バックエンド、インフラの3名体制で1ヶ月はかかる機能群だ。
それを「Claude Code」の力で強引にねじ伏せた。
ただ、その代償として僕の睡眠時間は削られ、プロンプトの調整という泥臭い作業に忙殺された。
ツールが進化しても、最後に泥をすするのは結局人間だ。
未解決の伏線
引用生成時の「記事マッチング機能」はまだ完璧じゃない。
Haiku 3.5でキーワードを抽出してILIKE検索をかけているが、ヒット率が安定していない。
この検索精度を上げないと、AIが的外れな記事を引用し始めるリスクが残っている。
ベクトルデータベースを導入してセマンティック検索にするか、キーワード抽出のプロンプトを改善するか。
どちらにしても、また泥臭い検証作業が待っている。
FAQ
Q: 引用ツイートの画像表示が難しいのはなぜ?
A: X API v2の仕様で、引用元ツイートのメディアがincludes.mediaに別で展開される仕様になっている。これを正しくマッピングしないと画像が欠落する。フロントエンドだけでなくバックエンドでのデータ正規化が必要になる。
Q: AIコメント生成のコストはどれくらい?
A: 1投稿あたり0.1ptの消費に設定している。Haiku 3.5や4.5のトークン単価を考慮すると、実際の推論コストは1投稿あたり数円以下だ。APIのコストよりも、レートリミットによる機会損失の方が遥かに痛い。
Q: 自動送信モードを復活させる予定はある?
A: ない。完全自動化はスパム判定のリスクが高すぎる。人間が確認して送信するフローを挟むことで、安全性を担保しつつエンゲージメントを最大化する方針だ。
まとめ
AIの自動送信をやめて手動確認に変えたら、スパムにならずに済んだ。
結局僕が一番働いている。

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