동적 워크플로우로 대규모 서브에이전트 조율하기
Blog

동적 워크플로우로 대규모 서브에이전트 조율하기

2026.05.29
·Web·by Mineru
#Agent#Automation#Claude Code#JavaScript#Workflow

핵심 포인트

  • 1동적 워크플로우는 Claude가 대규모로 Sub-agent를 조율하기 위해 작성하는 JavaScript 스크립트로, 백그라운드에서 실행되어 세션 응답성을 유지하며 반복 가능한 품질 패턴을 적용할 수 있습니다.
  • 2사용자는 `/deep-research`와 같은 번들된 워크플로우를 실행하거나, 프롬프트에 'workflow' 단어를 포함하여 Claude가 워크플로우를 작성하도록 요청하거나, `ultracode` 모드를 활성화하여 Claude가 자동으로 계획하도록 할 수 있습니다.
  • 3워크플로우는 재사용을 위해 명령으로 저장 가능하며, 백그라운드에서 실행 상황을 모니터링하고 일시 중지 및 재개할 수 있지만, 단일 실행에 많은 에이전트와 토큰을 사용하며 최대 동시 에이전트 수 등의 제약이 따릅니다.

동적 워크플로우(Dynamic Workflows)는 Claude가 생성하는 JavaScript 스크립트를 사용하여 대규모의 Sub-agents를 조율하는 고급 기능입니다. 이 스크립트는 재실행 가능하며, 코드베이스 감사, 대규모 마이그레이션, 교차 검증 연구 등 복잡하고 반복적인 다단계 작업에 적합합니다.

핵심 방법론은 작업 계획의 소유권을 Claude의 실시간 컨텍스트에서 명시적인 코드로 이동시키는 것입니다. Sub-agents와 Skills는 Claude가 조율자로서 순차적으로 다음 단계를 결정하고 모든 중간 결과를 Claude의 컨텍스트 윈도우에 유지합니다. 반면, Dynamic Workflows는 런타임(runtime)이 실행하는 스크립트가 조율 자체를 담당하며, 루프(loop), 분기(branch), 중간 결과 저장 등을 스크립트 변수 내에서 처리합니다. 이를 통해 Claude의 컨텍스트는 최종 답변만 포함하게 되어, 반복 가능한 품질 패턴을 적용하고 독립적인 에이전트들이 서로의 발견을 교차 검증하거나 여러 각도에서 계획을 작성하여 신뢰도를 높이는 등 단순히 더 많은 에이전트를 실행하는 것을 넘어선 복잡한 조율이 가능해집니다.

Dynamic Workflows는 다음과 같은 방식으로 트리거될 수 있습니다:

  1. 번들된 워크플로우 실행: Claude Code에 내장된 /deep-research와 같은 명령을 사용하여 즉시 실행할 수 있습니다. 이는 여러 소스에서 정보를 웹 검색(WebSearch tool 사용), 교차 검증, 인용된 보고서 생성 등의 작업을 수행합니다.
  2. Claude가 워크플로우를 작성하도록 요청: 프롬프트에 'workflow' 키워드를 포함하면 Claude가 해당 작업을 위한 워크플로우 스크립트를 작성합니다.
  3. ultracode 모드 사용: /effort ultracode를 설정하면 Claude가 세션 내의 모든 실질적인 작업을 위한 워크플로우를 자동으로 계획하고 실행합니다. 이는 xhigh 추론 노력(effort)과 자동 워크플로우 조율을 결합한 것입니다.

워크플로우는 대화와 분리된 격리된 환경에서 백그라운드 런타임에 의해 실행됩니다. 사용자는 /workflows 명령을 통해 실행 중이거나 완료된 워크플로우 목록을 확인하고, 진행 상황 보기를 열어 각 단계의 에이전트 수, 토큰 총계, 경과 시간 등을 모니터링할 수 있습니다. 진행 상황 보기에서는 단계 드릴다운, 에이전트 세부 정보 확인, 실행 일시 중지/재개(p), 선택된 에이전트 중지/다시 시작(r), 워크플로우 스크립트 저장(s) 등의 관리가 가능합니다. 워크플로우 스크립트는 프로젝트 내 .claude/workflows/ 또는 사용자 홈 디렉토리 내 ~/.claude/workflows/에 저장하여 재사용할 수 있으며, /<name>/<name> 형식의 명령어로 실행됩니다.

실행 전 계획 승인(approval) 과정은 CLI 및 Desktop 앱에서 권한 모드(permission modes)에 따라 달라집니다. 기본 모드에서는 사용자에게 스크립트 실행 여부를 묻는 프롬프트가 표시되며, '예, 다시 묻지 않기' 옵션을 통해 특정 프로젝트/워크플로우에 대한 승인을 기록할 수 있습니다. 자동 모드에서는 첫 실행만 프롬프트하며, claude -p나 Agent SDK와 같은 비대화형(headless) 모드에서는 프롬프트 없이 즉시 실행됩니다. 워크플로우 내에서 생성되는 Sub-agents는 항상 acceptEdits 모드로 실행되며 세션의 도구 허용 목록(tool allowlist)을 상속받습니다. 허용 목록에 없는 셸(shell) 명령이나 웹 페치(web fetch) 등은 실행 중에 프롬프트를 발생시킬 수 있습니다.

워크플로우는 많은 에이전트를 생성할 수 있으므로, 단일 실행이 대화 내에서 동일한 작업을 수행하는 것보다 더 많은 토큰을 사용할 수 있습니다. 실행은 요금제 사용량 및 속도 제한에 포함됩니다. /workflows에서 언제든지 실행을 중지할 수 있으며, 일시 중지된 실행은 같은 Claude Code 세션 내에서 재개 가능합니다.

워크플로우 기능은 /config에서, ~/.claude/settings.json 파일의 "disableWorkflows": true 설정으로, 또는 CLAUDECODEDISABLEWORKFLOWS=1CLAUDE_CODE_DISABLE_WORKFLOWS=1 환경 변수를 통해 비활성화할 수 있습니다. 조직 차원에서는 관리 설정(admin settings)을 통해 제어할 수 있습니다. 이 기능이 비활성화되면 번들된 명령이나 'workflow' 키워드, ultracode 모드를 사용할 수 없습니다.