현재 사내 비즈니스 자동화 에이전트에서, 저희는 프롬프트를 적절한 에이전트로 라우팅합니다. 이는 에이전트 라우터를 사용하여 수행됩니다.
핵심 요약: 프롬프트가 활성 에이전트에 도달하기 전에, 두 개의 작은 로컬 모델이 하나의 질문을 던집니다: 이것이 올바른 에이전트인가? '예'라고 하면 프롬프트는 유지되고, 둘 다 '아니오'라고 하면 Kev-4B가 전환할 세 가지 최고의 에이전트를 선택합니다. 데이터는 외부로 나가지 않으며, 호출 비용은 $0입니다.
Router flow: the prompt goes in parallel to bge-small and Kev-4B
두 개의 모델을 사용하는 이유
- bge-small (6 ms)은 속하지 않은 프롬프트를 포착하는 데 매우 정확합니다. 하지만 적절한 에이전트를 선택하는 것에는 능숙하지 않습니다(저희 실험에서).
- Kev-4B (로컬, ~0.12 s)는 속하지 않은 프롬프트를 호출하는 능력은 bge-small보다 약간 낮지만, 올바른 대상 에이전트를 선택하는 데 능합니다: 97%의 프롬프트에서 Kev-4B가 상위 3개 안에 들었으며, 이는 bge-small의 94% 대비 수치입니다.
- Jev는 두 가지 측면 모두에서 가장 정확하지만, 네트워크를 통해 실행되며 프롬프트가 외부로 나갑니다. 따라서 구성 가능한 대안으로 유지됩니다.
결과 *4
150개의 에이전트 목표(agent-goals) *3, 각 100개의 세 가지 유형의 프롬프트를 사용했습니다: 목표에 맞는 경우(on-goal), 다른 에이전트에 속하는 경우(other-goal), 그리고 어떤 에이전트에도 속하지 않는 경우(out-of-scope). 에이전트의 목표와 일치하지 않는 프롬프트는 off-goal이며, 따라서 other-goal과 out-of-scope 모두 off-goal에 해당합니다.
- 탐지(Detection): off-goal 프롬프트를 플래그 지정합니다.
- 오경보(False alarm): on-goal 프롬프트를 잘못 플래그 지정합니다.
- 프롬프트의 올바른 에이전트(Right agent for the prompt): other-goal 프롬프트를 정확한 에이전트로 전송합니다.
| 옵션 | 탐지 (Detection) | 오경보 (False alarm) | 프롬프트의 올바른 에이전트 | 지연 시간 (Latency) *1 | 호출당 비용 (Cost / call) |
|---|
| Jev (top-10 shortlist) | ~100% | 1% | 91% | ~0.46 s (network) | ~$0.00003 |
| ... | | | | | |
| Out-of-scope 프롬프트: Kev는 100개 중 99개를 플래그 지정하고, 80개에 대해서는 올바하게 아무런 제안도 하지 않았습니다. | | | | | |
*1 측정은 단일 머신(RTX 5070)에서 수행되었습니다. Jev의 지연 시간에는 네트워크가 포함됩니다.
⚠️ *2 사용된 모델은 파인튜닝(fine-tuning)되지 않은 원본 상태입니다.
⚠️ *3 합성 데이터(직접 작성한 비즈니스 프롬프트)와 CLINC150 (공개 의도 데이터셋)을 사용했습니다. 실제 고객 프롬프트나 사용 환경에서 배포 테스트를 거치지 않았습니다.
⚠️ *4 데이터셋이 제한적이므로, 제시된 수치는 낙관적일 수 있습니다.