
こんにちは。個人でヒューマノイド開発をメインの目標に掲げている、しがないAIエンジニアです。
今回は、私が構築した「完全自動かつ、人間よりも人間くさい」ブログ運営システムの裏側を全5回にわたって解説します。
なぜヒューマノイド開発者がこんなものを作っているのかって?
……寂しい人間しかこんなことはしないですよね(笑)。技術で承認欲求を満たしつつ、あわよくば副業収入を得たい。そして何より、進化の激しい最新AI技術(LLM)のベンチマークを兼ねた個人的な実験でもあります。数年後には誰もが息をするように作れる時代が来るでしょうから、今のうちに遊んでおこうという魂胆です。
本連載では、コードの断片も交えながら、このシステムがいかにして「AI特有の無機質さ」を排除し、したたかにSEOと収益化を狙っているか、その技術的負債と泥臭いハックのすべてを公開します。
システムの全体像と技術スタック
本システムは、単なる「ChatGPTのAPIを叩いてWordPressに投げるだけのスクリプト」ではありません。複数のペルソナ(ブログ)を同時に運用し、それぞれに全く異なる性格付けとデザインを適用するマルチテナント型のアーキテクチャを採用しています。
- バックエンド: Python 3.10+, Flask (軽量なWeb UI用)
- 非同期処理・ジョブ管理: Celery / 独自キューシステム (SQLiteベースの軽量な状態管理)
- LLMオーケストレーション: Google Gemini Pro (1.5系)
- 画像生成: DALL-E 3 / Midjourney API (4コマ漫画生成)
- 外部連携: はてなブログ AtomPub API, 楽天商品検索API, DuckDuckGo検索API
# アーキテクチャ図
```mermaid
graph TD
A[blogs.yml] --> B(Queue Manager)
C[RSS/Google News] --> B
B --> D{Blog Master Agent}
D -->|3階層テーマ生成| E[Article Pipeline]
E -->|MBTIペルソナ注入| F((Gemini API))
F -->|Markdown出力| E
E -->|商品検索| G[Rakuten API]
E -->|画像プロンプト| H[Image Gen API]
E --> I[Hatena Blog API]
```
`blogs.yml` によるマルチテナント管理
このシステムのコアは、`blogs.yml` という単一の設定ファイルによるペルソナ管理です。エンジニアとして本質的にやりたいことは「プロンプトエンジニアリングの抽象化とシステム化」です。
```yaml
lifestyle_family:
hatena_id: "example_user"
blog_name: "30代主婦のウェルネス・ライフハック"
target_audience: "家庭と自分の時間を両立したい30〜50代女性"
tone: "同世代の主婦が共感できる、等身大で温かいトーン。"
trend_sources:
- "https://news.google.com/rss/search?q=主婦+ライフハック"
manga_config:
author: "friendly, clean shounen manga art style"
characters: "a busy 30-something housewife and her energetic pet dog"
```
新しいブログ(ペルソナ)を立ち上げたいときは、このYAMLに数行追加するだけです。システムは自動的にこのYAMLをパースし、非同期ワーカーがそれぞれのペルソナに憑依して、全く異なるトーンのブログを並行して執筆し始めます。
次回、第2回では「いかにして読まれる(検索される)ネタを拾ってくるか」という、情報収集とテーマ選定の泥臭いロジックについて解説します。