Claude Code, 동적 워크플로우로 똑똑해지다
Claude Code에 동적 워크플로우(Dynamic Workflows) 기능이 출시되어, 작업별 맞춤형 하네스(Harness)를 실시간으로 생성 가능함
기존 코딩 작업 외 연구, 보안 분석, 에이전트 팀 운영 등 복잡하고 가치 높은 작업에 활용 가능성을 제시함
토큰 사용량 증가 가능성이 있어, 복잡하고 가치 높은 작업에 우선 적용하는 것이 권장됨
동적 워크플로우의 작동 원리 및 아키텍처
동적 워크플로우는 자바스크립트(JavaScript) 파일을 실행하여 하위 에이전트(Sub-agent)를 생성하고 조정하는 방식으로 작동함. JSON, Math, Array와 같은 표준 자바스크립트 함수를 포함하며, 에이전트가 사용할 모델과 작업 격리(Worktree Isolation) 여부를 동적으로 결정할 수 있음. 이는 복잡한 작업에서 컨텍스트 창(Context Window)의 한계를 극복하고, 에이전트 지연(Agentic Laziness), 자기 선호 편향(Self-Preferential Bias), 목표 드리프트(Goal Drift)와 같은 실패 모드를 완화하는 데 기여함. 또한, 세션 재개 기능을 통해 중단된 워크플로우를 이어서 실행할 수 있음.
정적 워크플로우 대비 동적 워크플로우의 장점
기존의 정적 워크플로우는 모든 엣지 케이스(Edge Case)를 포괄하기 위해 일반화된(Generic) 설계가 필요했으나, 동적 워크플로우는 Claude Opus 4.8 모델을 기반으로 사용자의 특정 요구사항에 맞춰 맞춤형 하네스(Custom Harness)를 실시간으로 생성함. 이는 작업별 최적화된 성능을 달성하게 하며, 재사용 및 공유가 가능한 워크플로우 형태로 제공되어 개발 생산성을 향상시킴. 특히, 모델 라우팅(Model Routing) 기능을 통해 작업 복잡도에 따라 최적의 모델을 선택할 수 있다는 점이 큰 장점임.
주요 동적 워크플로우 패턴 분석
동적 워크플로우는 다양한 패턴을 조합하여 복잡한 문제를 해결함. 분류 및 실행(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)을 통해 공유할 수 있음. 템플릿으로 활용하도록 유도하는 것이 유연성을 높이는 방법임.