Flow Studio
경로: 하단 툴바 Flow Studio
복잡한 다단계 워크플로를 시각적으로 설계·실행합니다. LLM 호출·Tool 호출·조건 분기·반복 등을 노드 그래프 로 엮어 재사용 가능한 Flow 로 저장하고, Scheduler 에 연결해 정기 실행까지 자동화합니다.
탭 구성
| 탭 | 용도 |
|---|
| Studio | Flow 편집기 — 노드 추가·연결·변수 설정·테스트 실행 |
| History | 실행 이력 조회 — 상태별 필터 (All / Running / Paused / Completed / Failed) |
Studio 탭
좌측 — Flows 라이브러리
저장된 Flow 목록.
| 요소 | 설명 |
|---|
| + 버튼 | 신규 Flow 생성 |
| Flow 카드 | 이름·최근 수정일 |
| 빈 상태 | No flows yet. Click + to create one. |
중앙 — 캔버스
선택한 Flow 의 노드 그래프 편집. 빈 상태에서는 Select a flow or create a new one to get started. 안내.
우측 상단 헤더
| 버튼 | 기능 |
|---|
| Variables | Flow 전역 변수 정의·편집 (입력·중간 계산·결과) |
| Generate | LLM 으로 자연어 설명을 받아 Flow 자동 생성 |
| Save | 현재 편집 중인 Flow 저장 |
노드 유형
| 노드 | 용도 |
|---|
| LLM 호출 | 프롬프트 + 모델 지정 → 텍스트/JSON 반환 |
| Tool 호출 | 등록된 MCP 도구 호출 (GitHub·Slack·PostgreSQL 등) |
| Sub-agent | 다른 에이전트에 태스크 위임 |
| Conditional | if / else 분기 — 이전 노드 출력값 기준 |
| Loop | 배열·범위 반복 |
| Template | DOCX/PPTX 템플릿에 변수 주입 |
| HTTP | 외부 REST API 호출 |
변수 (Variables)
| 종류 | 설명 |
|---|
| 입력 변수 | Flow 시작 시 외부에서 전달되는 값 |
| 노드 출력 | 각 노드의 결과. {{nodeId.field}} 형태로 다음 노드에서 참조 |
| 전역 변수 | Flow 전체에서 공유하는 상수 (API 토큰 등) |
History 탭
Studio 탭 옆의 History 는 과거 실행 이력입니다.
상단 필터
| 필터 | 의미 |
|---|
| All | 모든 실행 |
| Running | 실행 중 |
| Paused | 일시 정지 |
| Completed | 정상 완료 |
| Failed | 실패 |
목록 동작
- 목록이 비어 있으면
No executions found / Select an execution to view details 표시
- 개별 실행 클릭 → 각 노드의 입출력·소요 시간·에러 확인
실행 엔진
app/agents/flow_executor.py — DAG 기반 Flow 실행기.
- 노드 상태: Pending → Running → Success / Failed
- 입출력 캐시: 각 노드 결과를 세션 컨텍스트에 축적
- 에러 처리: 노드별
retry / fallback 설정 가능
- 병렬 실행: 의존성 없는 노드는 동시 실행
Flow vs Team Control vs Scheduler
| 기능 | 특징 | 언제 쓰나 |
|---|
| Flow Studio | 결정적(순서·조건 명시) DAG | 절차가 명확한 자동화 |
| Team Control | 자율(Supervisor + Worker) 오케스트레이션 | 목표만 주고 방법은 맡김 |
| Scheduler | 트리거·반복 실행 | Flow 또는 Team 을 정기 실행 |
사용 시나리오
| 시나리오 | 구성 |
|---|
| 문서 업로드 → 분석 → 요약 → Slack 보고 | HTTP(업로드 감지) → LLM(요약) → Slack(전송) |
| 고객 문의 분류 → 라우팅 → 응답 | LLM(분류) → Conditional → 각 큐별 Tool |
| 야간 배치 데이터 검증 + 리포트 | PostgreSQL(쿼리) → LLM(요약) → DOCX Template → Slack |
| Jira 이슈 → PR → 릴리스 노트 | Jira(이슈 조회) → GitHub(PR 생성) → LLM(노트 작성) |
| 월간 임원 요약 | PostgreSQL × N(쿼리) → LLM(통합) → PPTX Template |
Generate 기능 — 자연어로 "매일 아침 GitHub PR 요약을 Slack 에 보내는 Flow" 입력 시 LLM 이 초기 Flow 를 생성해 줍니다. 이후 수동으로 세부 조정.
운영 주의
- Flow 는 재사용 자산 — 중요한 Flow 는 버전을 남기고 변경 시 Save 로 새 버전 생성 권장.
- 민감 값(토큰·비밀번호) 은 Flow 노드 인자에 직접 넣지 말고, 환경변수 또는 Variables 로 분리.
- 무한 Loop 위험 — Loop 노드에 종료 조건·최대 반복 수를 반드시 지정.
- 외부 API 호출 실패 처리 — 네트워크 일시 장애를 감안해
retry 3 회 + fallback 설정.
- 비용 폭증 — LLM 노드가 많거나 Loop 내부에 있으면 실행당 비용이 크게 증가. 한도·요금: Billing
관련 문서