AIブログ自動生成ツールの設計|Next.js×OpenAI×WordPressのアーキテクチャ解説

Next.js、OpenAI API、WordPress APIで構成されたAIブログ自動生成ツールのシステム構成イメージ

AIブログ自動生成ツールの全体設計|Next.js×OpenAI×WordPressのアーキテクチャ

前章では、AIブログ自動生成ツールとは何かを解説しました。

この記事では、実際に作るツールの
**全体アーキテクチャ(設計構造)**を説明します。

今回のツールでは次の技術を使用します。

  • Next.js
  • OpenAI API
  • WordPress REST API

WordPress APIについて詳しく知りたい方は
こちらの記事も参考になります。

また、WordPressへ記事を自動投稿する仕組みについては
こちらの記事でも解説しています。


この章のゴール

この章では、AIブログ自動生成ツールの構造を

  • UI
  • API
  • サービス
  • ストレージ

の4つのレイヤーに分けて理解します。

この設計を最初に決めておくことで

  • コードが整理される
  • 保守しやすい
  • 機能追加がしやすい

というメリットがあります。


まず完成形を1分で理解する

今回作るツールは
**Next.js(App Router)**で構築します。

主な特徴は次の通りです。

  • フロントとバックエンドを同一プロジェクトで管理
  • 4ステップUIで記事生成
  • OpenAI APIで記事と画像を生成
  • WordPress REST APIで投稿
  • JSONファイルで履歴とコスト管理

ユーザーから見た操作フローは次の通りです。

テーマ入力

設計確認

生成結果確認

WordPress投稿

この4ステップだけで

記事生成から投稿まで完了します。


ツールのレイヤー設計

UI層、API層、サービス層、ストレージ層の4レイヤーで構成されたAIブログツールのアーキテクチャ図

このプロジェクトは次の4層構造で作ります。

UI層
API層
サービス層
ストレージ層

それぞれの役割を説明します。


UI層

ブログ自動生成ツールのUI部分
app/page.tsx

ここでは

  • 入力フォーム
  • API呼び出し
  • 進捗表示
  • 結果表示

などを担当します。

重要なのは

UIにロジックを書かないこと

です。

UIは

表示と操作のみ

に集中させます。


API層

app/api/*

ここでは次のエンドポイントを作ります。

POST /api/estimate
POST /api/generate
POST /api/image-only
GET /api/openai/test
GET /api/wp/test
POST /api/wp/post

APIの役割はシンプルです。

入力を受け取る

サービス層を呼ぶ

結果を返す

このように
薄いAPI設計にすると保守しやすくなります。


サービス層

src/services/*

ここが

ツールの本体ロジック

になります。

主なファイルは次の通りです。

generationService.ts
wpService.ts
openaiClient.ts
markdown.ts

役割は次の通りです。

generationService.ts
記事生成のメイン処理

wpService.ts
WordPress投稿処理

openaiClient.ts
OpenAI API接続

markdown.ts
Markdown → HTML変換

この層には

複雑なロジックを集約します。


ストレージ層

src/lib/db.ts

MVPでは
データベースは使いません。

代わりに

JSONファイル

で管理します。

保存するデータは次の通りです。

generations
usage_logs
cache

本番環境では

  • SQLite
  • PostgreSQL

などに置き換えることも可能です。


データの流れ

テーマ入力からOpenAI記事生成、画像生成、WordPress投稿までのデータフロー図

記事生成処理の流れは次の通りです。

UIでテーマ入力

/api/generateへPOST

generationService.runGeneration()

OpenAI APIで段階生成

SEO

構成

本文

画像計画

内部リンク

HTML変換

WordPress投稿データ作成

履歴保存

ここで重要なのは

1回の巨大プロンプトにしないこと

です。

生成処理を分けることで

  • エラー修正
  • 品質改善

が簡単になります。


型設計

TypeScriptでは
型設計を先に作ると実装が安定します。

中心となる型は

src/types/index.ts

にまとめます。

主な型は次の通りです。

InputPayload
GenerationResult
SeoPlan
Outline
ImagePlanItem
WordPressPostPayload
TokenUsage

型を先に作るメリットは次の通りです。

  • API仕様が明確になる
  • UIとのズレを防げる
  • リファクタリングが安全になる

なぜ4ステップUIにするのか

初心者向けツールでは

機能より導線

が重要です。

4ステップに分ける理由は次の通りです。

入力画面
設定を迷わせない

設計確認画面
コストと質問を確認

生成結果画面
編集に集中

投稿画面
成果を明確化

この構造にすると

ユーザーが迷わないUI

になります。


コスト管理を最初から入れる理由

OpenAI APIツールでは

コスト管理を後付けすると破綻します。

そのため最初から

  • トークン記録
  • 見積
  • 実コスト
  • 円換算

を入れておきます。

OpenAI API料金については
こちらの記事も参考になります。


MVPで割り切ること

今回は最短で動くツールを作るため

次の機能は省きます。

ユーザー認証
本格DB
ジョブキュー
高度記事評価

まずは

ローカルで動くMVP

を完成させます。

その後

  • DB化
  • 非同期処理
  • スケール

などを拡張します。


まとめ

AIブログ自動生成ツールの設計で重要なのは

UIは薄く
ロジックはサービス層へ
保存は抽象化

この3つです。

この構造にすると

  • 実装が整理される
  • 保守しやすい
  • 拡張しやすい

ツールになります。

次の記事では

環境構築と初期セットアップ

を解説します。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール