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 아카이브

아키텍처 개요

프론트엔드 (React 18 + TypeScript)
  └─ ReactFlow 캔버스, Ant Design UI, Zustand 상태

백엔드 (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

시작하기 (빠른 시작)

  1. 클론
    git clone https://github.com/itwanger/PaiAgent-one.git
    cd PaiAgent-one
    
  2. MySQL 데이터베이스 생성backend/src/main/resourcesschema.sql 실행.
  3. 환경 설정backend/frontend/.env.example.env / .env.local로 복사하고 DB 자격 증명, JWT 시크릿, MinIO 키 등을 입력.
  4. 백엔드 실행
    cd backend
    ./mvnw spring-boot:run   # http://localhost:8084에서 실행
    
  5. 프론트엔드 실행
    cd frontend
    npm install
    npm run dev               # http://localhost:5173 열림
    
  6. 기본 개발 계정(admin / admin123)으로 로그인하거나 환경 변수로 자체 계정 설정.
  7. 워크플로우 생성Input 노드, OpenAI 노드, TTS 노드, Output 노드를 드래그하여 연결하고, 모델 API 키를 설정한 후 Debug를 클릭하여 실시간 SSE 로그 확인.

로드맵 주요 사항

  • v1.1 – 조건부 IF/ELSE 노드, 반복(FOR/WHILE) 노드, 더 많은 LLM 제공자(Claude, Gemini, 로컬 모델), 추가 내장 스킬.
  • v1.5 – 하위 워크플로우 호출, cron 기반 스케줄링, 버전화된 워크플로우, 템플릿 마켓플레이스, 이미지/비디오 처리 노드.
  • v2.0 – 다중 테넌트 RBAC, 공동 편집, 성능 모니터링 및 알림, i18n, 제3자 플러그인 마켓플레이스.

누가 이득을 볼 수 있나요?

  • 제품 팀 – 깊은 ML 코드 없이 AI 강화 기능을 구축하고 싶은 사람.
  • 기업 – LLM 기반 자동화에 제어 가능하고 감사 가능한 파이프라인을 필요로 하는 사람.
  • 개발자 – 복잡한 LLM 오케스트레이션(RAG, 툴 호출, 다중 모델 라우팅 등)을 프로토타이핑하기 위한 즉시 사용 가능한 엔진을 원하는 사람.

위 정보는 리포지토리의 README에서 직접 가져왔으며, 외부 가정은 전혀 추가되지 않았습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트