はじめに
- 最近、GeminiやChatGPTを使ったアプリ開発が盛り上がる中で、「気軽に使えるマルチエージェントチャットアプリを作ってみたい」という思いから、問い合わせに対して複数のAIエージェントが動作しながら回答を生成する、マルチエージェント形式のアプリを作成してみました。
- 個別用途に特化したツールではなく、一つのUIで複数のトピックに柔軟に対応できるような構成にすることで、利用者がシーンに応じて自由に対話できるようにするのが狙いです。
技術スタック
- フロントエンド: Streamlit
- バックエンド: python
- モデル: Gemini 2.0 Flash Lite Preview(2024-02-05版)
UI部分はStreamlitでシンプルに実装し、LangGraphを使って複数のエージェントの処理フローを柔軟に設計しています。
採用したモデルは gemini-2.0-flash-lite-preview-02-05 で、
コストパフォーマンスに優れており、「ガシガシ仕事を振って処理を回す」 ような構成に向いています。
モデル名 | 特徴概要 | サイズ感 | 速度 | 精度 | 主な用途 |
---|---|---|---|---|---|
gemini-2.0-flash-lite-preview-02-05(今回採用) | 軽量・高速実行特化のLite版プレビュー | 非公開(超軽量) | 非常に高速 | 中〜やや低 | モバイル・組込向け |
Gemini 1.5 Flash | 高速推論・効率特化 | 中規模 | 非常に高速 | 中〜高 | チャットボット、軽量推論 |
Gemini 1.5 Pro | 高性能汎用モデル。高い推論精度 | 大規模 | 中程度 | 非常に高 | 研究、業務、自動化、開発全般 |
Gemini 1.0 Pro | 初期の汎用大規模モデル | 大規模 | 中程度 | 高 | 全般 |
Gemini Nano 1 | モバイル端末向けの極小モデル | 非常に小さい | 超高速 | 低〜中 | Pixel端末でのオンデバイス処理 |
実装ポイント
本アプリでは、以下のような構成でチャット体験を構築しています。
- プロンプトに応じて創出した観点に応じてAIエージェントが自律的に回答を生成
- 最後に統括エージェントが各エージェントの出力を統合・再構成
-
単一UI上で質問→回答が完結するシンプルな体験設計
-
履歴・テンプレートの保存などはあえて省略し、ミニマルな操作性を重視
エージェントの分担と統合により、1つのLLM応答よりも多角的かつ深みのある出力が得られるかを試すことが主な目的でした。
おわりに
今回は、LangGraphとGeminiを使って「汎用的だけど使える」マルチエージェントチャットアプリを試作してみました。
個人用途からチーム内ナレッジ活用まで、幅広く応用できる仕組みに育てていければと思っています。
コードは以下に公開しています。もし興味があればぜひ覗いてみてください。