PR
AIで記事作成を効率化したいなら → 高品質SEO記事生成AIツール【Value AI Writer byGMO】
※本記事は、2026年9月に実際に構築・運用している内容の記録です。APIの料金や仕様は変更される可能性があります。
こんにちは!Conomacです。
当ブログでは、AIエージェント(OpenClaw)とクラウドLLM(DeepSeek)を組み合わせて、WordPress記事の生成から投稿までを自動化してきました。ただ「全工程をクラウドLLMに任せる」構成は、記事を作るほどAPIコストが積み上がるのが悩みどころでした。
そこで今回は、Dify(ローカルDocker)+ローカルLLMを土台にして、品質がものを言う「本文作成」だけをDeepSeek Flashに任せるハイブリッド構成に作り替えました。実際のワークフロー、つまずいたポイント(文字数・品質・推論モデル特有の罠)、そして実測コストをまとめます。
この記事でわかること
- Dify+ローカルLLMで記事生成ワークフローを作る全体像
- 「文字数が安定しない」「もっともらしい嘘を書く」という2大つまずきと、その対策プロンプト
- 推論モデル(DeepSeek Flash)を混ぜるときの落とし穴(本文が空になる問題)
- ハイブリッド構成の実測コスト(1記事あたり約1円)
全体構成:Dify+ローカルLLM+DeepSeekのハイブリッド
土台は、Mac上でDockerで動かしているDify 1.17.1です。Difyのノードから呼ぶモデルは、基本的にローカルLLM(LM Studioで動かしているgpt-oss-20b)。Difyの「OpenAI API互換」プロバイダに host.docker.internal:1234/v1 を指定すれば、ローカルLLMをそのままモデルとして登録できます。APIキーは不要で、コストは電気代だけです。
ワークフローは13ノード。テーマを1つ渡すと、記事生成から画像3枚の生成、WordPress下書き投稿まで一気通貫で走ります。
| 工程 | 担当 | コスト |
|---|---|---|
| テーマ確定(GSCの伸びを参照) | ローカルLLM | 0円 |
| 見出し構成案 | ローカルLLM | 0円 |
| SEOタイトル・メタ説明・タグ | ローカルLLM | 0円 |
| 記事本文作成 | DeepSeek Flash(クラウド) | 約1円 |
| 書式整形・素材抽出 | コードノード(Python) | 0円 |
| 画像生成(3枚) | HTTPノード → Fal.ai(FLUX+LoRA) | 別途 |
| 下書き投稿 | HTTPノード → WordPress REST | 0円 |
設計の勘所は「判断と文章はDify、実行と検証はスクリプト」という分担です。Difyを土台にしておくと、物足りない部分だけモデルを差し替えられる(=本文ノードだけクラウドにする)ので、構成を作り直さずに品質とコストのバランスを動かせます。
つまずき①:本文の文字数が安定しない
最初は「2,500〜4,000字で書いて」と指示するだけでしたが、出力は1,520〜3,084字のあいだで大きくブレ、2,500字を超えたのは17本中5本という状況でした。20Bクラスのローカルモデルは、長い指示の後半を落としやすいのが原因です。
対策として、指示の順番を「手順 → ルール → 出力形式 → セルフチェック」に固定しました。
- H2・H3の本数を明示的に固定する
- 良い例・悪い例をセットで見せる(few-shot)
- 出力前に確認するセルフチェック項目を並べる
- 禁止事項は最後に置く(前半に書くと無視されやすい)
あわせて、サイトの慣例(見出しに絵文字を入れない/行末スペースを残さない/タグの区切りは読点に統一)は、LLMに任せずコードノードで機械的に整形するようにしました。文章の「型」はプロンプトで、表記の「ゆれ」はコードで潰すのが再現性が高いです。
つまずき②:もっともらしい嘘を書く(ハルシネーション)
実際に起きた事故は2つあります。
- API連携の捏造:画像生成の説明で「SeaArtのAPIキーを取得して連携する」という手順を書いてしまった。実際の生成はFal.ai(FLUX+LoRA)で、SeaArtのAPIは使っていない。
- 地名の捏造:ローカルモデルに「中津川の名所を3つ」と聞いたところ「中津川城跡/風の谷温泉/鳥居山公園」と自信満々に回答。実際の名所は馬籠宿・妻籠宿・苗木城跡で、モデルは中津川の地理を知らなかった。
対策は「事実をプロンプトに書く」ことに尽きます。
- サイトの一次情報(使用API、画像サイズ、LoRAの位置づけ、プロンプトの必須ワードなど)を事実パックとしてプロンプトに埋め込み、「ここに書いていない技術的詳細は書かない」と明示する
- 地名はテーマ側に名所まで書いて渡す(モデルが知らない前提で設計する)
- 「◯◯と◯◯のAPI連携」のような見出し自体を作らせない
教訓はシンプルで、表記のルールと同じで、事実に関わることも明示的に禁じないとモデルは埋めてしまうということでした。
つまずき③:推論モデルにしたら本文が空になった
品質対策として、本文ノードだけをDeepSeek Flashに差し替えたところ、「記事生成が途中で止まる」現象が出ました。原因はDeepSeek Flash(およびPro)が「推論(reasoning)」モデルであること。回答の前に考える時間(reasoning_content)を消費し、上限トークンを使い切ると本文が1文字も出ないまま終わるのです。
実測すると、400字の答えを書かせるのに推論だけで4,266〜6,304トークン。本文ノードの上限が8,192トークンでは足りず、パイプラインは「成功」したように見えて中身が空、という静かな失敗になっていました。
対策は3点セットです。
- 本文ノードの
max_tokensを 65,536 に引き上げる - Difyのモデル資格情報にある「最大token上限(max_tokens_to_sample)」を131,072に変更する(ここが小さいとノード側の指定がエラーで弾かれる)
- 変更後はRedisのキャッシュを消す(Difyはモデル設定をキャッシュするため、DBを直接書き換えても古い上限が使われ続ける)
結果、本文5,750字・画像3枚・WordPress下書きまで3分22秒で完走するようになりました。教訓は「推論モデルは思考トークンも出力として課金される」ことと、「本文が空」のような静かな失敗があるので、実行後に文字数を必ず機械的に検証することです。
実測コスト:1記事あたり約1円
ここが今回いちばん伝えたいポイントです。同一の記事をハイブリッド構成で作ったときの実測値は次のとおりです。
| 経路 | 実測 |
|---|---|
| ローカルLLM(構成・SEO・整形) | 0円 |
| DeepSeek Flash(本文のみ/入力2,478・出力23,172トークン) | 約$0.007(約1円) |
| DeepSeek Proで同じことをした場合 | 約$0.08(Flashの約12倍) |
| AIエージェントに全工程を任せた場合(実測: 18分のセッション) | 約$0.24 |
つまり、エージェントに丸ごと任せるより約30分の1で1記事ができあがります。差がつく理由は3つです。
- Difyのプロンプトは「素材+指示」だけで約2.5kトークンに収まる(エージェントは会話履歴とツール出力を毎ターン積むため、1回のやり取りで数万トークンになる)
- 本文以外のノードはローカルLLMなので0円
- 1回のパスで完結するため、「実行→検証→やり直し」の往復が発生しない
もちろん全部ローカルで済ませれば0円です。ただし20Bクラスは指示の抜けや事実誤認が残るため、「型と判断はローカル、最後の文章だけクラウド」という配分に落ち着きました。品質に不満が出たらモデルを、コストを詰めたくなったら推論のないモデルを選ぶ、という調整が1ノードの変更で済むのがDifyを使う利点です。
ハイブリッド構成の勘所
- Dify=判断と文章/スクリプト=実行と検証。投稿や画像の処理はRESTで外に出し、Difyに重い処理を持たせない
- モデルは差し替えられる前提で組む(本文ノードだけ変えれば済むように)
- 静かな失敗を検知する(文字数0字、空の本文、タグの欠落は投稿後に機械的にチェック)
- 上限トークンのように「2か所」に効く設定がある(ノード側と資格情報側。片方だけ直しても動かない)
PR・広告
ローカルLLMやAI画像生成はメモリとGPUがものを言う → コスパ抜群の中古PC【Qualit】
まとめ
Dify+ローカルLLMを土台にして、本文だけDeepSeek Flashに任せるハイブリッド構成にしたことで、1記事あたり約1円・所要3分半で「本文+画像3枚+WordPress下書き」まで自動で作れるようになりました。
- ローカルLLMは0円だが、文字数と事実関係は「型」と「事実パック」で支える
- クラウドは本文だけ。推論モデルは思考トークンを食うので上限設定に注意
- エージェントに丸投げするより約30分の1のコストで済む
当ブログでは、今後もOpenClaw×Difyによるブログ運営の自動化ノウハウを発信していきます!
関連記事
📊 あわせて読みたい: Search ConsoleとGA4をAPIで自動取得|サービスアカウントでアクセス解析レポートを毎週自動作成する方法
OpenClawに「1行指示」するだけで旅行ブログ記事が完成!DeepSeek×Fal.aiの実コストを公開
Pinterest APIでブログ記事を90件まとめて自動ピン化してみた!OpenClaw×Pinterest連携のセットアップ手順