Dispatch 저장소는 자율 코딩 에이전트가 만든 변경을 사업 전략에 따라 평가하고 배포하는 Git 플랫폼이다. 공개 데모에서는 배포 대기열과 전략 설정을 살펴볼 수 있으며, 상태 변경 기능은 인증 키가 필요하다.
Dispatch는 기존 Git 플랫폼이 코드 변경분(diff)은 기록하지만 변경을 만든 이유와 사업 가치는 놓친다고 설명한다. 전통적인 개발에서는 엔지니어링 시간이 제한되고, 개발 전 제품 관리자가 작업을 엄격히 걸러내며, 풀 리퀘스트(PR)가 제출된 뒤에는 이미 들인 비용 때문에 병합하려는 편향이 생긴다는 게 프로젝트의 진단이다.
자율 코딩 에이전트가 도입되면 구현 비용은 거의 0에 가까워지고, 수백 개의 기능·성능 개선·취약점 패치를 여러 브랜치와 저장소에서 동시에 만들 수 있다고 Dispatch는 전제한다. 이때 새 병목은 검토 용량, 변경 영향 범위 통제, 동시 변경 충돌, 의존성 조정, 전략과의 정렬이다. 이에 따라 Dispatch는 PR을 반드시 병합해야 하는 약속이 아니라 실행 가능한 옵션 계약으로 다룬다. 매출 성장, 비용 효율, 위험 감소라는 사업 전략에 따라 변경을 계속 평가하고 조정해 배포하는 방식이다.
전략 설정과 변경 우선순위
경영진과 엔지니어링 책임자는 성장·비용·위험 설정값을 조정해 조직의 출시 우선순위를 실시간으로 바꿀 수 있다. 성장 설정은 엔터프라이즈 SAML/SSO 계약, 다중 통화 결제, 규정 준수 내보내기를 우선시하고, 비용·효율 설정은 엣지 KV 캐싱, 데이터베이스 쿼리 묶음 처리, 네트워크 페이로드 압축을 우선시한다. 위험·보안 설정은 제로데이 CVE 패치, 엣지 속도 제한, 매개변수 정제를 앞세운다.
설정 다이얼을 움직이면 브라우저에서 종합 점수를 다시 계산한다. 선택한 가중치는 localStorage와 D1의 POST /api/weights를 사용하는 이중 저장 방식으로 보존돼 페이지를 새로고침해도 유지된다.
Dispatch는 PR을 서로 독립된 변경분이 아니라 의존 관계가 있는 아키텍처 그래프의 노드로 취급한다. 예를 들어 SOC2 Audit Logging에 Enterprise SAML SSO가 필요하다면, 순위 산정기가 선행 변경을 종속 변경보다 먼저 함께 배정하거나 DAG 경고(dagWarnings)를 표시한다. 대기열에서는 의존 PR을 선행 항목 아래 트리 형태로 묶고, #1, 1.1, 1.2 형식으로 순위를 표시한다. 패키지에는 DAG ROOT, ↳ REQUIRES: <prereq>, 이미 병합된 항목의 ✓ BASELINE 같은 상태 태그가 붙는다.
순위 산정기가 후보 배포 묶음에 넣은 PR에는 주황색 ● IN BATCH 표시와 왼쪽 강조 테두리가 나타난다. 전략 설정을 조정하면 후보 선택과 ARR, 효율, 위험 감소의 누적 영향 지표가 실시간으로 바뀐다. 행의 위치 변경에는 First-Last-Invert-Play(FLIP) 전환을 사용하며, getBoundingClientRect()와 GPU 변환(translateY)으로 움직임을 표현한다. 빠른 다이얼 조정은 requestAnimationFrame으로 화면 갱신을 제한해 60fps/120fps 전환을 목표로 한다.
에이전트 작업과 충돌 조정
Cloudflare Artifacts를 이용해 에이전트가 만든 작업을 기준 저장소 dispatch-main에서 갈라진 임시 포크로 분리한다. 포크 이름은 task-* 형식이며, 저장소 설명에 따르면 네이티브 Workers 바인딩 env.ARTIFACTS를 통해 밀리초 단위로 생성된다. 대시보드는 복제 URL, 커밋 SHA, 기준선 참조와 빠른 전진 병합·정리 로그를 실시간 인프라 텔레메트리에 표시한다. 기준선 표기 예시는 dispatch-main @ v1.0.0-baseline [b92e104]이다.
Workers AI는 @cf/meta/llama-3.3-70b-instruct-fp8-fast를 사용해 새 작업 패키지와 즉석에서 작성한 사양을 엣지에서 평가한다. ARR 위험, CVE 심각도, P95 지연 시간 같은 상업적 메타데이터와 통합 코드 변경분을 함께 분석해 성장·비용·위험 각 항목에 -100부터 +100까지 점수를 매기고, 경영진이 읽을 수 있는 요약을 생성한다.
동시에 높은 우선순위를 받은 포크가 같은 파일을 바꾸면 Dispatch는 충돌을 감지하고 reconcile-* 형식의 별도 조정 포크를 만든다. 이어 Workers AI를 호출해 3방향 추상 구문 트리(AST) 통합을 수행하고 두 작업의 사업 목적을 보존한 구현을 합성한다. 프로젝트는 이 과정에서 사람이 개입하지 않고도 전통적인 텍스트 충돌 표시인 <<<<<<< HEAD를 남기지 않는다고 설명한다.
배포 묶음 산정기는 조직의 출시 용량 안에서 의존 관계가 유효하고 서로 충돌하지 않는 작업 패키지 조합을 찾는다. 승인된 패키지는 한 번의 동작으로 출시 흐름에 병합하고 D1에 감사 기록을 남긴 뒤 임시 포크를 자동 정리한다. 환경 초기화 기능은 임시 포크와 충돌 조정 기록을 지우고 기준 카탈로그를 다시 구성하며 기본 전략 설정을 복원한다. 프로젝트 설명에 따르면 초기화에는 2초 미만이 걸린다.
구성과 이용 조건
Dispatch 대시보드는 전략 설정, 충돌·사용자 지정 사양을 포함한 후보 배치, 실시간 인프라 텔레메트리, 동적 배포 대기열로 구성된다. 대기열에는 순위, 종합 점수, 사업 맥락, 영향 지표, 저장소 포크 이름, 배치 여부와 READY, COLLISION, RECONCILED, DEPLOYED 상태가 표시된다. 별도의 텔레메트리 콘솔은 Workers API 실행, D1 쿼리, Artifacts 포크 작업, Workers AI 추론을 기록한다. 패키지 상세 창에서는 출처 맥락, 지표별 점수, DAG 선행 조건, Artifacts 원격 URL과 코드 변경분을 확인할 수 있다. 화면은 밝고 어두운 운영체제 테마를 따르며 수동 전환도 지원한다.
공개 데모에서는 인증 없이 대기열을 둘러보고 전략 다이얼을 조정하며 작업 패키지와 실시간 텔레메트리를 볼 수 있다. 다만 Workers AI 추론, 의미 기반 충돌 조정, 배치 배포, 환경 초기화처럼 상태를 변경하거나 계산량이 큰 기능은 설정 가능한 Worker 비밀 키 DEMO_ACCESS_KEY로 인증해야 한다. 남용 방지를 위해 Worker 내부 요청 제한도 적용한다. AI 요청은 분당 8회, 초기화 요청은 분당 10회로 제한하며 자동 스크래퍼 차단 기능도 둔다.
직접 설치하기
직접 배포하려면 Node.js 18 이상, Workers·D1·Workers AI·Artifacts를 사용할 수 있는 Cloudflare 계정, 인증된 Cloudflare Wrangler CLI가 필요하다. Wrangler 인증은 npx wrangler login으로 진행한다. 저장소를 내려받고 의존성을 설치한 뒤 초기 설정 스크립트를 실행한다.
git clone https://github.com/gshaheen/dispatch.git
cd dispatch
npm install
npm run setup
설정 스크립트는 Cloudflare 인증 정보를 확인하고 dispatch-db D1 데이터베이스를 만들고 연결한다. 이어 schema.sql을 적용해 다차원 Intent Catalog를 채우고, 기준 SaaS 저장소와 Cloudflare Artifacts를 구성한다.
개발 환경에서는 Miniflare 시뮬레이션으로 실행하고 Cloudflare Workers에 배포할 수 있다.
# Run locally with Miniflare simulation:
npm run dev
# Deploy to Cloudflare Workers edge:
npm run deploy
배포 환경의 상태 변경을 보호하려면 접근 키를 설정한다.
npx wrangler secret put DEMO_ACCESS_KEY
프로젝트는 MIT 라이선스로 제공된다. 자세한 조건은 LICENSE에서 확인할 수 있다.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요