Evergreen
dispatch — 의도 기반 라우팅 패턴
모든 사용자 메시지를 3 에이전트 경쟁으로 최적 스킬에 라우팅. 키워드 매칭이 아닌 의미론적 의도 분석.
- #claude
- #workflow
- #routing
- #ai
왜 라우팅이 필요한가
Claude Code에 30+ 스킬이 있다면, 매번 사람이 "이건 /ship으로, 저건 /review로"를 판단하는 건 사람 속도다. dispatch가 의도를 읽어 최적 스킬을 부르도록 두면 생산성이 기계 속도로 바뀐다.
작동 방식
3 에이전트가 병렬로 판단한다.
- maximizer — 토큰 최대화 편향. "더 깊은 분석이 가능한 스킬은?"
- synergist — 체인 편향. "조합이 1+1>2인가?"
- pragmatist — 의도 매칭. "사용자 발화의 진짜 의도는?"
각자 후보 스킬·예상 성과·놓치기 쉬운 측면을 제시한다. 합의 시 즉시 채택, 이견 시 점수 공식으로 해소.
왜 키워드 매칭이 아닌가
"PR 만들어줘"는 단순 매칭으로 /create-pr에 보내면 된다. 그러나 "이 변경을 어떻게 마무리하지?"는 맥락 의존이다. 의도 기반 판단은 후자도 처리한다.
dispatch가 키워드를 보지 않고 발화의 의미를 본다는 점이 핵심이다. "Redux로 상태관리 추가해줘" 같은 단일 기술 매몰 신호를 감지하면 /personas 비교를 먼저 끼워 넣는다.
함정 세 가지
- 자기 자신 추천 → 무한 루프. dispatch는 자기 자신(
/dispatch)을 절대 제안하지 않도록 규칙으로 막음. - 매번 dispatch 호출 = 토큰 비용. fast route(만장일치 시 점수화 생략)로 절감.
- 단순 확인 응답("네")까지 dispatch 보내면 비효율. PASS 분류 별도.
결정론적 평가가 핵심
dispatch가 채택한 결과를 사람이 매번 검증할 수 없다면 무용지물이다. 그래서 dispatch는 채택 직후 결과 보고(스킬명 + 점수 + 놓치기 쉬운 측면)를 항상 표면화한다. 사람이 "아, 이거 잘못 골랐네"를 1초 안에 발견할 수 있어야 한다.
채택된 스킬이 다시 결정론적 평가 루프를 돌리는 패턴(예: quality-gate)을 이어가면, 사람 개입 없이 자율 검증되는 워크플로우가 완성된다.
3 에이전트가 수렴을 막는다
단일 판단자가 라우팅하면 그 판단자의 편향으로 수렴한다 — 같은 종류 요청을 늘 같은 스킬로 보낸다. 3 에이전트(maximizer·synergist·pragmatist)는 서로 다른 편향을 가져서, 한 관점이 놓친 후보를 다른 관점이 올린다. 단일 모델 수렴을 라우팅 단계에서 깨는 구조다.
핵심은 세 편향이 의도적으로 다르다는 것. 같은 프롬프트로 3개를 돌리면 수렴하지만, 토큰 최대화·시너지·적합성이라는 다른 목적함수를 주면 분산된다.
관련
/notes/deterministic-loop — 라우팅 결정 자체를 사람 개입 없이 /notes/codex-competition — 라우팅 외 모든 작업도 경쟁으로 /notes/quality-gate-loop — 채택된 스킬이 다시 평가 루프 /notes/ai-output-mode-collapse — 다른 목적함수로 수렴 회피 /essays/delegation-autonomy-calibration — 라우팅 자동화도 자율성 보정의 일부 /cases/dispatch-routing-system — 이 패턴을 실제 시스템으로 구축한 케이스 /essays/ai-workflow-chains — 라우팅이 워크플로우 체인의 입구 /cases/claude-md-meta-system — dispatch를 강제하는 CLAUDE.md 메타 시스템 케이스