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

SNS投稿が死ぬほど面倒くさい。圧倒的な怠惰を武器に、10日で全自動化を完了させた1人開発の記録。

SNS投稿が死ぬほど面倒くさい。圧倒的な怠惰を武器に、10日で全自動化を完了させた1人開発の記録。
しんたろーしんたろー
11分で読めます
この記事の内容(目次)
※この記事は、Claude Codeで1人開発しているSNS運用SaaS「ThreadPost」の開発日記です。

自分のコミット履歴を読み込ませて、自分のSNS投稿を自動生成する。

それを作っている僕のSaaSが勝手にやる。

起きたら昨日の僕の開発ログが、いい感じの文章になって投稿待機している。

僕は毎朝、用意されたボタンを1回押すだけだ。

発信が続かない理由は「ネタがない」か「書く時間がない」のどちらかだ。

開発者にはコミットという最強のネタが毎日ある。

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

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

無料で始める

コミット36件。開発ログの完全自動化ループが完成した

今週は開発者の怠惰を極めるための機能をひたすら作っていた。

GitHubのコミット履歴からSNS投稿を全自動生成する仕組みだ。

コミット履歴からSNS投稿を全自動生成するループ
コミット履歴からSNS投稿を全自動生成するループ
  • 総コミット数: 36件
  • 新機能: 3件
  • バグ修正: 1件

毎日30分かかっていた投稿作成作業が、完全に0分になった。

コードを書くことだけに集中できる。

もっとも、その浮いた時間でまた別の自動化ツールを作っているだけだ。

AIに「熱量」を翻訳させる3ステップの仕組み

GitHubのコミット履歴をAIに投げれば、自動で開発者の熱量が伝わる投稿ができるはずだった。

そう思って「開発ログ全自動生成ボタン追加」のコミットをプッシュした。

今週の開発実績(コミット・新機能・バグ修正)
今週の開発実績(コミット・新機能・バグ修正)

Claudeに履歴を丸投げして出力結果を待った。

画面に出てきたのは「〇〇を実装しました。便利です」という無味乾燥な報告文の山だった。

誰もそんなものは読まない。

AI特有の、当たり障りのない退屈なテキストが量産されただけだった。

「開発ログのフィルタ緩和+プロンプト全面改修」のコミットで修正に入った。

単なるログを流し込むだけでは、文脈が完全に欠落する。

なぜその変更が必要だったのか、どんな課題があったのかという背景が抜け落ちるからだ。

業界では Chain-of-Thought と呼ばれる手法を応用し、コミットの意図を推論させるステップを挟むのが定石だ。

今回はそれをさらに発展させ、3ステップのパイプラインにした。

「開発ログ生成を全コードパスで3ステップ方式に統一+スコアリング追加」のコミットだ。

まずコミットをグルーピングし、次に投稿を生成し、最後にスコアリングを行う。

生成された投稿を別のAIインスタンスに評価させる仕組みを入れた。

これは LLM-as-a-Judge と呼ばれるアーキテクチャで、人間がチェックするコストを最小化するための技術だ。

スコアが3以下の投稿は自動でリジェクトされる。

これで品質の低い投稿が一覧に並ぶことはなくなった。

さらに「スレッドのパート1フックを大幅強化」のコミットで、読者の好奇心を煽る構造を強制した。

最初の投稿で結論を言わず、具体的な数字や実績で引きつける。

プロンプトには具体的なフックの型を5つ提示した。逆張り、問いかけ、数字実績、宣言、対象指名だ。

これを毎朝8時に自動で実行するcronジョブとして仕込んだ。

「開発ログ毎日自動生成cron追加」のコミットで、完全な手放し運用が実現した。

しんたろーしんたろー:
自分で作ったツールに自分の行動を監視させて、自分の言葉で語らせている。完全に自己言及のループに入った。API代は1日数円。次からは浮いた時間でゲームしないようにしたい。たぶん無理だけど。

これで完璧な自動化が完成した。

と思いきや、生成された投稿の口調がたまに「〜でござる」になっていた。

プロンプトのどこかでキャラ設定を間違えたらしい。

謎のおじさんが10連続で増殖した画像生成のカオス

テキストの自動化がうまくいったので、次は画像の自動生成に手を出した。

開発ログに添える「しんたろー」のイメージ画像をAIで作ろうとした。

「開発ログにThreads投稿・画像生成・アカウントバッジ表示を追加」のコミットで画像生成APIを叩いた。

スタイルを vibrant に設定して実行ボタンを押した。

画面に現れたのは、実写の知らないおじさんの顔だった。

もう一度生成ボタンを押すと、今度は別の角度の知らないおじさんが出た。

3回目も、4回目も、5回目も、全員別のおじさんだった。

開発ログの画面が、謎の人物のポートレート集と化した。

しんたろーしんたろー:
10回連続で違うおじさんの顔が出てきた時は流石にブラウザを閉じた。画像生成AIの制御は本当に沼だ。プロンプト1単語で出力が180度変わる。

「dev-log画像生成でカスタムスタイル使用時にphotorealisticを使わないよう修正」のコミットを急いで入れた。

画像生成モデルのシード値やスタイル指定は、プロンプトの重み付けと激しく競合する。

特に photorealistic というタグは、モデルの学習データ内の実写比率が高いため、少しの指示ミスでキャラクター性が崩壊する。

「dev-log画像生成をphotorealisticに戻し、しんたろー参照画像を3D版に差替え」のコミットで根本的な対策を打った。

参照画像を3Dキャラに固定した。

さらにプロンプトに「実写人物禁止」という強力な制約を明記した。

これでようやく意図通りのビジュアルが安定して出力されるようになった。

ただ、たまに指の数が6本になっている画像が混ざる。

ここまで読んだあなたに

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

無料で始める

落とし穴:20年前から変わらない初歩的な罠

Vercelでサーバーレス関数を動かそうとした。

「ライティングガイドをTS定数に埋め込み」のコミットの前段での出来事だ。

ローカル環境では完璧に動いていた記事生成スクリプトをデプロイした。

本番環境で実行すると、エラーを吐いて完全に沈黙した。

ログを確認すると、指定したディレクトリが見つからないというエラーだった。

docs フォルダがデプロイの成果物に含まれておらず、ファイルの読み込み処理が全滅していたのだ。

AIが書いたコードは完璧だと信じ切っていた。

結局、ローカルのファイルシステムに依存するという20年前から変わらない初歩的なミスで詰んだ。

解決策は単純だった。

外部ファイルとして読み込むのをやめ、TypeScriptの定数としてコード内に直接埋め込んだ。

これでサーバーレス環境でも確実にデータが読み込まれるようになった。

最先端のAI開発をしていても、躓くのはいつもこういう泥臭い部分だ。

今日の数字

今回の自動化で得られた数字を整理する。

全ての数字が、僕の怠惰を正当化している。

| 項目 | 導入前(手動) | 導入後(AI自動化) | 比較対象 |

|------|--------------|------------------|----------|

| 投稿作成時間 | 1日30分 | 0分 | 企業なら専任担当者が数時間 |

| 記事生成コスト | 0円 | 約$0.05 | 外注ライターなら1記事5,000円〜 |

| API利用料 | $0 | 月額数ドル | 人間の時給換算で月間約10万円相当 |

手動で投稿を作っていた時は、毎日30分の時間を奪われていた。

企業であれば、専任のSNS担当者が数時間かけて行う業務だ。

cronによる完全自動化で、僕の作業時間は0分になった。

API利用料は月額数ドル程度。人間が書く時間を時給換算すると月間約10万円相当の価値がある、と言われている。

記事1本あたりの生成コストは約$0.05だ。

外注ライターに依頼すれば、どんなに安くても1記事5,000円は下らない。

しんたろーしんたろー:
コスト削減の桁がおかしい。月10万払って外注するか、月数百円のAPI代でAIに任せるか。浮いた時間でゲームしていたら、結局トータルの生産性は下がった。自動化の意味とは。

画像生成のプログレスバーがたまに途中で固まる現象が起きている。

「ワンタップ画像生成を複数同時実行対応」のコミットで並列化処理を入れたが、状態管理が怪しい。

生成された画像のファイル名が長すぎる問題も放置したままだ。

開発ログ自動化に関するFAQ

Q: cronで毎日自動生成するとき、GitHub APIのレート制限には引っかからないの?

毎朝1回だけ昨日の差分を取得する設計にしている。

リアルタイムで全件取得するとすぐに制限に引っかかる。

必要なデータだけをバッチ処理で抜くのが鉄則だ。

Q: Vercelデプロイ時のファイル読み込みエラーはどう防ぐ?

ローカルのファイルシステムに依存する処理は避ける。

設定ファイルやガイドラインはTypeScriptの定数としてコードに直接埋め込む。

これでサーバーレス環境でも確実に読み込まれる。

Q: LLM-as-a-Judgeのスコアリング、スコア3以下のリジェクト基準はどうやって決めた?

最初は手動で50件ほど生成して、自分が「これは投稿したくない」と感じたものを5段階で採点した。

その結果、3以下が体感の「NG」とほぼ一致していた。

今のところ生成物の約2割がリジェクトされている。

まとめ

自分のツールで自分の作業をなくす瞬間が一番気持ちいい。

👉 ThreadPostでSNS運用を自動化する

ThreadPost — SNS投稿をAIが自動化

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

無料で始める

この記事をシェア

XはてブLINE
しんたろー

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

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

人気の記事