# 작업별 맞춤 하네스: Claude Code의 동적 워크플로우

> Clean Markdown view of GeekNews topic #30136. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=30136](https://news.hada.io/topic?id=30136)
- GeekNews Markdown: [https://news.hada.io/topic/30136.md](https://news.hada.io/topic/30136.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2026-06-03T11:00:03+09:00
- Updated: 2026-06-03T11:00:03+09:00
- Original source: [claude.com](https://claude.com/blog/a-harness-for-every-task-dynamic-workflows-in-claude-code)
- Points: 3
- Comments: 0

## Topic Body

- **동적 워크플로우** 는 Claude Code가 작업에 맞는 **하네스(harness)** 를 즉석에서 직접 작성하는 기능으로, 기존에 별도로 구축하던 맞춤 하네스를 코드 내부에서 네이티브로 처리  
- JavaScript 파일을 실행해 **서브에이전트(subagents)** 를 생성·조율하며, 각 에이전트가 사용할 모델과 worktree 격리 여부까지 선택 가능  
- 단일 컨텍스트 윈도우에서 발생하는 **agentic laziness, self-preferential bias, goal drift** 같은 실패 모드를 분리된 컨텍스트로 구조적으로 방지  
- **마이그레이션, 딥 리서치, 정렬, 트리아지, 근본 원인 조사** 등 코딩 외 비기술적 작업에서도 활용 가능  
- 토큰 소비가 많아 모든 작업에 필요하진 않으며, **창의적 활용**을 통해 Claude Code를 새로운 방식으로 확장하는 출발점  
  
---  
  
### 동적 워크플로우 개요  
  
- 지난주 Claude Code에 [동적 워크플로우](https://code.claude.com/docs/en/workflows) 출시, Claude가 작업에 맞춰 [하네스](https://code.claude.com/docs/en/glossary#agentic-harness)를 즉석 작성 가능  
- 기본 Claude Code 하네스는 코딩용으로 제작되었으나, 많은 작업이 코딩 작업과 유사하기에 다른 유형 작업에도 유용  
- [Research](https://support.claude.com/en/articles/11088861-using-research-on-claude), [security analysis](https://support.claude.com/en/articles/11932705-automated-security-reviews-in-claude-code), [agent teams](https://code.claude.com/docs/en/agent-teams), [Code Review](https://code.claude.com/docs/en/code-review) 등은 그간 Claude Code 위에 별도 맞춤 하네스를 구축해 최고 성능 확보  
- 워크플로우는 이런 문제들을 Claude Code 내부에서 네이티브로 해결, **타인과 공유·재사용**도 지원  
- 모범 사례는 아직 발전 중이며, 토큰 소비가 많으므로 사용 시점과 방식을 신중히 고려해야 함  
  
### 예시 프롬프트  
  
- "이 테스트는 50번 실행 중 1번 정도 실패할 수 있습니다. 이를 재현할 수 있는 워크플로를 구축하세요. 경주에 대한 여러 가지 가설을 세우고, 증거를 통해 타당한 가설이 나올 때까지 계속 진행하세요."  
- "워크플로우를 사용하여 최근 50개 세션을 살펴보고 반복적으로 수정하는 부분을 찾아, 그중 반복되는 부분을 `CLAUDE.md` 규칙으로 변환하세요"  
- "워크플로를 사용하여 지난 6개월 동안 Slack의 #incidents를 분석하고 아무도 티켓을 제출하지 않은 반복적인 근본 원인을 찾아보세요."  
- "제 사업 계획서를 가져다가 투자자, 고객, 경쟁업체의 관점에서 여러 담당자들이 꼼꼼하게 분석하는 워크플로우를 실행해 보세요."  
- "여기 이력서 80개가 담긴 폴더가 있습니다. 워크플로우를 사용하여 백엔드 직무에 적합한 이력서 순위를 매기고, 상위 10개를 다시 한번 확인해 주세요. AskUserQuestion 도구를 사용하여 평가 기준표에 따라 저를 인터뷰해 주세요."  
- "이 CLI 도구에 이름을 붙여야 합니다. 워크플로를 사용하여 여러 옵션을 브레인스토밍하고 토너먼트 방식으로 상위 3개를 선정하세요."  
- "워크플로우를 사용하여 모든 곳에서 User 모델의 이름을 Account로 변경하세요."  
- "제 블로그 게시글 초안을 꼼꼼히 검토하고 워크플로우를 사용하여 코드베이스와 모든 기술적 주장을 대조해 주세요. 잘못된 내용을 배포하고 싶지 않아요."  
  
### 동적 워크플로우 작동 방식  
  
- [서브에이전트](https://code.claude.com/docs/en/sub-agents) 생성·조율을 돕는 몇 가지 특수 함수를 포함한 **JavaScript 파일** 실행  
- JSON, Math, Array 등 표준 JavaScript 함수도 포함해 데이터 처리 지원  
- 에이전트가 사용할 **모델 선택** 및 서브에이전트의 **worktree 격리 여부** 결정 가능, 필요한 지능 수준과 격리 수준을 Claude가 선택  
- 사용자 조작이나 터미널 종료로 워크플로우가 중단되어도, 세션 재개 시 중단 지점부터 이어서 진행  
  
### 동적 워크플로우가 필요한 이유  
  
- 기본 하네스는 **단일 컨텍스트 윈도우**에서 계획과 실행을 동시에 수행, 다수 코딩 작업엔 효과적이나 장기·대규모 병렬·고도로 구조화된 적대적 작업에선 한계  
- 복잡한 작업을 하나의 컨텍스트에서 오래 진행할수록 특정 실패 모드에 취약  
  - **Agentic laziness**: 복잡한 다단계 작업을 끝내기 전 중단하고 부분 완료 후 완료 선언 (예: 보안 검토 50개 항목 중 20개만 처리)  
  - **Self-preferential bias**: 루브릭 대비 검증·판단 시 자신의 결과를 선호하는 경향  
  - **Goal drift**: 여러 턴에 걸쳐 원래 목표에 대한 충실도가 점진적으로 상실, 특히 compaction 이후 발생하며 edge-case 요구사항이나 "X 하지 말 것" 제약이 손실  
- 별도 컨텍스트 윈도우와 집중·격리된 목표를 가진 여러 Claude를 조율함으로써 이를 방지  
  
### 동적 vs 정적 워크플로우  
  
- 기존에는 Claude Agent SDK나 `claude -p`로 여러 Claude Code 인스턴스를 조율하는 **정적 워크플로우** 작성 가능  
- 정적 워크플로우는 모든 edge case에 대응해야 하므로 대체로 더 일반적  
- [Claude Opus 4.8](https://www.anthropic.com/news/claude-opus-4-8)과 동적 워크플로우로, 이제 Claude가 사용 사례에 맞춘 맞춤 하네스를 직접 작성할 만큼 지능적  
  
### 동적 워크플로우 활용 패턴  
  
- Claude에게 워크플로우 생성을 요청하거나, 트리거 단어 `ultracode` 사용으로 워크플로우 생성 보장  
- Claude가 워크플로우 구축 시 조합해 사용하는 공통 패턴 존재  
- ## Classify-and-act  
  - 분류기 에이전트가 작업 유형을 판단한 뒤 작업별로 다른 에이전트·동작으로 라우팅, 혹은 마지막에 분류기로 출력 결정  
- ## Fan-out-and-synthesize  
  - 작업을 작은 단계로 나눠 각 단계에 에이전트를 실행 후 결과를 종합  
  - 작은 단계가 다수이거나 각 단계가 깨끗한 컨텍스트 윈도우의 이점을 볼 때 유용, 상호 간섭·교차 오염 방지  
  - synthesize 단계는 배리어로, 모든 fan-out 에이전트를 기다린 뒤 구조화된 출력을 하나로 병합  
- ## Adversarial verification  
  - 생성된 각 에이전트마다 별도 에이전트를 실행해 출력을 루브릭·기준 대비 적대적으로 검증  
- ## Generate-and-filter  
  - 주제에 대한 아이디어를 다수 생성 후 루브릭·검증으로 필터링, 중복 제거, 최고 품질의 검증된 아이디어만 반환  
- ## Tournament  
  - 작업을 나누는 대신 에이전트들이 경쟁, N개 에이전트가 서로 다른 접근으로 동일 작업 시도, 판정 에이전트가 pairwise 방식으로 우승자가 나올 때까지 판단  
- ## Loop until done  
  - 작업량이 불확실할 때 고정 횟수 대신 중단 조건(새 발견 없음, 로그 오류 없음) 충족 시까지 에이전트 반복 생성  
  
### 활용 사례  
  
- 워크플로우는 비기술적 작업에서 오히려 더 유용한 경우가 있음  
- ## 마이그레이션과 리팩터  
  - [Bun](https://bun.com/)이 워크플로우로 Zig에서 Rust로 재작성됨, 자세한 내용은 [Jarred의 X 스레드](https://x.com/jarredsumner/status/2060050578026189172)에서 확인 가능  
  - callsites, 실패 테스트, 모듈 등 작업 단계로 분해가 핵심  
  - 각 수정마다 worktree에서 서브에이전트 생성, 다른 에이전트가 적대적 검토 후 병합  
  - 자원 집약적 명령을 피하도록 지시해 머신 자원 고갈 없이 최대 병렬화  
- ## 딥 리서치  
  - 동적 워크플로우를 사용하는 **deep research skill (`/deep-research`)** 공개, 웹 검색을 fan-out, 소스 가져오기, 주장을 적대적 검증, 인용 포함 보고서 종합  
  - 웹 검색 외에도 Slack 컨텍스트로 상태 보고서 작성, 코드베이스 심층 탐색으로 기능 동작 조사 등에 활용  
- ## 딥 검증  
  - 보고서의 모든 사실 주장을 확인·출처화하려면, 한 에이전트가 모든 사실 주장을 식별하고 서브에이전트가 각각을 상세 확인하는 워크플로우 생성  
  - 검증 에이전트가 소스 서브에이전트의 출처 품질도 점검 가능  
- ## 정렬  
  - 정성적 측정 기준으로 항목 정렬 시 유용 (예: 버그 심각도순 지원 티켓)  
  - 1000행 이상을 한 프롬프트로 정렬하면 품질 저하·컨텍스트 초과, 대신 토너먼트·pairwise 비교 파이프라인·병렬 bucket-rank 후 병합 활용  
  - **비교 판단(comparative judgment)** 이 절대 점수보다 신뢰성 높음, 각 비교가 별도 에이전트라 deterministic loop가 bracket을 유지하고 실행 순서만 컨텍스트에 남음  
- ## 메모리와 규칙 준수  
  - CLAUDE.md에 넣어도 Claude가 놓치는 규칙은, 규칙 목록을 두고 규칙당 검증 에이전트 하나씩 점검하는 워크플로우 생성  
  - 거짓 양성을 줄이기 위해 규칙을 검토하는 **skeptic 페르소나 서브에이전트** 생성  
  - 역방향도 가능, 최근 세션·코드 리뷰 코멘트에서 반복 수정을 채굴, 병렬 에이전트로 클러스터링, 각 후보를 적대적 검증("이 규칙이 실제 실수를 막았을까?") 후 생존 규칙을 CLAUDE.md로 정제  
- ## 근본 원인 조사  
  - 디버깅은 여러 독립 가설을 세워 검증할 때 효과적이나, 단일 컨텍스트 윈도우에선 self-preferential bias 발생 가능  
  - 워크플로우가 분리된 증거(로그, 파일, 데이터)별 에이전트로 가설을 생성해 구조적으로 방지, 각 가설은 검증자·반박자 패널 대면  
  - 코드 외 영업(3월 매출 하락 원인), 데이터 엔지니어링(파이프라인 실패 원인) 등 post-mortem에도 활용  
- ## 대규모 트리아지  
  - 사람이 다 처리 못 하는 지원 큐·버그 리포트·백로그를 위한 트리아지 워크플로우가 각 항목을 분류, 기존 추적 항목과 중복 제거, 조치(수정 시도 또는 사람에게 에스컬레이션)  
  - 유용한 패턴은 **quarantine**, 신뢰할 수 없는 공개 콘텐츠를 읽는 에이전트의 고권한 행동을 차단하고 정보 처리 담당 에이전트가 수행  
  - `/loop` 와 결합해 지속적 실행 가능  
- ## 탐색과 취향  
  - 디자인·네이밍처럼 취향 기반이며 루브릭의 이점을 보는 솔루션 탐색에 유용  
  - 여러 솔루션을 탐색하게 하고 리뷰 에이전트에 좋은 솔루션 기준 루브릭 제공, 리뷰 에이전트가 기준 충족 판단 시 완료, 토너먼트로 정렬·선택 가능  
- ## 평가(Evals)  
  - worktree에서 별도 에이전트를 생성하고 비교 에이전트로 루브릭 대비 채점해 경량 평가 실행, 예: 생성한 skill을 특정 기준으로 평가·개선  
- ## 모델·지능 라우팅  
  - 작업에 맞춰 모델을 결정하는 분류기 에이전트 생성, 많은 도구 호출을 수반하는 작업에서 사전 조사로 최적 모델 식별  
  - 예: "auth 모듈 동작 설명" 작업의 최적 모델은 auth 모듈 파일 수와 코드베이스 형태에 따라 다름, 분류기가 조사 후 복잡도에 따라 Sonnet·Opus로 라우팅  
  
### 사용하지 말아야 할 때  
  
- 워크플로우는 신규 기능으로, 큰 성과를 내는 사용 사례가 많으나 모든 작업에 필요하진 않으며 토큰을 크게 더 소비할 수 있음  
- 이전에 시도하지 못한 방식으로 Claude Code를 밀어붙이는 창의적 활용이 적합  
- 일반 코딩 작업은 "정말 더 많은 컴퓨팅이 필요한가?"를 자문, 대부분 전통적 코딩 작업엔 5명의 리뷰어 패널 불필요  
  
### 동적 워크플로우 구축 팁  
- ## 프롬프팅  
  - 앞서 설명한 기법을 사용한 상세 프롬프팅이 최상의 결과 도출  
  - 대규모 작업 전용이 아니며, "quick workflow"를 프롬프트해 가정에 대한 빠른 적대적 검토 등 수행 가능  
- ## /goal 및 /loop와 결합  
  - 트리아지·리서치·검증처럼 반복 가능한 워크플로우는 `/loop` 와 결합해 정기 실행, `/goal` 로 하드 완료 요구사항 설정  
- ## 토큰 사용 예산  
  - 명시적 토큰 사용 예산 설정으로 작업당 토큰 제한, "use 10k tokens" 같은 프롬프트로 상한 설정  
- ## 저장과 공유  
  - 워크플로우 메뉴에서 "s"를 눌러 저장, `~/.claude/workflows` 에 체크인하거나 skill로 배포 가능  
  - skill로 공유 시 JavaScript 워크플로우 파일을 skill 폴더에 넣고 SKILL.md에서 참조, 유연성을 위해 skill 내 워크플로우를 그대로 실행할 스크립트가 아닌 **템플릿**으로 간주하도록 프롬프트  
- ## 확장의 출발점  
  - 워크플로우는 Claude Code를 확장하는 새로운 방법이며, 최적 활용법은 아직 발견할 것이 많은 출발점

## Comments



_No public comments on this page._
