こんにちは!合同会社ジセダイ代表の佐藤です。今回より、「AIを活用した開発」の具体的について、3回に分けてお送りします。

はじめに

「AIを活用した開発」という言葉は今や多くのエンジニアや企業が注目していますが、具体的にどのように実装すればよいのか悩んでいる方も多いのではないでしょうか。
特に既存のシステムとAIを連携させる方法や、自動化の仕組みをどう構築するかは、なかなか具体的なイメージが湧きにくいものです。

この記事シリーズでは、ローカル環境で実際に動作するAI活用アプリケーションを、一緒に構築していきます。今回紹介する手順に沿って進めれば、プログラミングの基礎知識があれば誰でも実装可能です。

今回の内容は、こちらの記事で紹介した「AIを活用した開発手法」のうち、「④ AI API活用型開発」に該当するものです。APIを活用することで、複雑な機械学習モデルの構築や運用を行わなくても、高度なAI機能を実装できる方法をご紹介します。

記事の構成

本シリーズは、全3回に分けて以下の内容をお届けします:

第1回(本記事):作りたいアプリの説明、n8n(Docker版)とChatGPT APIについての解説、Dockerの基本概念の説明

第2回:Docker Composeを使用したn8nの構築方法、ChatGPT APIの設定方法と連携手順

第3回:n8nでのワークフロー設定方法、RSSフィードの取得、ChatGPT APIによる処理、Slackへの通知設定

まずは手を動かして試してみることで、皆さん自身のAIアプリ開発の足がかりにしていただければ幸いです。

作りたいアプリの説明

今回構築するアプリケーションは、「AI関連ニュースの自動要約・配信システム」です。具体的には以下のような機能を持ちます:

  1. 定期実行機能:毎朝8時に自動的に起動します
  2. ニュース収集:WiredのRSSフィードから、AI関連のニュース記事を20件取得します
  3. AI分析処理:ChatGPT APIを使って、取得した20件のニュースから以下の処理を行います
    • 重要度とお気に入り度を分析し、上位3件のニュースを選出
    • 選出された各ニュースのタイトルと内容を要約・翻訳
    • 結果をJSON形式で整形
  4. 通知機能:処理結果をSlackチャンネルに自動投稿します

これにより、毎朝最も重要なAI関連ニュースを自動的にSlackで受け取ることができ、情報収集の効率化が図れます。

構成図

今回作成するアプリの構成図は、以下になります。

Docker n8n ワークフロー管理 スケジュール実行 API連携 データ加工 8:00 毎朝定時実行 Wired RSS ChatGPT API ニュース分析・要約 Slack 通知・配信 RSS取得 分析依頼 分析結果 結果通知 n8nとChatGPTアプリの構成図

作るアプリの構成

このアプリケーションは、以下の4つの主要コンポーネントで構成されています:

1. Docker

Docker(ドッカー)は、アプリケーションを「コンテナ」と呼ばれる軽量な実行環境にパッケージ化するプラットフォームです。今回の構成では、n8nをDockerコンテナとして実行することで、OSやハードウェアに依存せず、一貫した環境でアプリケーションを動作させることができます。

役割

  • n8nの実行環境を提供
  • アプリケーションの依存関係を管理
  • 開発環境と本番環境の一貫性を確保

2. n8n

n8n(エヌエイトエヌ)は、ノーコード/ローコードのワークフロー自動化プラットフォームです。ZapierやIFTTTに類似していますが、オープンソースであるため、自社サーバーにホスティングでき、より柔軟なカスタマイズが可能です。

n8nの大きな特徴は、様々なサービスやAPIを「ノード」として接続し、複雑な自動化フローをビジュアルに構築できる点です。例えば:

  • スケジュール実行:毎日、毎週、毎月など、特定の時間に自動的にワークフローを起動(今回は毎朝8時に実行)
  • トリガーベースの実行:Slackでメッセージを受信した時、Webhookが呼び出された時、メールが届いた時などに処理を開始
  • 多様なアクション:メール送信、Slack通知、データベース操作、ファイル保存、APIリクエストなど様々な処理を実行
  • データ処理:JSONデータの変換、マッピング、フィルタリングなどのデータ操作

一般的なユースケースとしては:

  • 営業リードがフォームに入力したら、Slackに通知しつつ、CRMに顧客情報を登録
  • 特定のTwitterハッシュタグのツイートを収集し、感情分析した結果をGoogleスプレッドシートに記録
  • 新しいブログ記事が公開されたら、Twitterと Facebook に自動投稿

n8nはフロントエンドとバックエンドを持つNode.jsアプリケーションですが、今回はDockerを使って簡単に環境構築します。

役割

  • 定期実行のスケジューリング(毎朝8時)
  • WiredのRSSフィードからのデータ取得
  • ChatGPT APIへのリクエスト送信とレスポンス処理
  • Slackへの通知送信
  • 全体のワークフロー管理

3. ChatGPT API

OpenAIが提供するAPIで、自然言語処理の機能をアプリケーションから利用できます。テキスト生成、要約、翻訳、感情分析など、多様な言語処理タスクに活用できます。

役割

  • ニュース記事の重要度・関連度の分析
  • タイトルと内容の翻訳・要約
  • JSONフォーマットでのレスポンス生成

4. Slack

チームコミュニケーションツールであるSlackは、APIを通じてメッセージを送信できます。

役割

  • 処理結果の通知先
  • 選出された3件のニュースを閲覧するインターフェース

処理フロー

  1. n8nが毎朝8時に自動起動(Dockerコンテナ内で動作)
  2. n8nがWiredのRSSフィードからAI関連ニュースを20件取得
  3. 取得したニュースデータをChatGPT APIに送信
  4. ChatGPT APIが重要度分析と要約・翻訳を実行
  5. n8nが返却されたJSON形式のデータを受け取る
  6. n8nがSlack APIを通じて処理結果を指定チャンネルに投稿

費用について

このアプリケーションを構築・運用する際の費用面について説明します:

ChatGPT API(有料だが非常に安価)

  • OpenAIのChatGPT APIは従量課金制で、使用したトークン数に応じて料金が発生します
  • 今回のようなニュース記事の要約・分析の場合、1日あたり非常に安価な費用で運用可能です
  • APIキーの取得には、OpenAIのアカウント登録とクレジットカードの登録が必要です

その他のコンポーネント(ローカル構築なら無料)

  • Docker:無料でダウンロード・使用可能
  • n8n:オープンソースで無料(セルフホスティング時)
  • Wired RSS:無料で利用可能
  • Slack API:無料プランの範囲内で十分利用可能

ローカル環境や自社サーバーで構築する場合、ChatGPT APIの費用以外は基本的にかかりません。クラウドサービスでホスティングする場合は、そのサーバー利用料が別途発生しますが、小規模な利用であれば最小構成で十分対応できます。

まとめ

今回は、n8nとChatGPT APIを活用した自動ニュース要約・配信システムの概要について説明しました。このシステムを構築することで、AIを活用した実用的なアプリケーションを、プログラミングをほとんど行わずに開発できることが分かります。

n8nというツールは、まだ日本ではそれほどメジャーではありませんが、非常に柔軟で強力なワークフロー自動化プラットフォームです。今回のような定期実行型の処理だけでなく、「Slackでメッセージを受信したら自動返信する」「問い合わせフォームに入力があったらメールを送信する」「特定のAPIが呼び出されたら別のシステムと連携する」など、様々な自動化シナリオに対応できます。

次回の記事では、Docker ComposeとおよびDockerを使用したn8nの構築方法と、ChatGPT APIの設定方法について具体的な手順をご紹介します。実際に手を動かしながら、AIアプリケーション開発の第一歩を踏み出しましょう。

以上です、お時間いただきありがとうございました!