Oracle AI Jam Session というセミナーに参加してきました。
はじめに
今回、日本オラクルが開催している、AIや機械学習関連のオープンな技術情報を初学者の方対象に紹介するセミナーに参加をしてきました。こういったセミナーに参加するのは初めてだったため、専門知識を深めたいというよりは、まずは全体の雰囲気を感じたい、自分にとって学びの場になるか確かめたいと思い、受講を申し込みました。当日の参加者は約50名ほどでした。
・セミナー名:Oracle AI Jam Session
・形式:オンライン
今回のテーマ
「これからの生成AI~ゼロからはじめるAIエージェント~」というタイトルで、生成AIの基礎からAIエージェント開発の初歩までを、AI/機械学習担当エンジニアの方の解説のもと、前半で取り扱うツールの説明やデモを交えて理解を深め、後半で参加者からの質疑応答という流れで進んでいきました。最近、業務の効率化やDX推進の文脈で「AIエージェント」関連のニュースを目にすることがありますが、実際に触ったことはないため楽しみでした。
内容ですが、今回は生成AIがテーマということで、ノーコード/ローコードのエージェントフレームワークとして世界的に人気のある「n8n」と、シンプルなエージェントフレームワークとして注目を集める 「smol agents」の2つについての紹介を受けました。本記事は「ノーコード・エージェント」のn8nについてまとめています。
n8nの概要
まずn8nの説明になります。
n8nはワークフロー自動化に活用できるプラットフォーム(プログラミングをせずにワークフローを構築できる)であり、近年はAIフレームワークのブームもあり、AIワークフロー用のツールとしても認識されています。読み方は(エヌ・エイト・エヌ)みたいです。ビジュアルに直感的にワークフローを構築できるのが特徴で、マウスの操作とキーボードでパラメータを入れ、各ノードを線でつなぐだけで、複雑なデータフローや条件分岐を視覚的に設計することができます。また、GoogleやMicrosoft、Slack、GitHubなど、ビジネスに使用される主要なサービスとの連携も可能とのことです。
オープンソースですが、厳密にはフェアコードライセンスで、個人や社内での事務作業等に利用は無料で可能ですが、商用で配布する場合はライセンス費用が発生するとのことです。
n8nのデモ
n8nでOCI Generative AIを活用するための手順を簡単に紹介していただきました。(OCI(Oracle Cloud Infrastructure)Generative AI サービスとは、Oracle が提供するマネージド生成 AI サービス。OracleのセミナーなのでOracleの製品を使っていますが、GoogleやOpen AIでも同じように使うことができます。)
デモ内容:定期的に天気予報情報を取得し、明日の天気が良ければSlackチャンネルにディズニーランドへのお誘いメッセージを送信し、天気が悪ければ社内ハンズオンの案内を送信する、AIチームリーダーの作成をしていただきました。
大まかな流れ↓
- 1日1回起動するスケジュールトリガーを接続する。
- ユーザーに情報を返すチャットモデル(AI Agents(OCI))を接続する。
- AIエージェントがユーザーに伝えるメッセージを定義する。(天気が良ければお誘いメッセージを、天気が悪ければハンズオンメッセージを送るプロンプトを定義)
- 天気予報のツールを取得し、HTTPリクエストツールに登録
- Slackを接続しメッセージを投稿するチャンネルを指定する
初回の複雑な設定等は省かれているかと思いますが、本当に簡単なマウス操作とパラメータの設定だけで10分程度で完成し、使いやすさに感動しました。(テストもボタン一つでしやすそうでした。)

複雑な処理や独自の要件には限界がありますが、多くの外部サービスの連携の他に、条件分岐やノードも豊富で、プログラミングなしでここまでできる自由度に驚きました。また非エンジニアでも利用可能な導入のしやすさと、短時間で自動化を試せるスピード感についてもかなり有用さを感じました。
実際に触ってみました(煩雑な部分は割愛しています)
セミナー後に自分でも実際にn8nを入れてみて、触ってみました。
n8nのインストールは以下コマンドで簡単にインストール出来ます。(Node.jsが入っていること前提)
npm install -g n8n
起動はn8nコマンドを実行
n8n start
自分では、東京ディズニーランドの天気予報を答えられるチャットボットを作成してみようと思います。(実際のデモでやられていたワークフローを作成したかったのですが、Slackの連携はAPI取得部分が面倒そうで断念しました。)
ワークフローの作成手順として、まずトリガーを設定し、次にアクションを設定します。

①シンプルなチャットボットを配置してみる
+ボタンを押下し、こちらの応答に返事をしてくれるチャットボットを検索し、接続します。

このままですと返事はしてくれません。
②AIをつないでみる
Open AI Chat botに接続し、メッセージが届いた際にAIが応答できるようにします。
(当日のデモと同じようにOCI AIモデル「OCI Generative AI Chat Model」を使おうと思いましたが、OCIのサインアップが何度試してもできなかったためOpen AIにしました)

この時点でAIエージェントに「東京ディズニーランドの天気を教えて」と入力し、送信ボタンを押すと、「申し訳ありませんが、リアルタイムの天気情報は提供できません。最新の東京ディズニーランドの天気予報は、天気予報サイトやスマートフォンの天気アプリでご確認ください…」のような応答や、実際の天気とは異なる天気情報(噓の情報)が返ってきます。

ユーザーの問いかけには応答できるようになりましたが、LLM(Large Language Model)はLLMが作られたときに学習した情報を文章に生成するもので、実際の天気情報を知っているわけではないため、ハルシネーション(実際とは異なる情報の生成)が起こることがあります。
③天気情報を取得できるようにする
これを東京ディズニーランドの天気予報を答えられるチャットボットに育てるため、次に天気情報を取得できるAPIをAIエージェントに接続します。
天気予報情報を取得できる API として無償で利用できる open-meteo の Free Weather API を使います。
WebAPIのためAIエージェントにはHTTP Requestを接続し、天気情報URLをセットします。

再度「東京ディズニーランドの天気を教えて」と入力し送信ボタンをクリックすると、天気予報を答えてくれるようになりました。(実際の天気予報と合っており、正しい情報を返してくれました。)

まとめ
直感的に操作できるので試しに動かしてみるだけでも楽しかったです。
今回セミナーに参加し、AIエージェントの触りの部分でしたが普段の業務では得られない技術や、業界動向を聞くことができ、参加してよかったと思います。単純な自動化ツールとしての作業支援にとどまらず、自律的な分析や判断を行うアシスタントとして、これからの業務の在り方を変えていく技術だと感じました。
同じテーマで、「コードベース」のAIエージェントについての講義も参加したため、そちらについても記事を作成できればと思います。
