본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 04. 09:13

동일한 에이전트 워크플로우, 세 가지 모델 경로: 실제 Crazyrouter 벤치마크

요약

동적 에이전트 워크플로우에서 각 단계별로 최적의 모델을 배치하는 라우팅 전략을 Crazyrouter 벤치마크를 통해 분석합니다. 단일 강력한 모델 사용과 단계별 모델 분리 방식의 성능, 지연 시간, 비용 효율성을 비교합니다.

핵심 포인트

  • 에이전트 워크플로우의 각 단계(Planner, Implementer 등)에 적합한 모델 라우팅 필요성 제시
  • Crazyrouter를 활용한 실제 작업 기반의 모델 경로 성능 벤치마크 수행
  • 모델 구성에 따른 지연 시간, 토큰 사용량, 최종 점수의 상관관계 확인
  • 단순 추측이 아닌 데이터 기반의 모델 라우팅 전략의 중요성 강조

동일한 에이전트 워크플로우, 세 가지 모델 경로: 실제 Crazyrouter 벤치마크

동적 워크플로우 (Dynamic workflows)는 흥미롭지만, 실질적인 질문을 던지게 합니다: 각 단계를 어떤 모델이 실행해야 하는가?

만약 워크플로우에 플래너 (planner), 구현자 (implementer), 적대적 검토자 (adversarial reviewer), 그리고 검증자 (verifier)가 있다면, 모든 단계를 하나의 강력한 모델로 경로를 지정 (route)할 수 있습니다. 또는 각기 다른 단계를 서로 다른 모델로 경로를 지정할 수도 있습니다.

잘못된 답은 추측하는 것입니다.

그래서 우리는 Crazyrouter를 통해 작은 실제 벤치마크를 실행했습니다.

Dynamic workflow routing benchmark

테스트 설정 (Test setup)

우리는 Crazyrouter의 OpenAI 호환 엔드포인트 (OpenAI-compatible endpoint)를 사용했습니다:

워크플로우 작업은 다음과 같았습니다:

사용자 수준 권한 부여, 시간대 안전 타임스탬프 (timezone-safe timestamps), CSV 이스케이핑 (CSV escaping), 테스트 및 롤백 노트를 포함하여 계정 결제 내역에 대한 CSV 내보내기 기능을 추가하십시오.

워크플로우는 네 단계로 구성되었습니다:

  1. 플래너 (planner)
  2. 구현자 (implementer)
  3. 적대적 검토자 (adversarial reviewer)
  4. 검증자 (verifier)

우리는 세 가지 라우팅 정책 (routing policies)을 테스트했습니다:

정책 (Policy)플래너 (Planner)구현자 (Implementer)검토자 (Reviewer)검증자 (Verifier)
all_opus_47claude-opus-4-7claude-opus-4-7claude-opus-4-7claude-opus-4-7
...

원시 벤치마크 결과물 (Raw benchmark artifact):

generated/dynamic_workflow_routing_20260603/benchmark_results.json

결과 (Results)

경로 (Route)호출 횟수 (Calls)총 지연 시간 (Total latency)총 토큰 (Total tokens)출력 토큰 (Output tokens)점수 (Score)
all Opus 4.74100.939s8,8535,97714/17
...

이번 실행에서는 all_opus_48이 지연 시간, 총 토큰, 그리고 점수 측면에서 승리했습니다.

이것이 모든 워크플로우가 모든 곳에서 Opus 4.8을 사용해야 한다는 의미는 아닙니다. 라우팅에는 근거가 필요하다는 뜻입니다.

점수가 측정한 것

이것은 일반적인 벤치마크가 아니었습니다. 각 워크플로우 단계에는 단계별 특정 체크 항목이 있었습니다.

예를 들어:

  • planner(기획자)는 영향받는 파일, 리스크, 수락 기준, 테스트, 롤백(rollback)이 필요했습니다;
  • implementer(구현자)는 CSV 처리, 권한 부여, 타임스탬프, 테스트가 필요했습니다;
  • reviewer(검토자)는 보안, 개인정보 보호, 테스트, 롤백이 필요했습니다;
  • verifier(검증자)는 명령어, 테스트, 증거, 검사가 필요했습니다.

점수는 단순한 키워드 기반의 품질 게이트(quality gate)였습니다. 이것이 완벽한 인간 평가(human evaluation)는 아니지만, 출력이 요구되는 워크플로우(workflow) 관련 사항들을 다루었는지 여부를 포착해냅니다.

이것이 중요한 이유

동적 워크플로우(Dynamic workflows)는 모델 호출 횟수를 배가시킬 수 있습니다.

단순한 AI 코딩 요청은 다음과 같이 변할 수 있습니다:

planner 호출
+ implementer 호출
+ reviewer 호출
...

항상 가장 비싼 모델을 사용한다면 비용이 빠르게 증가할 수 있습니다. 반대로 항상 가장 저렴한 모델을 사용한다면 실패와 재시도(retries)가 빠르게 증가할 수 있습니다.

유용한 지표는 토큰 가격이 아닙니다.

유용한 지표는 다음과 같습니다:

성공적인 워크플로우당 비용 및 지연 시간 (cost and latency per successful workflow)

우리가 배운 것

1. 이 워크플로우에서는 Opus 4.8이 더 빨랐습니다

모두 4.8을 사용하는 경로(all-4.8 route)는 82.598초 만에 완료되었습니다. 모두 4.7을 사용하는 경로(all-4.7 route)는 100.939초가 걸렸습니다.

동일한 4단계 워크플로우에서 18.341초의 차이가 발생한 것입니다.

단일 호출(single call)에서는 이것이 중요하지 않을 수 있습니다. 하지만 많은 워크플로우 단계가 있는 백그라운드 에이전트 시스템(background agent system)에서는 이것이 중요합니다.

2. 혼합 라우팅(Mixed routing)은 근접했으나, 여기서는 더 낫지 않았습니다

혼합 경로(mixed route)는 기획/검토에는 4.7을 사용하고 구현/검증에는 4.8을 사용했습니다.

이 경로는 15/17점을 기록하여 모두 4.8을 사용한 경우와 동일했으나, 85.975초가 소요되었고 8,652개의 토큰을 사용했습니다.

이 역시 좋은 결과입니다. 하지만 이번 실행에서는 모두 4.8을 사용하는 것이 더 단순하고 약간 더 나았습니다.

3. 정적 규칙(Static rule)은 위험합니다

다른 작업은 다른 경로를 선호할 수 있습니다. 보안 검토, 법률 요약, 긴 문맥 추출(long-context extraction), 프론트엔드 구현, 테스트 생성 등은 모두 동일한 작업 부하(workload)가 아닙니다.

핵심은 "항상 모델 X를 사용하라"가 아닙니다.

핵심은 워크플로우 추적(workflow trace)을 생성하고, 실제 작업 유형에 따라 모델 경로를 비교하는 것입니다.

최소 재현 코드 (Minimal reproduction code)

from openai import OpenAI

client = OpenAI(
...

API 베이스 URL(base URL)을 깔끔하게 유지하세요. 코드 엔드포인트에 UTM 파라미터를 추가하지 마세요.

권장되는 워크플로우 라우팅 관행 (Recommended workflow routing practice)

다음 루프(loop)로 시작하세요:

  1. 워크플로우 단계(workflow steps) 정의
  2. 단계별 성공 체크(success checks) 정의
  3. 2~3개의 라우팅 정책(routing policies)에 걸쳐 동일한 작업 실행
  4. 모델, 지연 시간(latency), 토큰(tokens) 및 점수(score) 기록
  5. 모델에 대한 유행(hype)이 아닌, 성공적인 워크플로우 결과에 기반하여 경로(route) 선택

게이트웨이(gateway)를 사용하면 애플리케이션 코드가 모델 ID를 변경하면서도 동일한 클라이언트와 베이스 URL(base URL)을 유지할 수 있으므로 이를 실무에 적용하기 용이합니다.

Crazyrouter가 이 패턴에 적합한 이유

동적 워크플로우(Dynamic workflows)에는 세 가지가 필요합니다:

  • 모델의 다양성 (model variety)
  • 중앙 집중식 라우팅 (centralized routing)
  • 추적 가능한 사용량 (traceable usage)

Crazyrouter는 여러 모델에 대해 하나의 OpenAI 호환 API 인터페이스(API surface)를 제공합니다. 이를 통해 각 제공업체(provider)에 맞춰 제품을 다시 작성할 필요 없이 플래너(planner)/리뷰어(reviewer)/검증기(verifier) 경로를 더 쉽게 테스트할 수 있습니다.

AI 코딩이 단일 에이전트 채팅(single-agent chats)에서 오케스트레이션된 워크플로우(orchestrated workflows)로 이동함에 따라 이는 더욱 중요해집니다.

최종 결론

동적 워크플로우는 단순히 Claude Code나 Codex의 기능이 아닙니다. 이는 하나의 엔지니어링 패턴(engineering pattern)입니다.

작업을 플래너(planner), 구현자(implementer), 리뷰어(reviewer), 검증기(verifier)로 분리하고 나면, 모델 선택은 라우팅 문제(routing problem)가 됩니다.

이번 실행에서는 모든 과정에서 Opus 4.8이 가장 좋은 경로였습니다. 귀하의 워크플로우에서는 혼합된 경로(mixed route)가 될 수도 있습니다. 이를 알 수 있는 유일한 방법은 측정하는 것입니다.

여기에서 모델 라우팅을 시도해 보세요: Crazyrouter

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0