Claude Code에 동적 워크플로우(Dynamic Workflows) 기능이 출시되어, 작업별 맞춤형 하네스(Harness)를 실시간으로 생성 가능함
기존 코딩 작업 외 연구, 보안 분석, 에이전트 팀 운영 등 복잡하고 가치 높은 작업에 활용 가능성을 제시함
토큰 사용량 증가 가능성이 있어, 복잡하고 가치 높은 작업에 우선 적용하는 것이 권장됨
동적 워크플로우는 자바스크립트(JavaScript) 파일을 실행하여 하위 에이전트(Sub-agent)를 생성하고 조정하는 방식으로 작동함. JSON, Math, Array와 같은 표준 자바스크립트 함수를 포함하며, 에이전트가 사용할 모델과 작업 격리(Worktree Isolation) 여부를 동적으로 결정할 수 있음. 이는 복잡한 작업에서 컨텍스트 창(Context Window)의 한계를 극복하고, 에이전트 지연(Agentic Laziness), 자기 선호 편향(Self-Preferential Bias), 목표 드리프트(Goal Drift)와 같은 실패 모드를 완화하는 데 기여함. 또한, 세션 재개 기능을 통해 중단된 워크플로우를 이어서 실행할 수 있음.
기존의 정적 워크플로우는 모든 엣지 케이스(Edge Case)를 포괄하기 위해 가 필요했으나, 동적 워크플로우는 모델을 기반으로 사용자의 특정 요구사항에 맞춰 를 실시간으로 생성함. 이는 을 달성하게 하며, 가 가능한 워크플로우 형태로 제공되어 개발 생산성을 향상시킴. 특히, 기능을 통해 작업 복잡도에 따라 최적의 모델을 선택할 수 있다는 점이 큰 장점임.
동적 워크플로우는 다양한 패턴을 조합하여 복잡한 문제를 해결함. 분류 및 실행(Classify-and-act) 패턴은 작업 유형을 분류하여 적절한 에이전트로 라우팅하고, 분산 및 종합(Fan-out-and-synthesize) 패턴은 작업을 분할하여 병렬 처리 후 결과를 종합함. 적대적 검증(Adversarial verification)은 생성된 결과의 신뢰도를 높이고, 생성 및 필터링(Generate-and-filter)은 아이디어의 품질을 보장함. 토너먼트(Tournament) 패턴은 여러 에이전트가 경쟁하여 최상의 결과를 도출하며, 반복 실행(Loop until done)은 작업 완료 조건이 불확실할 때 유용함.
동적 워크플로우는 코드 리팩토링, 심층 연구, 데이터 검증, 대규모 분류(Sorting) 등 다양한 영역에서 활용됨. 예를 들어, Bun의 Zig에서 Rust로의 재작성은 워크플로우를 통해 성공적으로 수행되었으며, Slack 인시던트 분석이나 이력서 순위 결정과 같은 비기술적 작업에도 효과적임. 또한, 메모리 및 규칙 준수를 강화하거나 근본 원인 조사(Root-cause Investigation), 대규모 트리아징(Triaging at Scale), 탐색 및 취향 기반 작업에도 적용 가능하여 활용 범위가 넓음.
동적 워크플로우는 토큰 사용량이 많을 수 있으므로 복잡하고 가치 높은 작업에 우선적으로 사용하는 것이 권장됨. 상세한 프롬프트 엔지니어링이 중요하며, '/goal', '/loop'과 같은 명령어와 결합하여 사용하면 효율성을 높일 수 있음. 토큰 사용량 예산 설정 기능을 활용하여 비용을 관리하고, 워크플로우는 ~/.claude/workflows에 저장하거나 스킬(Skill)을 통해 공유할 수 있음. 템플릿으로 활용하도록 유도하는 것이 유연성을 높이는 방법임.