태스크 오케스트레이션
복잡한 개발 작업을 Claude 친화적인 태스크로 분해하는 방법. 멀티스텝 워크플로우를 지휘하는 법을 배워요.
프리미엄 강좌 콘텐츠
이 레슨은 프리미엄 강좌의 일부예요. Pro로 업그레이드하면 모든 프리미엄 강좌와 콘텐츠를 이용할 수 있어요.
- 모든 프리미엄 강좌 이용
- 1000개 이상의 AI 스킬 템플릿 포함
- 매주 새로운 콘텐츠 추가
단일 질문을 넘어서
대부분의 Claude Code 사용자는 일회성 질문을 해요. 빠른 도움에는 좋지만, 본격적인 개발을 위해서는 전체 워크플로우를 오케스트레이션해야 해요.
이는 Claude를 멀티스텝 작업을 통해 지휘하는 것을 의미해요 — 복잡한 작업을 분해하고, 논리적으로 순서를 정하고, 결과가 맞을 때까지 반복하는 거예요.
오케스트레이션 마인드셋
여러분을 유능한 개발자를 지휘하는 테크 리드라고 생각하세요.
안 좋은 테크 리드: “기능을 만들어.” 좋은 테크 리드: “이걸 분해해 보자. 먼저 접근법을 개요하고, 그 다음 데이터 레이어를 구현하고, 그 다음 API, 그 다음 테스트를 하자.”
Claude도 마찬가지예요. 모호하고 큰 요청은 모호하고 큰 출력을 만들어요. 구조화된 지시는 품질 높은 결과를 가져와요.
태스크 분해
모든 복잡한 작업은 조각으로 나눌 수 있어요:
원래 작업: “앱에 사용자 인증을 추가해줘”
분해 후:
- 인증 흐름 설계 (무엇이 어디서 일어나는지)
- 사용자 모델과 데이터베이스 스키마 생성
- 로그인/로그아웃 엔드포인트 구현
- 비밀번호 해싱 추가
- 세션 관리 생성
- 보호 라우트 미들웨어 추가
- 테스트 작성
각 조각이 구체적이에요. 각 조각에 명확한 “완료” 상태가 있어요.
오케스트레이션 루프
┌─────────────────────────────────────┐
│ 1. 작업을 명확하게 정의 │
│ 목표는? 완료 기준은? │
└───────────────┬─────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ 2. 컨텍스트 제공 │
│ 관련 파일과 정보 추가 │
└───────────────┬─────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ 3. 작업 요청 │
│ 구체적이고 실행 가능한 요청 │
└───────────────┬─────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ 4. 출력 검토 │
│ 목표를 달성했는지 확인 │
└───────────────┬─────────────────────┘
│
┌───────┴───────┐
│ │
▼ ▼
┌───────────────┐ ┌───────────────────┐
│ 괜찮으면? │ │ 수정 필요? │
│ → 다음 작업 │ │ → 피드백 전달 │
│ │ │ → 반복 │
└───────────────┘ └───────────────────┘
실전 오케스트레이션 패턴
패턴: 구현 전 계획
바로 구현에 뛰어들지 마세요.
> API 응답에 캐싱 레이어를 추가해야 해.
> 먼저 접근법을 개요해줘. 고려사항:
> - 무엇을 캐시할지
> - 캐시 무효화 전략
> - Redis vs 인메모리
> 아직 코드는 작성하지 마 — 계획만.
계획을 검토하세요. 대안을 논의하세요. 그 다음:
> 좋은 계획이야. Redis를 사용하는 옵션 2로 구현하자.
> 캐시 유틸리티 함수부터 시작해.
패턴: 점진적 구현
각 레이어를 검증하면서 쌓아가요.
# 1단계
> 쇼핑 카트의 데이터 모델을 만들어.
> 모델만, API는 아직 안 해.
# 검토 후...
# 2단계
> 이제 추가, 제거, 비우기 기능이 있는 카트 서비스를 추가해.
> 방금 만든 모델을 사용해.
# 검토 후...
# 3단계
> 카트 서비스를 사용하는 API 엔드포인트를 만들어.
# 검토 후...
# 4단계
> 카트 서비스에 대한 테스트를 추가해.
각 단계가 이전 단계 위에 쌓여요. 이슈를 일찍 잡을 수 있어요.
패턴: 반복을 통한 개선
Claude의 첫 출력이 완벽한 경우는 드물어요. 그래도 괜찮아요.
> CSV 파일을 파싱하는 함수를 만들어. 컬럼: name, email, created_at
# 출력이 거의 맞지만 완벽하지 않아
> 좋은 시작이야, 하지만:
> - 빈 셀은 빈 문자열 대신 null을 반환해
> - 이메일 형식이 유효한지 검증을 추가해
> - 날짜 파싱은 ISO와 US 형식 모두 처리해줘
# 맞을 때까지 반복
구체적인 피드백이 전체 작업을 다시 설명하는 것보다 빨라요.
패턴: 전체 범위 계획
대규모 기능의 경우, 전체 범위를 먼저 계획하세요.
> 알림 시스템을 구축해야 해. 코딩 전에 개요를 작성해줘:
> 1. 어떤 컴포넌트가 필요한지
> 2. 컴포넌트 간 상호작용
> 3. 구축 순서
> 4. 관련 외부 서비스
전체 그림을 파악하세요. 그 다음 체계적으로 각 부분을 실행하세요.
대화 연속성
Claude는 세션을 기억해요. 이걸 활용하세요.
좋음:
> 방금 만든 함수에 에러 처리를 추가해줘.
Claude가 어떤 함수인지 알고 있어요.
불필요:
> 파일 경로를 받아서 name, email, created_at 필드가 있는
> 객체 배열을 반환하는 parseCSV 함수에
> 에러 처리를 추가해줘.
이미 컨텍스트에 있는 것을 다시 설명하지 마세요.
작업이 잘못될 때
Claude가 엉뚱한 방향으로 갈 때
> 멈춰. 내가 요청한 게 아니야.
> X가 필요해, Y가 아니라.
> 구체적으로: [명확한 재진술]
직접적으로 말하세요. 방향을 확실히 재설정하세요.
Claude가 막혔을 때
> 한 발 물러서자. 이 작업에서 뭐가 혼란스러워?
> 어떤 정보가 도움이 될까?
때로는 Claude가 무엇이 빠져 있는지에 대한 안내가 필요해요.
출력이 부분적으로 맞을 때
> 첫 부분은 맞아. 그건 유지해.
> 검증 로직만 변경해: [구체적 수정]
좋은 작업을 버리지 마세요. 정확히 무엇이 바뀌어야 하는지 지적하세요.
태스크 복잡도 보정
| 복잡도 | 접근법 |
|---|---|
| 사소함 | 한 번 요청, 완료 |
| 간단함 | 요청 + 한 번 반복 |
| 보통 | 계획 → 구현 → 개선 |
| 복잡함 | 분해 → 각각 계획 → 점진적 구현 |
| 매우 복잡 | 여러 세션, 청킹된 컨텍스트 |
오케스트레이션 노력을 작업 복잡도에 맞추세요.
실습: 기능 오케스트레이션
다음 작업을 오케스트레이션 연습해 보세요:
목표: e-커머스 사이트에 “최근 본 상품” 기능 추가.
분해해 보세요:
- 데이터 모델은 무엇인가?
- 데이터는 어디에 저장하나? (쿠키, localStorage, 데이터베이스)
- 어떤 API 엔드포인트가 필요한가?
- 어떤 UI 컴포넌트가 필요한가?
- 구현 순서는?
사용할 Claude Code 프롬프트의 순서를 작성해 보세요.
핵심 정리
- 복잡한 작업을 명확하고 검증 가능한 단계로 나누세요
- 사소하지 않은 작업에는 구현 전에 계획을 세우세요
- 처음부터 다시 시작하기보다 구체적인 피드백으로 반복하세요
- 대화 연속성을 활용하세요 — Claude가 컨텍스트를 기억해요
- 오케스트레이션 노력을 작업 복잡도에 맞추세요
다음에는 파일 작업을 안전하고 효율적으로 수행하는 법을 배워요.
다음 레슨: 파일 작업을 심층적으로 다뤄요.
이해도 체크
먼저 위의 퀴즈를 완료하세요
레슨 완료!