【開発事例】Webメディア2つを完全自動で回す。Node.jsとAIで実現した「1日40記事」の裏側

開発日記

はじめに:1日40記事、それは「人力」の限界を超えた領域

運営者のsujikoです。

このブログ「sktkcontact.com」は、私の技術的な活動記録を残す「母艦」として立ち上げました。しかし、開発のスピードが私の想定を上回り、母艦の整備よりも先に、実験的に構築したサブドメインの特化型メディアたちが、凄まじい勢いで稼働を開始してしまいました。

現在、このドメイン配下では以下の2つのメディアが動いています。

  • SYNAPSE: AI・テクノロジーの最新動向を追う特化サイト
  • Consumer Lab: 生活を豊かにする金融・ポイ活情報の検証サイト

驚かれるかもしれませんが、これら2つのサイトを合わせると、1日に平均40記事以上が休みなく投稿されています。もちろん、私が1文字ずつタイピングしているわけではありません。今回は、この「完全自動運用システム」を支えるNode.jsとAIの連携、そして開発者としての視点から見た運用の裏側を公開します。


「書く」のではなく「指揮し、監視する」

私のシステムと、巷に溢れる「AIで記事を書く」という手法には決定的な違いがあります。それは、人間の介在率です。

多くの場合は、人間がキーワードを選び、AIにプロンプトを投げ、出力された文章を人間がコピペして投稿します。しかし、私の構築したシステムでは、以下の工程のすべてをNode.jsプログラムが担っています。

  1. リサーチ(情報の鮮度確保): 最新のニュースやトレンドデータを外部APIから自動取得。
  2. 構成・執筆: 取得した情報を元に、読者にとって価値ある形にAIが再構成。
  3. アイキャッチ画像生成: 記事内容に合わせた画像をAIがその場で生成。
  4. アップロード: WordPress REST APIを介して、適切なカテゴリー・タグを付与し投稿。

私が日々行うことは、キーボードを叩くことではありません。システムが健全に動いているか、たまにターミナル上のログを眺めるだけです。まさに「Code is not written, Just Conducted(コードは書かない、ただ指揮するだけ)」という私の哲学を体現したシステムです。


技術的障壁:AIの「気まぐれ」をどう制御するか

開発において最も苦労したのは、プロンプトの調整ではなく「AIとプログラムの連携」でした。

Node.jsでシステムを組む際、AIには「プログラムが読み取れる形式(JSON形式)」でデータを返すよう指示します。しかし、AIは時として「はい、承知しました!」という余計な挨拶を付け加えたり、データの構造を勝手に変えてしまったりします。これが「JSONパースエラー」を引き起こし、従来ならそこでシステムは停止してしまいます。

エラー修正すらAIに丸投げする「自己修復機能」

開発当初、私はエラーが出るたびにコードを修正していました。しかし、それでは「自動化」とは呼べません。そこで私は、**「エラーが出たという事実すらもAIに報告し、その場で修正案を出させて再試行させる」**という自律的なループを組み込みました。

  1. AIが誤った形式の回答を返す。
  2. プログラムがエラーを検知し、「このエラーを修正して正しいJSONを返して」とAIに即座に差し戻す。
  3. AIが自己修正した回答を返し、処理が継続される。

この「自己修復(Self-Healing)」の仕組みを導入したことで、システムの停止率は劇的に下がり、私はエラーログとの格闘から解放されました。


リアルな運用実績とコスト(2025年現在)

1日40記事という物量を維持するためには、当然ながらコスト(API利用料)の問題がつきまといます。ここでは、2つのメディアの対照的なコスト戦略を公開します。

サイト名1日の投稿数運用コストコスト戦略
SYNAPSE12記事前後完全無料Google AI Studio(Gemini API)の無料枠を最適化して使い回す
Consumer Lab30記事以上日額 数百円〜1,000円投稿量重視のため、従量課金モデルをフル活用

SYNAPSE:ゼロコスト運用の美学

テック系メディアであるSYNAPSEは、情報の質と速報性を重視しつつ、GoogleのAPI無料枠を限界まで活用するようロジックを組んでいます。工夫次第で、AIメディアはゼロコストで運営できることを証明しています。

Consumer Lab:投資としての課金運用

一方で、Consumer Labは圧倒的な記事数で面を取る戦略です。API利用料は発生しますが、これは将来的な収益(アドセンスやアフィリエイト)を見越した「投資」と位置づけています。現在は、モデルを軽量化(Gemini 1.5 Flashなどの活用)したり、キャッシュ機能を実装することで、1記事あたりのコストをさらに数円単位で削ぎ落とす開発を進めています。


まとめ:「個人メディア」の概念が変わる

「ブログは毎日コツコツと自分の手で書くもの」

その美学を否定するつもりはありません。しかし、技術の力を使えば、個人の発信力は10倍にも100倍にも拡張できます。

コンテンツの質を担保するのは、もはや「執筆時間」ではなく、「情報の取得源をどこにするか」という選定眼と、「AIにどう書かせるか」というプロンプトの設計能力です。

今後このブログでは、Consumer Labで進めているコスト削減の具体的なコード(Node.jsライブラリの活用術)や、実際に使用しているプロンプトの構造についても惜しみなく共有していく予定です。

コメント

タイトルとURLをコピーしました