Agent Mentor Learn
에이전트 워크플로 설계: 일회성 대화에서 다단계 자동화로 · 6 / 6강

레슨 6: 실전 워크플로 사례

학습 목표:

  • 작업 분해, 상태 관리, 에러 처리를 결합해 완전한 워크플로 설계하기
  • 프로덕션 수준 시나리오 세 가지의 워크플로 패턴 이해하기
  • 워크플로의 관측 가능성과 디버깅 기법 익히기

전제: 레슨 5: 에러 처리와 재시도 전략

이론에서 실전으로

앞선 다섯 레슨에서 워크플로의 구성 요소를 다뤘습니다. 단계, 상태, 분해, 에러 처리. 이제 그것들을 합쳐, 실제 상황에서 가져온 프로덕션 수준의 워크플로 세 개를 만들어 봅니다.

이 레슨에서 다룰 세 워크플로:

  1. 코드 리팩터링 파이프라인: 레거시 코드를 현대적인 패턴으로 리팩터링합니다. 분석, 계획, 실행, 테스트, 검증을 다룹니다
  2. 문서 생성 파이프라인: 코드에서 API 문서를 자동 생성합니다. 추출, 예시 생성, 렌더링, 게시를 다룹니다
  3. 테스트 자동화 흐름: 엔드투엔드 테스트 워크플로입니다. 환경 준비, 병렬 테스트, 결과 집계, 리포트 생성을 다룹니다

각 워크플로에서 보여 줄 것:

  • 완전한 작업 분해
  • 상태 관리와 체크포인트 설계
  • 에러 처리와 복구 전략
  • 관측 가능성과 디버깅 지원1

시나리오 1: 코드 리팩터링 파이프라인

요구 사항

컴포넌트 50개짜리 레거시 프론트엔드 프로젝트를 클래스 컴포넌트에서 함수 컴포넌트 + Hooks로 리팩터링합니다.

어려운 점:

  • 컴포넌트가 서로 의존하므로 아무 순서로나 리팩터링할 수 없다
  • 리팩터링이 동작을 깨뜨릴 수 있으므로 테스트 검증이 필요하다
  • 컴포넌트 50개는 대화 한 번으로 끝낼 수 없어 병렬 처리가 필요하다2

작업 분해

워크플로는 6단계입니다. 앞의 두 단계는 컴포넌트를 병렬로 처리할 수 있고, 뒤의 단계들은 의존 순서대로 돕니다.

mermaid
graph TD    A[1단계: 의존 관계 분석] --> B{병렬화 가능?}    B -->|예| C[컴포넌트 1-25 분석]    B -->|예| D[컴포넌트 26-50 분석]    C --> E[2단계: 리팩터링 계획 생성]    D --> E    E --> F[3단계: 배치별 리팩터링]    F --> G[배치 1: 리프 컴포넌트]    F --> H[배치 2: 중간 계층 컴포넌트]    F --> I[배치 3: 루트 컴포넌트]    G --> J[4단계: 테스트 스위트 실행]    H --> J    I --> J    J --> K{테스트 통과?}    K -->|예| L[5단계: 리포트 생성]    K -->|아니오| M[6단계: 실패한 컴포넌트 수정]    M --> J    L --> N[종료]

전체 구현

핵심 설계 포인트

1. 체크포인트 전략: 배치가 끝날 때마다 저장하므로, 이미 한 리팩터링을 다시 하는 일이 없습니다

2. 병렬 실행: 같은 배치의 컴포넌트는 병렬로 리팩터링할 수 있습니다(서로 의존하지 않으므로)

3. 재시도 메커니즘: 한 컴포넌트의 실패가 다른 컴포넌트에 영향을 주지 않습니다. Promise.allSettled로 모든 결과를 모읍니다

4. 수정 루프: 테스트가 실패하면 자동으로 수정을 시도하며, 최대 3회까지입니다

5. 관측 가능성: 모든 단계가 명확하게 로그를 남기고, 상태는 외부 저장소에 영속화됩니다3

시나리오 2: 문서 생성 파이프라인

요구 사항

REST API 엔드포인트 30개를 가진 서비스의 완전한 API 문서를 생성합니다. 엔드포인트 설명, 요청/응답 예시, 에러 코드 설명을 포함합니다.

작업 분해(팬아웃/집계 패턴)

핵심 특징:

  • 팬아웃/집계 패턴: 엔드포인트 30개의 문서를 병렬로 생성한 뒤 마지막에 집계합니다
  • 무상태: 작업이 충분히 빨라서(10분 미만) 체크포인트가 필요 없습니다
  • 멱등성: 언제든 다시 돌려서 출력 파일을 덮어쓸 수 있습니다1

시나리오 3: 테스트 자동화 흐름

요구 사항

여러 환경(로컬, 스테이징, 프로덕션)에서 엔드투엔드 테스트를 돌리고, 테스트 결과와 성능 지표를 모아 비교 리포트를 생성합니다.

전체 구현

핵심 특징:

  • 병렬 테스트: 여러 환경이 동시에 테스트를 돌려 총 시간을 크게 줄입니다
  • 장애 허용: 한 환경의 실패가 다른 환경에 영향을 주지 않습니다
  • 똑똑한 재시도: 실패한 테스트를 자동으로 재시도합니다(네트워크 딸꾹질과 일시적 결함은 흔합니다)
  • 실패 분석: 실패에 대한 수정 제안이 자동으로 생성됩니다1

워크플로의 관측 가능성

좋은 워크플로는 어느 순간에든 이런 질문에 답할 수 있어야 합니다.

  • 얼마나 진행되었는가?(X/Y 완료)
  • 앞으로 얼마나 더 걸릴 것 같은가?
  • 어떤 에러를 만났는가?
  • 성능 병목은 어디인가?

이 질문들에 답할 수 없다면 로깅과 상태 추적이 충분히 상세하지 않은 것입니다. 워크플로 디버깅은 짐작이 아니라 그 기록에 기댑니다.

관측 가능성 구현

summary() 안에서 소요 시간으로 정렬해 가장 느린 단계 세 개만 출력하는 저 부분이 가장 단순한 형태의 성능 프로파일링입니다. 각 단계가 얼마나 걸렸는지 재고, 어느 단계가 느린지 짐작하는 대신 데이터에서 병목을 찾아내는 것입니다.


에이전트 워크플로 설계 코스를 끝낸 것을 축하합니다.

이제 다음을 다룰 수 있습니다.

  • 워크플로의 핵심 개념과 그것이 놓이는 자리
  • 작업 분해의 세 가지 전략
  • 상태 관리와 체크포인트 메커니즘
  • 에러 처리와 재시도 전략
  • 현실 시나리오에서 가져온 프로덕션 수준 워크플로 세 개

다음 단계:

  1. 자기 프로젝트에서 단순한 워크플로(5단계 미만)를 연습해 보기
  2. 복잡도를 한 단계씩 올려 보기(병렬 처리, 체크포인트, 에러 처리)
  3. 자기 워크플로 설계를 공유하고 커뮤니티의 피드백 받기
  4. 더 고급 주제 탐색하기(분산 워크플로, 워크플로 오케스트레이션 프레임워크, 시각적 워크플로 편집기)

Footnotes

  1. ClaudFlow: 7 Patterns for Claude Code Workflow Automation — https://claudflow.com/guides/claude-code-workflow-automation.html 2 3

  2. Kinde: Multi-Agent Workflows for Complex Refactoring — https://www.kinde.com/learn/ai-for-software-engineering/ai-agents/multi-agent-workflows-for-complex-refactoring-orchestrating-ai-teams/

  3. RefAgent 논문: A Multi-Agent LLM Framework for Automated Software Refactoring — https://arxiv.org/html/2511.03153v1

연습

01

자기 업무에서 실제 작업을 하나 골라 완전한 워크플로를 설계하세요.

레벨 1: 자기 워크플로 설계하기

요구 사항:

  1. 작업 설명(2~3문장)
  2. 워크플로 다이어그램 그리기(단계, 분기, 병렬 지점)
  3. 상태 필드 나열(최소 5개)
  4. 체크포인트를 어디에 둘지 설명
  5. 일어날 수 있는 에러와 처리 방법 나열
완료 기준 · 로컬에서 확인
02

"이미지 일괄 처리" 워크플로가 47번째 이미지에서 Error: EMFILE: too many open files라는 에러 메시지와 함께 실패합니다.

레벨 2: 실패하는 워크플로 디버깅하기

질문:

  1. 이것은 어떤 유형의 에러인가?(일시적/영구적)
  2. 왜 첫 번째가 아니라 47번째 이미지에서 실패하는가?
  3. 워크플로를 어떻게 고쳐야 하는가?(코드 수정 제안을 제시하세요.)
완료 기준 · 로컬에서 확인