포스트

A Harness for Every Task: Claude Code의 동적 워크플로우

목차

  1. 개요
  2. 동적 워크플로우란 무엇인가
  3. 핵심 내용
  4. 고려사항
  5. 결론
  6. Reference

개요

동적 워크플로우(dynamic workflows)는 Claude Code가 작업에 맞춰 즉석에서 커스텀 다중 에이전트 시스템을 작성하고 조율할 수 있게 한다.

단일 범용 하네스(harness)에 의존하는 대신, 글의 표현처럼 “Claude가 이제 당면한 작업을 위해 맞춤 제작된 자신만의 하네스를 즉석에서 작성할 수 있다.”

동적 워크플로우란 무엇인가

동적 워크플로우는 서브 에이전트를 생성하고 조율하는 특수 함수를 갖춘 JavaScript 파일을 실행한다.

이 시스템은 Claude가 다음을 할 수 있게 한다.

  • 서브 에이전트가 사용할 모델을 선택
  • 에이전트를 격리된 워크트리(worktree)에서 실행할지 결정
  • 중단된 워크플로우를 멈춘 지점부터 재개

핵심 내용

해결하려는 문제

전통적인 단일 컨텍스트 접근은 세 가지 실패 모드를 만난다.

실패 모드설명
에이전트적 게으름복잡한 다중 파트 작업에서 조기에 중단
자기 선호 편향객관적 검증보다 Claude 자신의 결과를 선호
목표 표류여러 턴에 걸쳐 원래 목표에 대한 충실도 상실

격리된 컨텍스트 윈도우를 가진 별도의 서브 에이전트들은 이러한 문제를 구조적으로 방어한다.

여섯 가지 조합 패턴

글은 여섯 가지 조합 패턴을 상세히 다룬다.

패턴설명
Classify-and-act작업 유형 분류에 따라 라우팅
Fan-out-and-synthesize작업을 분할해 독립 처리 후 결과 병합
Adversarial verification별도 에이전트가 루브릭 대비 출력을 검증
Generate-and-filter여러 옵션을 생성하고 품질 기준으로 필터링
Tournament에이전트들이 쌍대 비교로 경쟁
Loop until done중단 조건을 만족할 때까지 에이전트 계속 생성

실전 활용 사례

  • 복잡한 마이그레이션: Bun의 Zig에서 Rust로의 재작성에서, 콜사이트·테스트·모듈에 걸친 수정을 병렬화하고 적대적 검토 단계를 적용
  • 딥 리서치: /deep-research 스킬이 웹 검색을 팬아웃하고, 소스를 페치하며, 주장을 적대적으로 검증한 뒤 인용이 포함된 보고서를 합성
  • 대규모 검증: 한 에이전트가 문서의 사실 주장을 식별하고, 각 주장마다 검증 서브 에이전트를 생성
  • 트리아지 워크플로우: 지원 큐와 버그 리포트를 분류·중복 제거하고 대규모로 조치
  • 근본 원인 조사: 분리된 증거 소스에서 독립 가설을 생성하고, 각 가설을 증거 패널에 대해 검증
  • 정렬과 랭킹: 단일 컨텍스트를 초과하는 1,000개 이상의 대규모 데이터셋을 토너먼트식 쌍대 비교로 처리

고려사항

글은 워크플로우가 “모든 작업에 필요하지는 않으며 상당히 많은 토큰을 사용할 수 있다”고 강조한다.

따라서 일상적인 코딩보다는 복잡하고 가치가 높은 작업에 가장 적합하다. “많은 작업이 코딩 작업과 닮아 있지만”, 표준 코드 생성을 넘어선 연구·보안 분석·특수 워크플로우에는 커스텀 하네스가 핵심적이라는 관점이다.

결론

사용자는 워크플로우를 직접 요청하거나 ultracode 명령으로 트리거할 수 있다.

워크플로우는 로컬에 저장하거나 ~/.claude/workflows에 체크인하거나 스킬을 통해 템플릿 유연성과 함께 배포할 수 있다. 동적 워크플로우는 단일 컨텍스트의 한계를 구조적으로 극복하고, 작업의 성격에 맞는 다중 에이전트 하네스를 즉석에서 구성한다는 점에서 에이전트 작업 방식의 확장을 보여준다.

Reference