副業・収益化

副業で月5万円稼ぐために僕がAI自動化で実装した6つの仕組み

副業で月5万円稼ぐために僕がAI自動化で実装した6つの仕組み

この記事は約 7 分で読めます

📖 目次
  1. 📌 はじめに
  2. 📌 1. SNS投稿を1日3回自動化した話
  3. 📌 2. ブログ記事を品質スコアで管理するようにした
  4. 📌 3. KDP出版を毎日1本自動化した
  5. 📌 4. DiscordをCTOの報告画面にした
  6. 📌 5. ブログのAdSense対策をスクリプトで一括処理した
  7. 📌 6. ококナラ納品の承認ゲートを実装した
  8. 📌 まとめ

はじめに

正直に言う。最初の3ヶ月は何も稼げなかった。

ブログを書いて、SNSを更新して、KDPで本を出して——全部手動でやってたら1日が消えた。消えただけじゃなくて、疲れてやめた。「継続が大事」とか言いながら、自分が一番続かなかった。

転機は「自動化しないと詰む」と気づいた瞬間だ。Pythonと launchd と Claude Code を組み合わせて、今は1日30分も触らずにコンテンツが動いている。月収が5万円に届いたのは、頑張ったからじゃなくて、仕組みを作ったからだと思っている。

この記事では、僕が実際に組んだ6つの自動化パイプラインを紹介する。コードも出すし、失敗談も出す。


1. SNS投稿を1日3回自動化した話

最初に作ったのはSNS投稿の自動化だ。

BlueSky・X・noteに毎日投稿するのは、想像以上にきつい。ネタを考えて、文章を書いて、タイミングを計って——これを毎日やると、本業に支障が出る。

解決策は launchd で7:00/12:30/20:30の3回、投稿スクリプトを自動起動すること。

# /Library/LaunchAgents/com.taito.sns-post.plist の骨子
<key>StartCalendarInterval</key>
<array>
    <dict>
        <key>Hour</key><integer>7</integer>
        <key>Minute</key><integer>0</integer>
    </dict>
</array>

投稿文の生成は Claude Haiku に任せている。Sonnet だとコスト嵩むし、Haiku で十分な品質が出る。というか、Haiku の方が変な修飾をつけないので自然な文体になりやすい。

詰まったのは「同じ文体の投稿が連続する」問題。Ollamaに切り替えたらむしろ個性が出て、それ以来ハイブリッド運用にした。


2. ブログ記事を品質スコアで管理するようにした

記事を自動生成しても、クオリティがバラバラだと意味がない。

生成→チェック→採点のパイプラインを作った。採点はS/A/B/C/D/Fの6段階で、スコア高い順にストックして、上から公開していく仕組みだ。

# 品質チェックの骨子
grades = {"S": 90, "A": 80, "B": 70, "C": 60, "D": 50, "F": 0}
filename = f"s{score:03d}_{grade}_{today}_{slug}.json"

この仕組みを入れる前は、明らかに薄い記事がそのまま公開されることがあった。「これ誰が読むんだ」という記事が出た瞬間に品質ゲートの必要性を確信した。

最近のAdSense申請対策でブログを棚卸ししたとき、公開済み14本の平均が2,430字で全部AIテーマに揃っていた。品質スコア管理を入れた効果が数字で見えた瞬間だった。


3. KDP出版を毎日1本自動化した

Kindle本の出版を毎日1本自動化している。

「毎日1本って嘘でしょ」と思われるかもしれないが、本文生成→表紙生成→epub変換→出版キュー追加までがスクリプト1本で動く。

python3 01_Scripts/kdp/kdp_ai_book_generator.py

表紙はGemini Web経由で生成している。Gemini は日本語テキスト入り画像の品質が高くて、他のサービスと比べて文字化けが少ない。プロンプトを英語で書きながら日本語テキストを明示する形式にしてから、品質が安定した。

本文はSonnetに書かせる。KDPは「量×質」の掛け算なので、ここだけはケチらない判断をした。

失敗談を言うと、最初は本文の構成がバラバラで「これ本と呼んでいいのか」というクオリティが出た。章立てのテンプレートをプロンプトに埋め込んでからは、まともな本になった。


4. DiscordをCTOの報告画面にした

何十個もスクリプトが動いているので、ステータス確認が大変だった。

解決策はDiscord Bot経由の集中管理だ。!status で全パイプラインの稼働状況が返ってくる。

X: 投稿1本完了(v_visual_ollama_vs_claude_api)、次は114分待機  
BlueSky: エンゲージ6件完了  
note: クールダウン中(前回投稿から3時間未満)→次投稿は自動待機

これが Discord に飛んでくる。スマホで確認できるので、外出中でも状況を把握できる。

ボットに自然言語で話しかけると、Claude Haiku がコマンドを解釈して実行してくれる設計にもした。「今日の投稿状況は?」と聞けばサマリーが返ってくる。

地味に効いているのが音声読み上げ機能。AivisSpeechでボイスチャンネルに入ってステータスを読み上げてくれる。「完了しました」の声が流れると、ちゃんと動いてる実感がある。


5. ブログのAdSense対策をスクリプトで一括処理した

AdSenseの申請を通すために、ブログの整備が必要だった。

手作業でやったら半日かかる作業をスクリプト化した。

  • 重複ページの非公開化(privacy-policy-3, contact-2 など)
  • テストドラフトのゴミ箱送り
  • メタディスクリプションの自動挿入
  • 内部リンクの注入
# inject_internal_links.py の骨子
for post in published_posts:
    content = inject_links(post["content"], related_posts)
    update_post(post["id"], content)

内部リンク注入は inject_internal_links.py で全記事を走査して、関連キーワードに自動でリンクを貼る。手動でやると絶対やらない作業だ。

結果はAdSense準備度が78/100。Search Console登録→申請まで後もう少しのところまで来た。この数字が出たとき、地道に整備してきたことがスコアとして可視化された感じがして、ちょっと嬉しかった。


6. ококナラ納品の承認ゲートを実装した

ここは少し特殊な話だ。

ココナラで自動返信・自動納品パイプラインを組んでいるが、「AIが直接クライアントに送信する」のはリスクが高い。誤送信や文脈ズレが一回でも起きたら信頼を失う。

解決策はDiscord DM経由の承認ゲートだ。

自動生成された返信文 → Discord DM に「送る/却下」ボタン付きで届く
→ 僕が「送る」を押した時点で初めてクライアントに送信

実装は approval_queue.py でキューを管理して、request_approval.py がDiscordに送って、post_approved.py が承認済み件を実送信する3ファイル構成だ。デッドロック回避のために、stateの更新→lockの解放→outboxの更新という順序を徹底した。

自動化しながらも人間が最終確認するという設計は、副業初期には特に必要だと思っている。稼ぎはじめるとスピード優先になりがちだが、ここだけは妥協しなかった。


まとめ

6つの仕組みをざっと並べると、こうなる。

  • SNS投稿の launchd 自動化
  • ブログ記事の品質スコア管理
  • KDP毎日1本自動出版
  • Discord Bot による一元管理
  • AdSense整備スクリプト群
  • ककोनाラ承認ゲート

全部を一気に作ったわけじゃない。詰まるたびに修正して、壊れるたびに直して、今の形になった。

月5万円というのは、正直まだ安定していない月もある。ただ、仕組みが動いている限り「ゼロになることはない」という感覚が出てきた。これが一番の収穫かもしれない。

次はSearch Console登録からのAdSense申請を自動化できないか考えている。できるかどうかはわからないが、たぶんどこかで詰まってその話を記事にする。✨



👨‍💻
一ノ瀬泰斗
AI自動化エンジニア / Python個人開発者

Claude Code × Ollama × launchd で SNS・ブログ・KDPを全自動化。実測データと失敗談を軸に、月5万円収益化のリアルな記録を発信中。


関連記事