itwanger/PaiAgent
🔥轻量级的AI工作流编排系统,类似dify、n8n,全程使用Vibe Coding,AI工具为Qoder+CLI。涉及到的技术栈包括SpringAI、LangGraph4J、SSE、MinIO、DAG自定引擎等。
PaiAgent – 企業向けの視覚的AIワークフロー制御プラットフォーム
何であるか
PaiAgentは自己ホスト型のフルスタックプラットフォームであり、コードを書かずにAI駆動のパイプラインを構築・スケジュール・実行できます。フロントエンドのドラッグアンドドロップエディタ(ReactFlow)により、ビジネスユーザーおよび開発者が大規模言語モデル(OpenAI、DeepSeek、Alibaba Qwen、ZhiPuなど)および補助ツール(TTS、データI/O、カスタムプラグイン)を呼び出すノードを組み立てられます。実行時、プラットフォームは古典的なDAGエンジン(トポロジカルソート+サイクル検出)またはLangGraph4jステートグラフエンジンを使用してグラフを実行し、より洗練された条件分岐ルーティングを実現します。
コア機能
| 機能 | 得られるもの |
|---|---|
| ゼロコードワークフロー設計 | ショートカットキャンバス、ノードパレット、パラメータパネル – Java/TS不要でパイプラインを構成可能 |
| 二重実行エンジン | DAG:シンプルな線形/分岐フロー用;LangGraph4j:ステートグラフ、条件分岐、動的ルーティング用 – ワークフローごとに選択可能 |
| 統合LLMアクセス | Spring AI + Spring AI Alibabaアダプタにより、OpenAI互換、DeepSeek、Qwen、ZhiPu、AIPingモデルが共通の ChatClient API を通じて利用可能 |
| スキルシステム | SKILL.md(YAMLフロントマター+Markdown)に宣言的に「スキル」を定義。スキルは自動登録され、遅延読み込み(要約→詳細→参照)され、LLMに関数コールバックとして公開され、モデルが自ら呼び出せるようになります |
| 拡張可能なノードモデル | NodeExecutor を実装する(または AbstractLLMNodeExecutor を継承)し、登録するだけで、プラットフォームがUIに自動的にノードを公開します |
| リアルタイムデバッグ | サーバーサイドイベントストリームにより実行ログがサイドドロワーにリアルタイムで送信され、各ノードの開始/成功/エラーを確認可能 |
| 永続化とモニタリング | MySQLがワークフロー定義と実行ログを保存;オプションでMinIOをファイルブロブ用に使用;UI上で実行履歴を確認可能 |
| 組み込みツールノード | 入出力、TTS(Qwen3 TTS、StepAudio)、任意のカスタムサービス用のプラグインフック |
一般的な利用例
| ドメイン | 例のワークフロー |
|---|---|
| コンテンツ作成 | 記事下書き生成 → 翻訳 → プルーフリーディング → 音声ナレーションの合成 |
| 顧客サポート | ユーザーの問い合わせを取得 → 適切なLLM(知識ベース)にルーティング → 応答生成 → タイケット記録 |
| データ処理 | テキストを取得 → LLMベースのエンティティ抽出 → データベースに結果を保存 |
| メディア制作 | スクリプト生成 → TTS → ビデオメタデータに音声を埋め込み |
| 自動化 | 定期的なレポート生成 → メール配信 → PDFアーカイブ |
アーキテクチャの概要
Frontend (React 18 + TypeScript)
└─ ReactFlowキャンバス、Ant Design UI、Zustandステート
Backend (Spring Boot 3.4, Java 21)
├─ Controllers → Services → MyBatis-Plus DAOs
├─ エンジン層
│ ├─ EngineSelector (dag ↔ langgraph)
│ ├─ DAGParser (Kahnトポロジカルソート、DFSサイクルチェック)
│ └─ LangGraphWorkflowEngine (StateGraph、非同期ノードアクション)
├─ スキルサブシステム (SkillRegistry、プログレッシブロード、FunctionCallback)
└─ AIモデル層 (Spring AI + Spring AI Alibaba、ChatClientFactory)
データ層
├─ MySQL (ワークフロー定義、実行ログ)
└─ MinIO (オプションのブロブストレージ)
技術スタック
| レイヤー | 技術 | バージョン |
|---|---|---|
| フロントエンド | React、TypeScript、Vite、ReactFlow、Ant Design、Tailwind、Zustand | 18.x / 5.x / latest |
| バックエンド | Spring Boot、Java 21、MyBatis-Plus、FastJSON2、Maven | 3.4.1 / 21+ |
| AI統合 | Spring AI (1.0.0-M5)、Spring AI Alibaba (1.0.0-M6.1) | – |
| ワークフローエンジン | カスタムDAGエンジン、LangGraph4j Core (1.1.5) + Spring AIブリッジ (1.8.0-beta3) | – |
| ストレージ | MySQL 8+、オプションのMinIO | – |
クイックスタート
- クローン
git clone https://github.com/itwanger/PaiAgent-one.git cd PaiAgent-one - MySQLデータベースを作成し、
backend/src/main/resources配下のschema.sqlを実行。 - 環境設定 –
backend/とfrontend/にある.env.exampleを.env/.env.localにコピーし、DB資格情報、JWTシークレット、MinIOキーなどを入力。 - バックエンドを実行
cd backend ./mvnw spring-boot:run # http://localhost:8084 で起動 - フロントエンドを実行
cd frontend npm install npm run dev # http://localhost:5173 が開く - デフォルトの開発アカウント(
admin / admin123)でログインするか、環境変数で独自のアカウントを設定。 - ワークフローを作成 – Input ノード、OpenAI ノード、TTS ノード、Output ノードをドラッグして接続し、モデルのAPIキーを設定して Debug をクリックすると、リアルタイムのSSEログが表示されます。
ロードマップのハイライト
- v1.1 – 条件分岐IF/ELSEノード、ループ(FOR/WHILE)ノード、より多くのLLMプロバイダー(Claude、Gemini、ローカルモデル)、追加の組み込みスキル。
- v1.5 – サブワークフロー呼び出し、cronベースのスケジューリング、バージョン付きワークフロー、テンプレートマーケットプレイス、画像/動画処理ノード。
- v2.0 – マルチテナントRBAC、共同編集、パフォーマンス監視&アラート、i18n、サードパーティプラグインマーケットプレイス。
誰が恩恵を受けるか?
- プロダクトチーム:深く機械学習コードを書かずにAI強化機能を構築したい人。
- 企業:LLM駆動の自動化に制御可能で監査可能なパイプラインが必要な人。
- 開発者:複雑なLLMオーケストレーション(例:RAG、ツールコール、マルチモデルルーティング)をプロトタイピングするための即時利用エンジンを求める人。
上記のすべての情報はリポジトリのREADMEから直接取得しており、外部の仮定は一切追加されていません。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト