실무 Multi-Agent 오케스트레이션 7장 · 다중 도구 라우팅 1 / 7 ← 이전목차다음 → TechLead Cro

7장. 다중 도구 라우팅

왜 라우팅을 따져야 하는가 — 도구가 늘면 고르는 일이 생긴다

한 줄 요약

6장에서 만든 에이전트는 주문과 배송 정보를 조회할 수 있었습니다. 이번 장에서는 상품 검색과 재고 확인 기능을 추가해 총 네 개의 도구를 사용합니다. 도구가 늘어나면 모델은 고객의 질문에 맞춰 어떤 도구를 사용할지 선택해야 합니다. 이를 라우팅(routing) 이라고 하며, 이번 장에서는 모델이 도구를 적절히 선택하는지 수치로 평가하는 방법을 배웁니다.


1. 6장의 상담원이 답하지 못하는 질문

1장의 문의 로그를 다시 떠올려 봅니다. 40건 중 제품 문의가 10건으로 두 번째로 많았습니다.

  • "텀블러 보온 몇 시간 가나요?"
  • "에어프라이어 재고 있어요?"

6장에서 만든 도구는 get_order_status와 track_shipping 두 개입니다. 둘 다 주문번호를 받아 orders.csv를 봅니다. 위 질문의 답은 그 파일에 없습니다. data/products.csv, 상품 30종이 적힌 다른 파일에 있습니다.

열 뜻 값의 예
product_id 상품ID P008
product_name 상품명 스테인리스 텀블러 500ml
category 카테고리 주방용품
options 옵션 목록 (세로줄 | 로 구분) 실버/단일|블랙/단일|민트/단일
price 가격 18900
stock 재고 수량 150
rating 평점 4.7
description 상품 설명 12시간 보온·보냉. 세척 편한 와이드 입구

이 파일을 읽는 도구 두 개를 더하면 상담원이 제품 문의까지 받을 수 있습니다.


2. 도구가 늘면 새로 생기는 일

도구가 하나일 때 모델의 결정은 "부를까, 말까"뿐입니다. 도구가 네 개가 되면 결정이 하나 더 생깁니다. "넷 중 무엇을 부를까."

고객의 말 불려야 하는 도구
"주문 HR20260620069 배송 어디쯤이에요?" track_shipping
"텀블러 보온 몇 시간 가나요?" search_products
"P008 재고 몇 개 남았어요?" check_stock

들어온 문의를 알맞은 도구로 보내는 일을 라우팅(routing) 이라고 합니다. 길 안내(route)에서 온 말입니다.

여기서 구분해 둘 것이 있습니다.

  • 고르는 것은 모델입니다. 우리 코드에는 if "재고" in question: 같은 분기가 한 줄도 없습니다.
  • 고를 재료를 쓰는 것은 우리입니다. 모델은 우리가 쓴 도구의 이름과 설명을 읽고 고릅니다.

그래서 모델이 엉뚱한 도구를 골랐을 때 고칠 곳은 대개 모델이 아니라 우리가 쓴 설명입니다.


3. 이걸 모르면 무엇을 판단하지 못하는가

  • 답이 이상할 때 도구 안의 코드가 틀린 것인지, 도구를 잘못 고른 것인지 가려내지 못합니다. 둘은 고치는 곳이 전혀 다릅니다.
  • 도구를 하나 더 붙여도 되는지 판단할 근거가 없습니다. 도구는 늘릴수록 좋은 것이 아니라 매 호출의 비용입니다.
  • 설명을 고친 뒤에 나아졌는지 나빠졌는지 알지 못합니다. 답 몇 개를 읽어 보고 "괜찮네" 하는 것으로는 다음 날 같은 결과가 나올지 알 수 없습니다.

4. 이번 장에서 하는 일

순서 하는 일 남는 것
1 상품 검색·재고 확인 도구를 만든다 도구 네 개
2 모델이 도구를 고르는 단서가 무엇인지 본다 설명을 쓰는 기준
3 도구 선언이 토큰을 얼마나 쓰는지 잰다 "도구 수 = 비용"이라는 감각
4 질문마다 기대하는 도구를 적어 두고 맞춰 본다 라우팅 정확도 4/4

이번 장의 산출물은 lesson07_multi_tools.py입니다. 6장에서 만든 lesson06_order_tools.py를 불러와서 씁니다.


핵심 정리

  • 제품 문의의 답은 orders.csv가 아니라 products.csv 에 있습니다. 도구가 더 필요합니다.
  • 도구가 여러 개면 모델은 무엇을 부를지 골라야 합니다. 이것이 라우팅입니다.
  • 고르는 것은 모델, 고를 재료(이름·설명)를 쓰는 것은 우리입니다.
  • 라우팅은 느낌이 아니라 기대 도구와 실제 호출을 맞춰 본 숫자로 확인합니다.
← 6장실습문제와 해답다음 절 →모델은 도구를 어떻게 고르는가 — 이름과 설명이 전부다
오명운 · macro@prag-ai.com