0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Gemini×Pythonで作る!全自動かつ「超・人間くさい」ブログ運営システムの裏側【第1回:全体アーキテクチャ】

0
Last updated at Posted at 2026-07-22

image.png

こんにちは。個人でヒューマノイド開発をメインの目標に掲げている、しがない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

アーキテクチャ図

blogs.yml によるマルチテナント管理

このシステムのコアは、blogs.yml という単一の設定ファイルによるペルソナ管理です。エンジニアとして本質的にやりたいことは「プロンプトエンジニアリングの抽象化とシステム化」です。

  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回では「いかにして読まれる(検索される)ネタを拾ってくるか」という、情報収集とテーマ選定の泥臭いロジックについて解説します。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?