ここまで2回にわたってLLMを動かしてきました。
次はLLMを活用したAIエージェントを作成してみたいです。
でもLangChainとかLangGraphとか難しいことはわかりません。
いずれ学びたいとは思いますが、そういう難しいことは一旦、飛ばして、AIエージェントで出来ることを手っ取り早く体験したいです(軟弱者)。
そんなときにピッタリなのがFlowiseです。
Flowise
専門的なことを言うとLangGraphのWebUIラッパーだそうです。
素人目線で言うと、ノーコードでAIエージェントを作成でき、かつ商用でも利用できるオープンソースのツールです。
今回はFlowiseの導入方法を簡単に紹介したいと思います。
導入
1. Node.jsが入っていることを確認する
node -v
もし入ってなければインストールしてください。
私はMacなのでHomebrewから直接インストールしてます。
brew install node
2. Flowiseをインストール
本来は次のコマンド一発で完了です。
npm install -g flowise
しかし本記事執筆時点ではなぜか上記のコマンドでインストールすると失敗します。 色々と調査した結果、以下の方法で動きました。 もし上記の方法で失敗したらこちらを試してください。 このバージョンだと最新のAgentflow V2機能が使えませんがちょっと試すくらいないなら問題ありません。
npm install -g langchainhub npm install -g flowise@2.2.7
3. Flowiseを開始
npx flowise start
4. FlowiseのGUIに接続
ブラウザを開いてhttp://localhost:3000/に接続します。
5. AIアプリを作成する
具体的な作成方法はこの記事に収まらないので、YouTubeやUdemyを参考にアプリを作成してください
基本的な作り方としてはメイン画面から「Agentflows」という画面へ遷移し、チャット用LLM、「Supervisor」という司令塔、そして「Worker」という実行役、利用するToolやMCPを選択して画面に配置します。
その後、LLMをSupervisorの入力側(左側)に接続し、各WorkerをSupervisorの出力側(右側)に接続します。
各Workerは、そのWorkerが利用するToolやMCPに接続し、Worker Prompt欄に各Workerの役割を記載します。
チャットからSupervisorに入力があると、Supervisorがいい感じに各Workerに仕事を割り振り、各Workerは必要に応じてTool/MCPを利用しながら処理を進め、結果がチャットに返されるという仕組みです。
最初からうまくいかないことが多いです。 Supervisorが呼びたいWorkerを呼んでくれない、Workerが意図した内容とは違う結果を返す、Toolが呼ばれない。 その都度、Supervisorや各Workerのプロンプトを修正してTry&Errorを繰り返します。
「Prompt Engineering Team」という、作りたいAIアプリを伝えると、各Workerのプロンプトを提案してくれるという便利な機能があるので、それをベースに作成することが多いです。
お金がかかる
Flowise自体は無料で利用できます。 しかしFlowiseを試すにあたってはOpenAIに課金せざるを得ませんでした。
FlowiseでAIアプリを作成する場合、最も相性がいいLLMはOpenAIだと思います。
私が見つけた、Flowiseに関するYouTubeやUdemyの動画はOpenAIをベースに進んでいきます。
しかしOpenAIのAPIにアクセスするにはhttps://platform.openai.com/で課金する必要があります。
ちょっと試すくらいの目的なので課金は避けたいと思っていました。
そこでllamaなどの無料で利用できるLLMを検討しましたが、Udemyの講座で紹介されているプロンプトをllamaで試したら驚くほど思い通りに動きません。 これはこれでいい経験でしたが、このままでは講座のハンズオンを進めることができません。
最終的には割り切ってOpenAIに$10課金しました。 $10あれば結構、使えます。 しばらく実験するには困りません。
MCP対応がいまいち
執筆時点では選択できるMCPの数が少ないです。
MCP界隈の昨今の盛り上がりを考えると、近い将来、大きく変わる可能性はあります。 最新のAgentflow V2ではMCPが利用しやすくなっているようです。
細かい設定ができない
自社のLLMを利用する場合、固有の接続要件があることも珍しくないと思います。
私の会社の場合、BODYにある値を含めないといけません。
色々と試したのですがFlowiseだとこれができず、結局、Flowiseを自社AI基盤で利用することは諦めました。 (LangChainだとできるが、FlowiseだとそのAPIが隠蔽されている)
手軽に利用できる反面、小回りがきかないのはこういうノーコード・ローコードツールの宿命なので仕方ないですね。
(後日談:Flask + requestsで適当なAPIプロキシを書いてBODYに値を含めることができました)
感想
LangChain、LangGraph、RAG、Prompt Engineeringなどについて全く知識がない状況でも短時間で色々なAIアプリを作成し、動かすことができました。 LLMを利用したAIアプリがどういうものなのか大雑把な雰囲気を掴むことができました。 素直にありがたかったです。
自社AI基盤で使えなかったのは残念です。 デモやPOCは勿論、ちょっとした業務改善にも使えたかもしれません。
同じようなツールとして、他にLangFlowやcrewAIもあります。 私が使った感じではどれも方向性が異なるので優劣はつけられませんが、Flowiseが一番初心者向けかなと感じました。 LLMでなにができるのか?どう実現するのか?短時間で雰囲気を掴みたい方にはお勧めです。