본문으로 건너뛰기

© 2026 Molayo

GeekNews헤드라인2026. 06. 03. 11:05

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

요약

Claude Code가 작업에 맞춰 맞춤형 하네스를 즉석에서 작성하는 '동적 워크플로우' 기능을 출시했습니다. JavaScript를 통해 서브에이전트를 생성하고 조율하며, 단일 컨텍스트에서 발생하는 에이전트의 오류를 구조적으로 방지합니다.

핵심 포인트

  • JavaScript 기반의 서브에이전트 생성 및 조율 기능 지원
  • 에이전트의 게으름(laziness) 및 목표 이탈(goal drift) 방지
  • 코딩 외 리서치, 분석, 트리아지 등 다양한 비기술적 작업 확장 가능
  • 모델 선택 및 worktree 격리 여부를 에이전트가 직접 결정

동적 워크플로우 는 Claude Code가 작업에 맞는 하네스(harness) 를 즉석에서 직접 작성하는 기능으로, 기존에 별도로 구축하던 맞춤 하네스를 코드 내부에서 네이티브로 처리

  • JavaScript 파일을 실행해
    서브에이전트(subagents) 를 생성·조율하며, 각 에이전트가 사용할 모델과 worktree 격리 여부까지 선택 가능
  • 단일 컨텍스트 윈도우에서 발생하는
    agentic laziness, self-preferential bias, goal drift 같은 실패 모드를 분리된 컨텍스트로 구조적으로 방지
    마이그레이션, 딥 리서치, 정렬, 트리아지, 근본 원인 조사 등 코딩 외 비기술적 작업에서도 활용 가능
  • 토큰 소비가 많아 모든 작업에 필요하진 않으며,
    창의적 활용을 통해 Claude Code를 새로운 방식으로 확장하는 출발점

동적 워크플로우 개요

  • 지난주 Claude Code에 동적 워크플로우 출시, Claude가 작업에 맞춰 하네스를 즉석 작성 가능
  • 기본 Claude Code 하네스는 코딩용으로 제작되었으나, 많은 작업이 코딩 작업과 유사하기에 다른 유형 작업에도 유용
  • Research, security analysis, agent teams, Code Review 등은 그간 Claude Code 위에 별도 맞춤 하네스를 구축해 최고 성능 확보
  • 워크플로우는 이런 문제들을 Claude Code 내부에서 네이티브로 해결,
    타인과 공유·재사용도 지원
  • 모범 사례는 아직 발전 중이며, 토큰 소비가 많으므로 사용 시점과 방식을 신중히 고려해야 함

예시 프롬프트

  • "이 테스트는 50번 실행 중 1번 정도 실패할 수 있습니다. 이를 재현할 수 있는 워크플로를 구축하세요. 경주에 대한 여러 가지 가설을 세우고, 증거를 통해 타당한 가설이 나올 때까지 계속 진행하세요."
  • "워크플로우를 사용하여 최근 50개 세션을 살펴보고 반복적으로 수정하는 부분을 찾아, 그중 반복되는 부분을
    CLAUDE.md

규칙으로 변환하세요"

  • "워크플로를 사용하여 지난 6개월 동안 Slack의 #incidents를 분석하고 아무도 티켓을 제출하지 않은 반복적인 근본 원인을 찾아보세요."
  • "제 사업 계획서를 가져다가 투자자, 고객, 경쟁업체의 관점에서 여러 담당자들이 꼼꼼하게 분석하는 워크플로우를 실행해 보세요."
  • "여기 이력서 80개가 담긴 폴더가 있습니다. 워크플로우를 사용하여 백엔드 직무에 적합한 이력서 순위를 매기고, 상위 10개를 다시 한번 확인해 주세요. AskUserQuestion 도구를 사용하여 평가 기준표에 따라 저를 인터뷰해 주세요."
  • "이 CLI 도구에 이름을 붙여야 합니다. 워크플로를 사용하여 여러 옵션을 브레인스토밍하고 토너먼트 방식으로 상위 3개를 선정하세요."
  • "워크플로우를 사용하여 모든 곳에서 User 모델의 이름을 Account로 변경하세요."
  • "제 블로그 게시글 초안을 꼼꼼히 검토하고 워크플로우를 사용하여 코드베이스와 모든 기술적 주장을 대조해 주세요. 잘못된 내용을 배포하고 싶지 않아요."

동적 워크플로우 작동 방식

  • 서브에이전트 생성·조율을 돕는 몇 가지 특수 함수를 포함한
    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과 동적 워크플로우로, 이제 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이 워크플로우로 Zig에서 Rust로 재작성됨, 자세한 내용은 Jarred의 X 스레드에서 확인 가능

  • 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를 확장하는 새로운 방법이며, 최적 활용법은 아직 발견할 것이 많은 출발점

댓글과 토론

AI 자동 생성 콘텐츠

본 콘텐츠는 GeekNews의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0