Workflow Lifecycle: Process Mining → DAG → 자가개선
Closed-Loop 워크플로우 관리 - 프로세스 발견부터 자동 개선까지의 전체 라이프사이클
개요
ONESHIM의 워크플로우 관리는 4단계 Closed-Loop으로 동작합니다:
| 단계 | 역할 | 상세 문서 |
|---|---|---|
| 1. Process Mining | ERP/MES/CRM에서 실제 프로세스 발견 | process-mining.md |
| 2. DAG 생성 | 발견된 프로세스를 YAML DAG로 코드화 | 이 문서 |
| 3. DAG 실행 | Celery 기반 워크플로우 실행 | dag-execution.md |
| 4. 자가개선 | AI가 성능 분석 후 DAG 자동 수정 | 자가개선 워크플로우 |
전체 라이프사이클 상세
📄 DAG YAML 구조
기본 구조
# workflow.yaml - DAG 워크플로우 정의
apiVersion: oneshim/v1
kind: Workflow
metadata:
name: anomaly-detection-workflow
version: 1.2.0
created_from: process-mining # Process Mining에서 자동 생성됨
discovered_at: 2026-01-14T10:30:00Z
spec:
triggers:
- type: schedule
cron: "*/5 * * * *" # 5분마다
- type: event
source: sensor.anomaly_detected
steps:
# 병렬 데이터 수집
- id: collect_sensor_data
name: 센서 데이터 수집
type: task
handler: integration_hub.collect_sensor_data
timeout: 30s
parallel_group: data_collection
- id: collect_log_data
name: 로그 데이터 수집
type: task
handler: integration_hub.collect_log_data
timeout: 30s
parallel_group: data_collection
# 순차 분석
- id: merge_data
name: 데이터 병합
type: task
handler: workflow.merge_data
depends_on:
- collect_sensor_data
- collect_log_data
- id: ai_analysis
name: AI 이상 탐지
type: task
handler: ai_intelligence.detect_anomaly
depends_on:
- merge_data
config:
model: anomaly_detector_v3
threshold: 0.85
# 조건부 알림 (병렬)
- id: slack_alert
name: Slack 알림
type: task
handler: notification.send_slack
depends_on:
- ai_analysis
condition: "{{ ai_analysis.severity >= 'high' }}"
parallel_group: notification
- id: email_alert
name: 이메일 알림
type: task
handler: notification.send_email
depends_on:
- ai_analysis
condition: "{{ ai_analysis.severity >= 'critical' }}"
parallel_group: notification
# 자가개선 설정
self_improvement:
enabled: true
min_executions: 100 # 최소 100회 실행 후 분석
auto_apply: false # 승인 후 적용
metrics:
- execution_time
- success_rate
- resource_usage
DAG 시각화
자가개선: YAML 자동 수정
Step 추가 (Add)
AI가 병목을 발견하고 새 단계를 제안:
# 🔴 Before: 병목 발견 - merge_data가 느림
steps:
- id: merge_data
handler: workflow.merge_data
# 평균 5초 소요 (병목)
# 🟢 After: AI 제안 - 캐시 단계 추가
steps:
- id: check_cache # ✅ 새로 추가
name: 캐시 확인
type: task
handler: cache.check_recent_merge
depends_on:
- collect_sensor_data
- collect_log_data
- id: merge_data
handler: workflow.merge_data
depends_on:
- check_cache
condition: "{{ check_cache.hit == false }}" # 캐시 미스 시만 실행
Step 수정 (Modify)
# 🔴 Before: 타임아웃 부족
- id: ai_analysis
timeout: 10s # 자주 타임아웃 발생
# 🟢 After: AI 분석 결과 기반 조정
- id: ai_analysis
timeout: 30s # ✅ 타임아웃 증가
retry: # ✅ 재시도 추가
max_attempts: 3
backoff: exponential
config:
model: anomaly_detector_v4 # ✅ 경량 모델로 변경
Step 삭제 (Delete)
# 🔴 Before: 불필요한 단계 발견
steps:
- id: legacy_validation # AI 분석: 99% 항상 통과, 1.5초 낭비
name: 레거시 검증
handler: validation.legacy_check
# 🟢 After: AI 제안으로 삭제
# legacy_validation 단계 제거됨
# 효과: 실행 시간 1.5초 단축
시퀀스: Process Mining → DAG 생성
시퀀스: 자가개선 Closed Loop
Closed Loop 전체 흐름
효과 비교
| 항목 | 기존 방식 | ONESHIM Lifecycle | 개선율 |
|---|---|---|---|
| 프로세스 발견 | 컨설팅 6개월 | Process Mining 1주 | -96% |
| DAG 작성 | 수동 코딩 2주 | 자동 생성 1시간 | -99% |
| 워크플로우 개선 | 3-6개월/건 | 1시간/건 | -99% |
| 개선 반영 | 수동 배포 | Git PR 자동 | 자동화 |
| 연간 개선 횟수 | 2-4건 | 무제한 | ∞ |
관련 문서
상세 단계별 문서
- Process Mining 상세 - 1단계: 프로세스 발견
- DAG 실행 상세 - 3단계: 런타임 실행
- 자가개선 워크플로우 - 4단계: AI 최적화
관련 아키텍처
고유 기능
최종 업데이트: 2026-01-14