클로드 코드, 동적 워크플로우 기능 도입
Anthropic이 복잡하고 거대한 작업을 처리하기 위해 수십~수백 개의 하위 에이전트를 병렬로 실행하는 '동적 워크플로우(Dynamic Workflows)'를 클로드 코드(Claude Code)에 도입했습니다. 분기 단위로 계획되던 대규모 마이그레이션이나 코드베이스 전체 버그 수정, 보안 감사 같은 고난도 작업이 며칠 만에 완료될 수 있어 개발 생산성에 큰 변화를 줄 수 있습니다. 실제로 Bun 런타임을 Zig에서 Rust로 포팅하는(약 75만 줄, 11일 소요) 등 대규모 프로젝트에 성공적으로 적용된 바 있습니다.
클로드 코드(Clause Code)에 동적 워크플로우(Dynamic Workflows)를 도입합니다. 이 기능은 클로드가 가장 까다로운 작업을 시작부터 끝까지(end-to-end) 처리할 수 있도록 도와줍니다. 평소 분기(Quarter) 단위로 계획하던 작업이 이제는 며칠 만에 완료됩니다. 클로드는 단일 세션에서 수십에서 수백 개의 병렬 하위 에이전트를 실행하는 오케스트레이션 스크립트를 동적으로 작성하며, 결과물이 사용자에게 전달되기 전에 자체적으로 작업 내용을 검증합니다.
단일 에이전트의 한 번의 처리로는 감당하기 어려운 너무 큰 문제들이 있습니다. 특히 복잡하고 오래된 레거시 코드베이스에서 그렇습니다. 예를 들어 전체 서비스에 걸친 버그 탐색, 수백 개의 파일을 건드리는 마이그레이션, 실행 전 모든 각도에서 스트레스 테스트를 거치고 싶은 계획 등이 있습니다. 동적 워크플로우는 이러한 작업들을 모두 시작부터 끝까지 처리할 수 있습니다.
동적 워크플로우는 오늘부터 클로드 코드 CLI, 데스크톱, Max·Team·Enterprise(관리자 활성화 시) 플랜용 VS Code 확장 프로그램의 리서치 프리뷰(Research Preview)로 이용할 수 있으며, Claude API, Amazon Bedrock, Vertex AI 및 Microsoft Foundry에서도 지원됩니다.
참고: 동적 워크플로우는 일반적인 클로드 코드 세션보다 훨씬 더 많은 토큰을 소비할 수 있으므로, 사용량을 파악하기 위해 범위가 지정된 작업으로 먼저 시작해 보는 것을 권장합니다. 최상의 경험을 위해 동적 워크플로우 사용 시 '자동 모드(Auto mode)'를 켜십시오. 워크플로우를 시작하는 두 가지 방법은 다음과 같습니다: 클로드에게 직접 동적 워크플로우 생성을 요청하거나(예: "워크플로우 생성"), '울트라코드(ultracode)'라는 새로운 설정을 켭니다. 이는 노력(Effort) 메뉴를 통해 접근할 수 있으며, 작업 노력 수준을 '매우 높음(xhigh)'으로 설정하는 동시에 클로드가 작업 처리에 워크플로우를 사용할 시기를 자동으로 결정하도록 합니다.
동적 워크플로우 활용 사례 Anthropic 내부 팀과 얼리 액세스 사용자들은 다음과 같은 다양한 사례에 동적 워크플로우를 적용해 왔습니다:
- 코드베이스 전체 버그 탐색, 프로파일러 기반 최적화 감사, 보안 감사: 클로드가 서비스나 리포지토리를 병렬로 검색한 후, 발견된 모든 항목에 대해 독립적인 검증을 실행하여 실제 문제만 리포트에 반영합니다. 이와 동일한 방식은 전체 코드베이스에 대한 강화 작업(인증 확인, 입력값 검증, 안전하지 않은 패턴 탐지)에도 적용됩니다.
- 대규모 마이그레이션 및 현대화 작업: 클로드는 수천 개의 파일에 걸친 프레임워크 교체, API 지원 중단 대응, 프로그래밍 언어 포팅 작업 등을 시작부터 끝까지 처리할 수 있습니다.
- 이중 확인이 필수적인 중요 작업: 오답의 대가가 큰 경우, 워크플로우는 클로드가 문제에 대한 독립적인 시도를 하게 하고, 결과를 검토하기 전에 그 결과를 공격적으로 찾아내는 적대적 에이전트(Adversarial agents)를 가동합니다.
시니어 엔지니어링 매니저 알레시오 발레로(Alessio Vallero)는 “동적 워크플로우는 대규모 코드베이스의 탐색 및 리뷰 작업에 특히 유용했습니다. 기존 정적 분석이 놓친 데드 코드를 식별하고 정리 기회를 찾아내는 데 탁월한 성과를 보여주었으며, 덕분에 엔지니어들이 유지보수 및 리팩토링 작업을 훨씬 빠르게 진행할 수 있었습니다.”라고 전했습니다.
수석 시스템 엔지니어 켄 타카오(Ken Takao)는 “동적 워크플로우는 단일 하위 에이전트를 실행하는 것과 완전한 에이전트 팀을 구축하는 것 사이의 간극을 채워줍니다. 계획부터 구현까지의 흐름이 자연스러워서, 가시성을 잃지 않으면서도 긴 시간 동안 실행되는 작업을 신뢰할 수 있습니다.”라고 덧붙였습니다.
eBook: 동적 워크플로우로 Bun 재작성하기 대규모 환경에서 동적 워크플로우가 무엇을 가능하게 하는지 보여주는 예시로 최근 진행된 'Bun'의 재작성을 들 수 있습니다. 재레드 섬너(Jarred Sumner)는 동적 워크플로우를 사용하여 Bun을 Zig에서 Rust로 포팅했으며, 기존 테스트 스위트의 99.8%를 통과하고 약 75만 줄의 Rust 코드를 작성했으며, 첫 커밋부터 병합(Merge)까지 단 11일이 걸렸습니다.
첫 번째 워크플로우는 Zig 코드베이스의 모든 구조체(struct) 필드에 적합한 Rust 라이프타임(lifetime)을 매핑했습니다. 그다음 워크플로우에서는 수백 개의 에이전트가 병렬로 작동하며 각 파일마다 두 명의 리뷰어를 거쳐, 각 .zig 파일과 동일하게 동작하는 .rs 파일 포팅을 수행했습니다. 이후 빌드와 테스트 스위트가 완벽하게 통과할 때까지 수정 루프(Fix loop)가 이어졌습니다. 포팅이 완료된 후에는 밤새 실행되는 워크플로우가 불필요한 데이터 복사본을 파악하고 각각에 대해 최종 리뷰를 위한 PR(Pull Request)을 생성했습니다. 비록 아직 프로덕션에 적용되지는 않았지만, 모든 작업이 동적 워크플로우를 통해 성공적으로 완료되었습니다.