生成AIチャットボットにブログのレビューと公開予約をさせてみた #ai #llm #wordpress #langchain #langgraph

はじめに
クリエーションライン株式会社では、さまざまな情報発信の場として「クリエーションライン Tech blog」を運営しています。こちらに記事を公開する際には、
- 内容のレビュー
- アイキャッチやカテゴリなどの設定確認
- 外部リンクを新ウィンドウで開く設定
- 公開時間の予約
をその都度、人力で行っていました。今回、生成AIを利用して、これら人間の負担の軽減を試みました。
前提条件
社内コミュニケーションツール「Slack」に常駐している生成AIチャットボット「玄米茶」に機能を追加します。この際、LangChain Tool callingを活用して組み込みました。Tool Callingについては過去記事「LangGraphのTool callingでOpenAI APIのFunction callingを試してみよう」をご覧ください。
内容のレビュー
内容のレビューは単純に「記事のタイトルと本文に、レビューを指示したプロンプトを付与する」という形を取りました。弊社テックブログはWordPressを利用しているので、WordPress REST APIで記事のタイトルと本文を取得しています。
まず最初は次のプロンプトを使用しました。ちなみにこのプロンプト自体も生成AIで作成しています。
ブログ記事について、次の3つの指示に従ってレビューしてください。 1. 目的の明確化:「このブログ記事は、読者に特定のテーマについて理解や新たな視点を提供することを目的としています。レビューを通じて、記事がその目的を効果的に達成しているか確認してください。」 2. 評価基準の設定:「以下の評価基準に従って、記事を評価してください: - 内容の正確性: 記述されている情報は正確で信頼性があるか? - 説明の明確さ: テーマやアイデアが明確に説明されているか? - 一貫性: 記事内の内容が論理的に一貫しているか? - 読みやすさ: 文法やスタイルが適切で、読者が読みやすいか? - 有用性: 読者にとって有意義な情報や新しい視点を提供しているか?」 3. フィードバックの提供方法:「記事全体を通じて、改善が必要な部分を特定し、具体的なフィードバックを提供してください。できれば提案として、改善方法や追加すべき情報を示してください。」
これに過去記事「Chefによるクラウド移行の実践ガイド」を与えた結果が次です。
## 1. 目的の明確化 **記事の目的:** 本記事は、Chefを利用したクラウド移行の課題と解決策、ならびにChefツールの利点を読者に紹介し、理解や新たな視点を提供することを目的としています。また、関連資料や実例・チュートリアルを通じて、より深い学習を促す役割も持っています。 --- ## 2. 評価基準による評価 ### ◇ 内容の正確性 - **評価:** 良好 - **根拠:** オリジナル記事の和訳という位置づけならびに、Chef公式ブログや主要ドキュメントへのリンクを参照しているため、情報の信頼性は高いと判断します。クラウド移行時の課題や、インフラ抽象化ツールとしてのChefの役割も正確に記述されています。 ### ◇ 説明の明確さ - **評価:** 概ね明確だが一部要改善 - **根拠:** 全体的に分かりやすい文章でまとめられており、クラウド移行の必要性、課題、Chefの利点などが順序立てて説明されています。一方で、抽象的な表現が多く、実際の運用イメージや課題例の具体性がやや不足しています。 ### ◇ 一貫性 - **評価:** 良好 - **根拠:** 問題提起→課題整理→Chefの解決策→次のステップ(資料・ウェビナー・チュートリアル紹介)という流れが論理的で、内容も首尾一貫しています。 ### ◇ 読みやすさ - **評価:** 良好 - **根拠:** 日本語の文章として自然で、読点や区切りも適切です。段落ごとに主旨が整理され、詰め込みすぎることもなく適切な長さにまとめられています。 ### ◇ 有用性 - **評価:** 良好 - **根拠:** クラウド移行を考えるIT担当者・管理者にとって基本的な視点や、Chefが解決できるテーマ、関連リソースが整理されているため有用性は高いです。加えて、チュートリアルやウェビナーなど学習への導線も明示されており、読後の行動につなげやすいです。 --- ## 3. 改善点およびフィードバック ### A. 具体的事例やユースケースの追加 **課題:** 本文は全体的に抽象的な説明に終始しており、読者にとって「自分ごと」としてイメージしにくい部分があります。 **提案:** - クラウド移行で直面しがちな具体的な課題例(例: 設定ファイル管理、複数クラウド対応、移行時のセキュリティ監査 など)を一、二例加えるとより親近感を持てます。 - Chefを使った運用改善の具体的な流れ(例: どのように設定コードが活用されるのか、Chef Automateの画面イメージ等)を一文でも記載すると効果的です。 ### B. 記事冒頭のもうひと工夫 **課題:** 和訳の旨と原記事リンクが冒頭に記載されていますが、記事全体の「要点」を冒頭で簡単にまとめると、初見の読者にも安心感を与えられます。 **提案:** - 冒頭に「この記事で学べること」や「こんな方におすすめ」といった一文を設け、読むモチベーションを高めましょう。 ### C. 関連情報のアップデート **課題:** 案内されている外部リンク(ホワイトペーパーやウェビナー)は、2018年の情報が中心です。クラウド界隈は変化が速いため、やや古さを感じる可能性があります。 **提案:** - もし最新のChefやクラウド移行に関する情報源やホワイトペーパーがあれば、追記や補足をおすすめします。 - 「2025年現在もChefを使ったクラウド移行は進化を続けており、最新情報は公式サイトやコミュニティで随時公開されています」等の注記も有用です。 ### D. アクション喚起の明確化 **課題:** 本文末の「何をすべきか」案内がやや散漫な印象です。 **提案:** - チュートリアル・ウェビナー・ホワイトペーパーなど、「Step1→2→3」のようなナビゲーションや推奨ルートを示すと、さらに親切になります。 --- ## 総評 Chefを活用したクラウド移行の要点と利点を端的に説明し、公式リソースや実践例に案内する点で非常に有用な記事です。抽象的な部分に具体性を加えることと、アクションへの導きをより明確にすることで、さらに読者の行動や理解を促進できるでしょう。
「フィードバックは8割褒めて、2割指摘」とよく聞きますが、このフィードバックは5割くらい指摘に見えます。また文体が全体的に事務的で冷たい印象を受けるので、人によっては「言ってることは正しいけど、何か腹立つな…」とか「頑張って書いたのにボロクソ言われた…もう書かない…」と思ってしまうかもしれません。それはそうなのですが、生成AI的には「指摘しろと言われたので指摘(だけ)しました」と、言われたこと(だけ)を素直に実施しただけでしょう。そこで、
このプロンプトによるレビューは的確だと思います。しかし的確なあまり、受け手がひどくショックを受ける可能性が考えられます。そのため、レビューは的確でありながら、受け手を尊重した優しい文体であることが望まれます。そのように変更してください。
と指示して改訂させました。それが次のプロンプトです。
ブログ記事について、次の3つの指示に従ってレビューしてください。 1. 目的の明確化:「このブログ記事は、読者に特定のテーマについて理解や新たな視点を提供することを目的としています。レビューを通じて、記事がその目的を効果的に達成しているか確認してください。」 2. 評価基準の設定:「以下の評価基準に従って、記事を **柔らかく** 評価してください: - 内容の正確性: 記述されている情報は正確で信頼性があるか **を確認しつつ、良い点を強調してください。** - 説明の明確さ: テーマやアイデアが明確にされている **点を認めながら、さらなる明確化の余地について優しく提案してください。** - 一貫性: 内容に一貫性がある **点を評価し、改善できる部分があれば前向きな表現でアドバイスしてください。** - 読みやすさ: 読者が読みやすい **部分を褒めつつ、スタイルの向上点を優しく示してください。** - 有用性: 読者にとって有意義な部分を **称賛し、追加情報があればそれを提案として優しく伝えてください。** 3. フィードバックの提供方法: 「記事全体を通じて、 **良い点を必ず強調した上で、改善が可能な部分については前向きで優しい提案を提供してください。受け手が励まされ、次に繋げられるようなフィードバックを心がけてください。** 」
強調部分は先のプロンプトとの差分です。指示に「優しい文体で」と書いたせいか「優しい」という語が多く、「受け手がひどくショックを受ける可能性」や「受け手を尊重した」という指示からか、ちょっと過剰ではと思うほどにポジティブさを発揮するように組まれています。
では、これに過去記事「Chefによるクラウド移行の実践ガイド」を与えてみましょう。
#### 1. 目的の明確化 本記事は「Chefによるクラウド移行の実践ガイド」の和訳として、Chefを用いたクラウド移行の課題やその解決法を紹介し、関連資料やウェビナー等のさらなる学びの機会を読者に提供することを目的としています。その目的に沿って、クラウド移行の背景、課題、Chefの利点、追加リソースへの案内と、段階的に情報が展開されており、記事が目指す理解・新たな視点の提供がしっかり伝わっています。 #### 2. 評価基準ごとのレビュー **内容の正確性** クラウド移行の動向やメリット、直面する課題、Chefの機能と解決策について分かりやすく説明されており、2018年の原文時点で信頼性が高い情報が正確に伝わっています。加えて、最新ホワイトペーパーや実例へのリンクも配置され、情報源が明示されている点が素晴らしいです。一方で、内容の一部が2018年時点のものであり、最新状況との違いにも言及されると更に信頼性が増すかもしれません。 **説明の明確さ** 導入では問題提起と理由が一文で簡潔に整理されており、段階的にChefの強みへと話が流れる構成がとても明快です。特に「責任の境界線」「ハイブリッド環境」「複数クラウド」というキーワードが丁寧に繰り返され、重要ポイントが印象に残ります。もし可能であれば、Chefの具体的な操作・適用イメージの補足や、専門用語の簡単な注釈が加わると、さらに幅広い読者層に親しみやすくなるでしょう。 **一貫性** 記事全体を通じて「クラウド移行」「Chefの利点」「さらなる学び」の3軸で整理されており、流れに乱れがなく、読者が情報を追いやすい構成になっています。章立てや箇条書きもうまく使われている点も好印象です。今後改善点として挙げるなら、見出し下への短い要約文を追加することで、読者が各セクションの意図をさらに理解しやすくなるかもしれません。 **読みやすさ** 文章は穏やかで配慮ある日本語に訳されており、元記事のトーンがよく反映されています。リンクやリソースも最後に整理されていて、読者が次にどこへ進めば良いのかが一目で分かります。もし可能であれば、「実践ガイド」は途中でもう一度リマインド的にダウンロード案内を挿入すると、繰り返し訴求でき、より親切かもしれません。 **有用性** 原文だけでなく、導線となるホワイトペーパーやウェビナー、セルフガイドチュートリアルのリンクが充実しており、読者が実践に進みやすい構成になっています。情報提供だけでなく、体験や学びへのステップを示している点はとても素晴らしいです。今後、移行時のよくあるQ&Aや、Chefの導入をためらう組織への簡単なチェックリストのような補足コンテンツが加わると、一層参考になるでしょう。 #### 3. 総評と温かいフィードバック 全体を通じて、読者に「Chefによるクラウド移行」の価値と第一歩を踏み出す勇気を与える素敵な和訳記事です。原文の情報が適切かつ分かりやすく日本語化されており、リンクや資料への案内も行き届いています。 今後さらに読者層を広げるために、専門用語へのもう一歩踏み込んだ説明や、最新動向への補足アップデートが加わると、記事の信頼性と有益性はますます高まることと思います。
自分で「温かいフィードバック」と書いてしまっているのはどうかと思いますが、文字通りの指示はしていないのに「フィードバックは8割褒めて、2割指摘」の原則に沿ったような、全体的にポジティブな印象に様変わりしました。それでいて不十分な点の指摘もなされているので、これなら「悪い気はしないし話を聞いてみようかな」とか「頑張って書いたところはちゃんと褒められた」と思えそうです。
何人かにこのレビューの感想を聞いてみたところ好評だったため、このまま本採用することにしました。
設定確認
アイキャッチ設定
WordPress REST APIで記事のアイキャッチ設定の有無が取得できるので、それで判定することにしました。JSONのキーバリューを単純にマッチすればよいだけなので、生成AIは使っていません。このアイキャッチ設定の確認に限らず、判定に生成AIを使うか使わないか、どこまで生成AIを使ってどこから使わないかというのは、このような機能を作成する際の重要なポイントになると思います。
カテゴリ設定
記事には内容に即したカテゴリ設定が望まれます。しかし、用意されているカテゴリが多いと、どれが内容に即しているのか、過不足はないか、人力ではどうしても限界が出てしまいます。そこでこれは生成AIに任せてしまいましょう。次のプロンプトを作らせてみました。
あなたはWordPress記事のカテゴリレビュアーです。 記事内容に最適なカテゴリをカテゴリ一覧からを選んでください。 次の点を判断してください: - 選ばれているカテゴリに過不足はないか - 不要なカテゴリが選ばれていないか レスポンスは 1. 適切なカテゴリ一覧 2. 不足しているカテゴリ 3. 不要なカテゴリ 4. 簡単な判定理由 を日本語で端的に記述してください。 ▼カテゴリ一覧: {category_summary} ▼現在の記事設定カテゴリ: {assigned_summary} ▼記事内容: {blog_post_md}
WordPress REST APIで「カテゴリ一覧 ({category_summary}
)」「現在の記事設定カテゴリ ({assigned_summary}
)」「記事内容 ({blog_post_md}
)」を取得して入れ込むようにしています。
これに過去記事「Chefによるクラウド移行の実践ガイド」を与えてみましょう。
1. 適切なカテゴリ一覧 - Chef(chef) - AWS(aws) - Azure(azure) - クラウドネイティブ(cloudnative) - DevOps(devops)(あれば尚良) 2. 不足しているカテゴリ - AWS(aws)(記事にAWS活用例が記載) - Azure(azure)(同上、Azure活用例が記載) - クラウドネイティブ(cloudnative)(クラウド移行・管理全般が主題のため) - DevOps(devops)(Chef自体がDevOps・自動化文脈で利用されるため関連性あり) 3. 不要なカテゴリ - Chef(chef)以外は選択されていないので不要なカテゴリはなし 4. 判定理由 記事はChefを活用したクラウド(AWS・Azure等)への移行、およびクラウド環境におけるインフラ運用・DevOpsの実践を中心に解説しています。従って、Chefだけでなく、主要事例で取り上げられているクラウド(AWS、Azure)、記事全体のテーマである「クラウド運用・移行」を表現するクラウドネイティブ、Chef文脈で必然的に関わるDevOpsも適用範囲となります。Chef単一カテゴリではトピック範囲を十分に網羅できていません。
Azureは一単語しか出てきておらず、そこまで関連性の高いものとは思えないので少しずれているかなと思いますが、それ以外はおおむね納得のいく指摘だと思います。繰り返しとなりますが、多くのカテゴリから選ぶのは人力では大変なので、粗い提案でもいいので出してくれるのはとても助かると思います。
外部リンクを新ウィンドウで開く設定
これも生成AIは使わず、WordPress REST APIで記事本文を取得し、Beautiful Soupで解析します。
公開予約
記事を書いたら公開するわけですが、適したタイミングというものがあると思います。営業時間内に公開するのがよさそうですし、他に記事公開時間とは適度に離したほうがよさそうです。これらの条件をもとに予約時間を設定するのは大変なので、WordPress REST APIで他の記事の公開時間を確認したり、自然言語での条件を与えることで生成AIで予約時間の候補を提示させ、さらに実際の予約も行えるようにしました。
次のプロンプトで判定と候補時間の提示、承認を行います。仕組みの詳細は省きますがLangChainのTool Callingを使用しています。詳細は過去記事「LangGraphのTool callingでOpenAI APIのFunction callingを試してみよう」をご覧ください。
クリエーションラインテックブログの投稿依頼を受け付け、 投稿時間の調整を行い、ユーザの承認があれば投稿時間を設定するツールです。 次にマッチするURLが予約投稿対象のWordPressブログです。 https://www.creationline.com/tech-blog/ ここから数字で表されるWordPressのブログポストIDと、 指定があれば投稿日時を抽出します。 指定がなければ、未来の投稿日時を提示します。
生成AIではない条件判定によって次を除外します。
- 予約日時が過去
- 予約日時が土日
- 予約日時が他の投稿の前後30分以内
そして、ユーザからの承認があれば、WordPress REST APIを通して公開時間を予約します。
実行結果は次の通りです。

会話によって適当な公開時間が導かれ、さらに実際に予約もできました。
まとめ
本稿では生成AI付Slackボット「玄米茶」に追加した、「クリエーションライン Tech blog」の記事と設定のレビュー、そして公開予約を行う機能を紹介しました。これにより、記事を公開する際の
- 内容のレビュー
- アイキャッチやカテゴリなどの設定確認
- 公開時間の予約
にかかる人間の負担を大きく軽減することができました。
内容のレビューは、生成AIはプロンプトで指示したことを基本的に守るので、人間だとここまで褒めちぎるのは照れなどもあって突き通せないかもしれないところも愚直にやってくれることがメリットだと思いました。
また本文中でも挙げた通り、
- 生成AIに任せる
- 生成AIに任せず、これまで通りのプログラミングで判定などを行う
- 両者で役割分担する
といったところが重要なポイントだと思います。
生成AIはわりと雑な指示・ふわっとしたプロンプトであっても、それなりに動いてくれるという利点がありますが、やっぱり生成AIなので、条件判定を間違えることをそこそこの割合で見かけます。そのためこれまで通りのプログラムコードできちんと判定を行い、生成AIがおかしな判定をした際のガードレールとすることも重要だと思いました。
引き続き、生成AIとSlackを組み合わせ、人間の負担を軽減できる機能を考えていきたいと思います。
おまけ
本稿の初稿を確認させた結果です。改善の指摘が出ていますが、性能をご覧いただくため本文はそのままとしています。
1. 記事レビュー(柔らかいフィードバック) **目的の明確化** この記事は、生成AI(主にSlack常駐チャットボット「玄米茶」)を使い、WordPressブログ運用にまつわるレビュー、設定確認、公開予約の業務効率化事例・ノウハウを読者に共有することを目的としています。多くの工数を要しがちなテックブログ運用に「生成AI×Slack×LangChain/LLM」といった最新技術をどう組み合わせたか、その工夫と気づきを具体的に解説しています。 目的は最後までぶれず、読者に「自分も業務自動化に取り組んでみたい」と思わせてくれる好記事です! **内容の正確性** システム化したフローや各所プロンプト例が丁寧かつリアルに記載されており、AIによるレビューの評価軸や改善プロセスも実際の工程に即して説明されています。LangChainやWordPress REST APIなど引用している情報も実践的です。「なぜ人間レビューがAIの出力以上に難しいのか」「生成AIの温度感(ポジティブ/ネガティブ)」といった感覚面も織り交ぜており、単なる手順紹介以上の深みを感じます。 **説明の明確さ** 全体を通してプロセスの流れが章立てでとても分かりやすく、補足や実例もあるため読者のつまづきを防ぐ構成となっています。プロンプト例や実際に得られたAIの回答サンプルが豊富で、内容の説得力・再現性が高いです。もう一歩工夫できそうな点としては、AI側の「間違い判定」や「それを人間側でどうキャッチアップしたか」というシーンをもう一例加えると、さらに学び・安心感が得やすくなるでしょう。 **一貫性** 「AIに任せる部分/人力で判定する部分」を何度も強調し、それぞれのメリット・デメリットを丁寧に比較しています。記事前半~後半まで論旨の軸がぶれず、読者が「なぜこの流れになるのか」を理解しやすい一貫した構成です。全体的な流れや構成も整理されていて見やすいです。 **読みやすさ** 章立て、箇条書き例、引用(引用ボックス・コードブロック)、図の挿入(スクリーンショット)など、視覚的にも読みやすい配慮があります。砕けた表現と丁寧な説明のバランスも好感が持てます。記事をさらに読みやすくするなら、冒頭で「この記事を読むことで~」とまとめたONE LINERを設けたり、適宜まとめボックスを入れると、長文でもリズム良く読み進められるかもしれません。 **有用性** 難しいテーマながら、AI活用検討中のエンジニア・運営者が「自社でも部分的に取り入れよう」と具体的なイメージを持てる内容です。特に「プロンプトの工夫」「温かいフィードバック重視」など、導入する際の”落とし穴”や”学び”がしっかり綴られており、多くの現場で参考にされることでしょう。 今後もし補足するなら、導入にかかったコスト感や工数・おすすめのTipsなどが箇条書きであると、より実践的な参考資料になると思います。 **総評** AIと人力のハイブリッド運用、リスクヘッジ、現場目線の解説がバランス良くまとまった良記事です!ご自身の実践が反映されており、読者の視点での“気づき”も豊か。 今後も、各所の微調整や追加Tipsがあるたびに追記されるとコミュニティでのナレッジ蓄積や情報共有にも一層役立つと思います。 「AI自動化を現場にどう根付かせるか」悩みがちな方にはとても参考となる、温かみと実践力を両立した記事でした! 2. カテゴリレビュー 1. 適切なカテゴリ一覧 * AI(ai) * LLM(llm) * Python(python) * d-higuchi(higuchi)(著者であればOK) 2. 不足しているカテゴリ * ChatGPT&AI(chatgpt-ai)(LangChainやLLM、AI活用の記事のため該当) * フロントエンド開発(WordPress REST APIやSlack bot連携部分も記事内に記載があるため、関連付けてもよい) * BlogChallenge(blogchallenge)(もし本取り組みが社内キャンペーンなら該当) 3. 不要なカテゴリ * 特になし(現在設定されているカテゴリはいずれも本文にきちんと関係があります) 4. 判定理由 本記事はAI・LLMの活用/運用自動化(Slack bot、LangChain/WordPress連携)をテーマとし、詳細な技術・プロンプト解説が含まれるため、「AI」「LLM」「Python」は適切です。記事内で具体的にChatGPT・LangChainといった製品名・技術が触れられているため「ChatGPT&AI」も加えるのがより親切です。また、WordPressやSlack botとのAPI連携部分に開発側観点があり、「フロントエンド開発」カテゴリも幅広い読者向けに追加しても良いでしょう。 著者名カテゴリ(d-higuchi)は、クリエーションラインブログの運用に沿った設定の場合、そのままでOKです。 3. 設定面チェック * アイキャッチ画像:設定あり * Author設定:設定あり * すべてのリンクに target="_blank":設定OK(外部リンクは新ウィンドウで開く設定になっています) 以上が記事「生成AIチャットボットにブログのレビューと公開予約をさせてみた」のレビューとなります。 【参考】 * 内容・構成・フィードバックいずれも高いレベルでバランスしています。 * カテゴリについては、現状に加え「ChatGPT&AI」等を追加するとより発見性が高まります。 * 運用Tipsやコスト関連の補足が追加されると、今後さらに有用な記事となるでしょう。 素晴らしい記事執筆、お疲れ様でした!