Claude Code Routines와 병렬 에이전트 자동화 구조

Claude Code 데스크톱 앱의 Routines가 이벤트로 작업을 시작하고, 격리된 병렬 에이전트 세션을 조율하는 구조와 활용 패턴을 설명한다.

2026-08-14 · 최초 발행 2026-05-24

반복 작업을 이벤트에 연결하는 Routines

2026년 Anthropic은 Claude Code 데스크톱 앱을 병렬 에이전트 운영에 맞게 전면 재설계하고 Routines를 리서치 프리뷰로 공개했다. Routines는 프롬프트와 레포지토리, 커넥터를 묶은 작업을 스케줄이나 API 호출, GitHub 이벤트에 따라 지속 실행하는 자동화 프레임워크다.

GitHub, 스케줄, API에서 실행이 시작된다

실행을 기동하는 이벤트 소스는 세 가지다. GitHub 이벤트 구독은 풀 리퀘스트 생성, 이슈 등록, 커밋 푸시와 같은 웹훅을 Claude Code 런타임으로 전달한다. 크론 기반 트리거는 일별·주별·월별 작업을 예약하며, 외부 API 훅은 사용자 정의 엔드포인트를 통해 다른 시스템에서 Routine을 호출할 때 사용한다.

이벤트 소스GitHub WebhookCron 스케줄러API 엔드포인트이벤트 라우터이벤트 타입 분류PR 이벤트 핸들러스케줄 이벤트 핸들러커스텀 이벤트 핸들러Routine 실행에이전트 디스패처Claude Code 에이전트인스턴스 (1)Claude Code 에이전트인스턴스 (2)Claude Code 에이전트인스턴스 (N)

중앙의 이벤트 라우터는 들어온 이벤트 타입과 페이로드를 해석해 알맞은 핸들러로 보낸다. 핸들러는 YAML 또는 JSON 형식의 Routine 정의 파일에서 프롬프트 템플릿, 대상 레포지토리, 커넥터 설정을 읽어 실행 컨텍스트를 만든다.

커넥터와 실행 상태를 하나의 파이프라인으로 다룬다

Routines가 외부 시스템과 데이터를 주고받는 경계에는 커넥터가 있다. GitHub, Jira, Slack, 사용자 정의 REST API 커넥터를 파이프라인으로 연결할 수 있으며, 각 커넥터는 입출력 스키마를 명시해 타입 안전성을 확보한다.

Routine 정의 파일커넥터 레지스트리GitHub 커넥터Slack 커넥터Jira 커넥터Custom REST 커넥터파이프라인 실행 엔진상태 저장소실행 상태PENDINGRUNNINGCOMPLETEDFAILED재시도 스케줄러

각 실행 인스턴스의 상태는 내구성 있는 키-값 저장소에 영속화하며, 기본적으로 SQLite를 사용한다. 시스템이 중단됐다가 다시 시작되면 RUNNING 상태였던 작업을 찾아 체크포인트부터 이어가거나 설정된 정책에 따라 다시 실행한다. 재시도에는 지수 백오프가 기본으로 적용되고, 최대 재시도 횟수와 타임아웃은 Routine별로 정할 수 있다.

병렬화의 출발점은 세션 격리다

데스크톱 앱 재설계의 중심에는 다중 에이전트 세션을 완전히 분리하는 구조가 있다. 에이전트 인스턴스마다 독립된 컨텍스트 윈도우와 파일 시스템 샌드박스, 환경 변수 집합을 배정하며 인스턴스끼리 메모리를 직접 공유하지 않는다.

세션 매니저세션 (A): PR 리뷰세션 (B): 테스트 생성세션 (C): 문서 업데이트컨텍스트 A레포: frontend브랜치: feature/auth컨텍스트 B레포: frontend브랜치: feature/auth컨텍스트 C레포: docs브랜치: main파일 시스템 샌드박스 A파일 시스템 샌드박스 B파일 시스템 샌드박스 C공유 결과 집계 버스

격리는 두 수준에서 이뤄진다. 프로세스 수준에서는 각 인스턴스를 별도 프로세스 또는 컨테이너에서 실행해 메모리 오염을 차단한다. 파일 시스템 수준에서는 인스턴스마다 임시 작업 디렉토리를 주고, 필요한 소스 코드를 읽기 전용 마운트나 체크아웃 복사본으로 제공한다.

작업 DAG가 병렬 실행 순서를 결정한다

중앙 오케스트레이터는 작업 그래프인 Task DAG를 읽어 선행 관계를 해소한다. 다른 작업의 결과를 기다릴 필요가 없는 노드는 에이전트 풀로 동시에 디스패치한다.

작업을 마친 에이전트는 구조화된 출력을 공유 결과 버스에 게시한다. 오케스트레이터는 병렬 세션이 모두 끝난 뒤 결과를 합쳐 최종 보고서를 만들거나 다음 작업 단계의 입력으로 넘긴다. 세션은 격리하되 결과가 모이는 경로는 중앙화한 셈이다.

같은 파일을 고쳤을 때의 충돌 처리

여러 세션이 같은 파일을 동시에 수정하면 변경 충돌이 생길 수 있다. Claude Code는 낙관적 잠금을 기본 전략으로 사용하며, 충돌을 감지하면 세 가지 방식 가운데 하나로 처리한다.

변경 지점이 서로 다른 코드 영역이라면 구조적 자동 병합을 시도한다. 작업 중요도나 시간 순서로 변경 하나를 선택하는 우선순위 기반 방식도 있으며, 선택되지 않은 변경은 재작업 큐에 들어간다. 자동으로 풀 수 없는 충돌은 사용자에게 알림을 보내 검토를 요청하는 Human-in-the-Loop 단계로 넘긴다.

개발 흐름에 Routines를 붙이는 방식

풀 리퀘스트 검토와 빌드 실패 대응

코드 리뷰는 Routines를 바로 적용할 수 있는 영역이다. 풀 리퀘스트가 만들어지면 GitHub 이벤트가 Routine을 시작하고, Claude Code 에이전트는 변경 내용을 읽어 보안 취약점과 성능 저하 패턴, 코딩 표준 위반을 찾은 뒤 리뷰 코멘트로 게시한다.

"Slack""Claude Code 에이전트""Routines 런타임""GitHub""개발자""Slack""Claude Code 에이전트""Routines 런타임""GitHub""개발자""PR 생성""pull_request 웹훅""코드 리뷰 Routine 기동""변경 파일 Diff 조회""보안/성능/스타일 분석""리뷰 코멘트 게시""완료 상태 보고""리뷰 완료 알림"

CI/CD에서는 빌드 실패를 자동 디버깅 Routine의 트리거로 삼는다. 에이전트가 테스트 실패 로그를 분석해 근본 원인을 진단하고, 수정 패치를 제안하거나 직접 적용한다. 개발자가 실패를 확인하기 전부터 수정 방향을 준비할 수 있는 흐름이다.

일정에 맞춘 리포트와 레포지토리 거버넌스

스케줄 트리거는 반복 점검에도 맞는다. 주간 기술 부채 리포트라면 매주 월요일 오전에 Routine을 실행해 지정한 레포지토리의 의존성 취약점, 미사용 코드, 복잡도 지표를 모을 수 있다. 수집 결과로 Jira 이슈를 자동 생성하고 팀 Slack 채널에는 요약 보고서를 게시한다.

엔터프라이즈 환경에서는 Routines를 다중 레포지토리 거버넌스에 적용하는 사례가 늘고 있다. 수십~수백 개 레포지토리에서 라이선스 컴플라이언스, 시크릿 누출, API 버전 호환성을 병렬 에이전트로 동시에 점검해 소요 시간을 대폭 줄이는 방식이다. 레포지토리마다 하나의 에이전트 세션을 할당하고 결과는 중앙 대시보드에 집계한다.

Claude Code 데스크톱 앱과 Routines의 조합은 코딩 보조 기능을 이벤트 기반 자동화 흐름으로 확장한다. 세션 격리와 결과 집계가 함께 작동하므로 반복 개발 작업을 병렬로 나누면서도 전체 결과를 한곳에서 다룰 수 있다. Routines가 리서치 프리뷰 단계라는 점을 감안해도 CI/CD 통합과 코드 리뷰 자동화에는 즉시 적용할 수 있는 실용적 가치가 있다.

Sources

Claude CodeRoutines병렬 에이전트개발 자동화에이전트 오케스트레이션