Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】Teaching AI to Blog: My Journey into Agentic AI Development — Part 2

2025年09月14日に「Dev.to」が公開したITニュース「Teaching AI to Blog: My Journey into Agentic AI Development — Part 2」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

LangGraphで構築したAIエージェントがブログ記事を自動生成する仕組みを解説。Streamlitで作成したGUIを使い、記事の編集スタイルを選んでテキストと画像を生成するデモを行う。AIによる情報収集や画像生成の動作検証、および今後の改善点も示す。

ITニュース解説

この記事では、AIを用いてブログ記事を自動生成するシステムについて、その仕組みと実際の動作を詳しく解説する。システムエンジニアを目指す初心者の皆さんにも、具体的なAI開発のプロセスと可能性を理解してもらうことを目的とする。

このシステムは、複数のAIエージェントとツールを連携させることで、あたかも人がブログ記事を書くかのように、情報収集から執筆、そして最終的な編集、さらには画像生成までを行う。その連携には「LangGraph」という技術が用いられている。LangGraphは、複雑なAIの処理の流れをグラフのように設計し、各工程を自動的に進めるための枠組みを提供する。まるで工場の製造ラインのように、情報収集担当のエージェント、執筆担当のエージェント、編集担当のエージェントが順番に連携し、一つの製品(ブログ記事)を完成させるイメージだ。

システム開発者は、このような裏側の処理が正しく行われているかを確認し、設定を調整できるように、「Streamlit」というツールを使って使いやすい操作画面(GUI)を作成した。StreamlitはPythonでデータアプリケーションを簡単に作れるため、バックエンド開発者がフロントエンドの複雑な技術に詳しくなくても、手軽にGUIを構築できる点で非常に便利である。このGUIは、左側に様々な設定項目、中央に記事生成ボタン、右側に生成されたブログ記事が表示される構成になっている。

設定項目では、システムのデバッグ情報や実行ログの出力を有効にするスイッチ、外部のAI(ここではAzure OpenAIを利用)に接続する際のリトライ回数やタイムアウト値を設定する欄がある。さらに、ブログ記事に画像を自動生成して含めるかどうかを選ぶオプションもあり、これを有効にすると、高精度な画像生成AIである「DALL-E 3」が利用される。

このシステムの最も重要な機能の一つは、「Editor Style」というドロップダウンメニューだ。ここでは、最終的なブログ記事の編集方針を決定するプロンプトファイルを選択できる。プロンプトとは、AIに対する指示文のことだが、このシステムでは「General(一般)」「Critical(批評的)」「Emotional(感情的)」「Hilarious(面白おかしい)」といった複数の編集スタイルが用意されており、それぞれ異なる視点やトーンで記事を推敲するようAIに指示する。例えば「Emotional」スタイルを選べば、記事は感動的な物語のような語り口に変化する。

また、システムが正しく設定されているかを確認するための便利な機能として、「Show Workflow Graph」ボタンがある。これをクリックすると、内部でLangGraphによって構築されたAIエージェント間の連携の流れが、視覚的なフロー図として表示される。これにより、開発者はAIの処理経路が一目で確認でき、設計ミスがないかを容易に検証できる。

実際にこのシステムを使って、ブログ記事を生成するデモンストレーションが行われた。テーマは「35mm単焦点レンズでのストリートフォトグラフィー」。まず「General」スタイルを選択し、「Generate Blogpost」ボタンをクリックした。

記事生成の過程では、システムログが詳細な情報を出力する。このログから、最初に「リサーチエージェント」が「Tavily Web検索ツール」を使ってインターネット上の情報を収集したこと、次に「DALL-E 3」が画像生成ツールとして起動し、ブログ記事に挿入される画像を生成したことが確認された。このように、ログはAIがどのツールをいつ、どのように利用したかを示す、システムの内部動作を把握するための重要な手がかりとなる。

各エージェントの出力を見ていくと、まずリサーチエージェントからは、指定されたテーマに関する詳細な情報と、その情報源となるWebサイトのリンクが多数提供された。これは、ブログ記事の土台となる豊富な知識をAIが効率的に収集できたことを示している。次に「ライトエージェント」が、このリサーチ結果をもとにブログ記事のドラフト(下書き)を作成した。このドラフトは基本的な内容で、まだ洗練されていない状態だった。

そして、このドラフトが「エディターエージェント」に渡され、「General」スタイルで編集された。最終的に出力された記事を見ると、ドラフトからの大きな変化はあまり見られなかった。これは、Generalスタイル用のプロンプトが、記事のトーンを大きく変えるのではなく、文法的な修正や表現の微調整に留める指示をしているためだ。同時に生成された画像も、「プロフェッショナルなデジタルイラストレーション」という指定に基づいて、一般的で無難な印象のものが生成された。

次に、編集スタイルを「Emotional」に変更して、同じテーマで記事を再生成してみた。すると、驚くべき変化が見られた。記事のトーンは一変し、まるで心温まる物語を読んでいるかのような、感情的で共感を呼ぶ内容になった。テーマはストリートフォトグラフィーのままだが、読者の心に訴えかけるような語り口で、写真への情熱や人とのつながりといった感情が豊かに表現されていた。Emotionalスタイル用のプロンプトには、記事を「短編小説や物語のように変える」「感情的な深みを持たせる」「心に触れるような言葉遣いをする」といった具体的な指示が含まれており、AIはこの指示に忠実に従ったことがわかる。画像も、Emotionalスタイルに合わせて「絵本アートスタイル」や「暖色系のイラスト」が生成され、記事の感情的なトーンと一致していた。

さらに、「Hilarious」スタイルも試された。このスタイルで生成された記事は、ユーモラスな言葉遣いや軽いトーンで書かれ、読者をクスッとさせるような内容に変化した。生成された画像も、「3Dアニメーション風カートゥーン」という指示通り、陽気でコミカルなキャラクターが描かれており、記事の面白い雰囲気に合致していた。これらの結果から、適切なプロンプトを与えることで、AIが記事の表現やトーン、そして関連する画像のスタイルまで、多様な要求に応じて柔軟に変化させられることが実証された。

この開発者は、一連のプロジェクトを通して多くの学びがあったと述べている。そして、このシステムにはまだ改善の余地があることも認識している。主な改善点として、二つの点が挙げられている。一つは、現在、エディターエージェントが「記事の編集」と「画像生成」の両方を一つのプロンプトで処理しているため、AIが生成された画像URLを記事内に正しく埋め込めない場合があることだ。これを解決するには、記事の整形と画像生成の指示を別々のプロンプトに分離し、処理をシンプルにすることが考えられる。

もう一つは、画像生成の際に、より記事全体の文脈情報をAIに与えるべきだという点だ。現状では、画像生成プロンプトは編集スタイルとブログ記事のテーマのみに基づいている。このため、例えばEmotionalスタイルで記事が物語調に変化した場合、生成される画像がその物語の内容と完全に一致しないことがある。記事の具体的な内容や文脈を画像生成の指示に含めることで、より記事と調和した画像を生成できるようになるだろう。

この開発者は、次なる挑戦として、AI自身にブログ記事のトピックを探させ、提案させる機能の実装を計画している。このように、AI開発は一度完成したら終わりではなく、常に試行錯誤を繰り返し、新たな可能性を追求していく継続的なプロセスであることがわかる。このプロジェクトは、AIを「ブログを書く」という具体的なタスクに応用する実践的なアプローチを示しており、システムエンジニアを目指す皆さんにとって、AIの仕組みや開発の進め方を理解する上で貴重な事例となるだろう。

関連コンテンツ

関連IT用語