TypeSafe Jev 시리즈 6/10 — 고정된 옵션 중 하나를 고르는 Choice | DAKER 커뮤니티

Choice는 답이 정해진 후보 가운데 하나로 떨어져야 할 때 유용한 질문 유형입니다. 티켓을 어느 팀으로 보낼지, 상품을 어떤 카테고리로 분류할지, 코드 언어를 무엇으로 볼지처럼 선택지가 이미 있는 문제에서 특히 잘 맞습니다.
이번 글에서는 Choice를 언제 쓰는지, 요청과 응답이 어떻게 생겼는지, 그리고 여러 질문을 한 번에 묶어 라우팅에 활용하는 방법까지 원문 기준으로 간단히 정리합니다.
Choice는 언제 쓰는가
Choice는 정의된 집합에서 옵션 하나를 고르는 System One 질문 유형입니다. 답에는 선택된 옵션, 옵션별 확률, confidence가 포함됩니다.
답이 고정 집합 중 하나일 때 Choice를 쓰면 됩니다.
예를 들어 티켓 담당 팀, 상품 카테고리, 코드 언어처럼 결과가 미리 정해진 보기 중 하나여야 할 때 적합합니다. 반대로 값이 연속적인 스펙트럼에 가깝다면 Score, 예/아니오 판단이라면 Noul이 더 잘 맞습니다.
요청 구조는 어떻게 생기는가
요청에는 세 가지 핵심 요소가 들어갑니다.
type: 항상"choice"instructions: 모델이 답할 질문criteria: 옵션 이름 → 설명 맵. 옵션 이름과 설명 모두 모델에 전달됩니다.
질문 id는 예를 들어 department처럼 직접 정하면 되고, 같은 id로 답이 돌아옵니다. 이 id는 모델에 보이지 않습니다.
응답에서 봐야 할 필드
응답에는 대표적으로 세 필드가 들어 있습니다.
choice— 확률이 가장 높은 옵션probabilities— 모든 옵션 분포(합=1)confidence— 분포가 얼마나 뾰족한지(0–1)
confidence는 여러 옵션에 확률이 퍼져 있으면 낮아지고, 한 옵션에 확률이 몰리면 높아집니다.
confidence는 정답 여부가 아니라 분포가 얼마나 한쪽으로 모였는지를 보여줍니다.
문서 예시에서는 쉬운 티켓이 returns에 확률이 몰려 confidence 1.0이 됩니다. 반대로 사이즈 문제와 환불 이슈가 함께 있으면 returns와 billing으로 분포가 갈라지고 confidence가 낮아집니다.
여러 Choice를 한 번에 묻는 방법
필요한 Choice는 한 요청에 모두 넣어 물을 수 있습니다. 질문은 병렬 평가되고, 옵션은 최대 255개까지 받을 수 있습니다. 그래서 팀이나 카테고리 전체 목록을 주는 편이 낫습니다.
다만 목록이 완전하지 않을 수 있다면 other 또는 none of the above 같은 옵션을 함께 두는 것이 좋습니다.
스펙큘러티브 질문과 코드 라우팅
문서의 복잡한 지원 예시에서는 department, return_reason, shipping_issue, requested_resolution, tone을 한 번에 묻습니다. 이후 코드는 필요한 답만 골라 씁니다. 예를 들어 return_reason은 department가 returns일 때만 사용하고, shipping_issue는 shipping일 때만 사용합니다.
confidence가 낮으면 수동 트리아지로 보내거나 고객에게 다시 물어보는 흐름으로 연결할 수 있습니다. 또 확률 0.25를 넘는 두 번째 팀에 알림 복사본을 보내는 식으로, 일반적인 if 로직과 함께 쓰는 방식입니다.
Choice는 하나의 답만 고르는 데서 끝나지 않고, 확률 분포와 confidence를 바탕으로 후속 라우팅 로직까지 설계할 수 있습니다.
헷갈리는 옵션은 설명을 구조화하는 편이 낫다
옵션끼리 경계가 비슷하면 단순 문자열 설명보다 구조화된 객체를 쓰는 편이 좋습니다. 예를 들어 무엇을 다루는지, 무엇은 해당하지 않는지, 어떤 예시가 있는지를 나눠 적을 수 있습니다.
이때 what, not_for, examples 같은 필드 이름은 API 예약어가 아니라 직접 정하는 값입니다.
마무리
Choice는 고정된 보기 중 하나를 골라야 하는 문제를 다룰 때 가장 기본적이면서도 실용적인 도구입니다. 특히 여러 질문을 한 번에 평가하고, 확률 분포와 confidence를 함께 받아 후속 분기 로직에 연결할 수 있다는 점이 핵심입니다.
참고 자료
이전: 5/10 Choice·Score·Noul 세 가지 · 다음: 7/10 스펙트럼 위치와 확률
여러분이라면 Choice의 confidence 임계값을 어느 정도로 두는 편이 적절하다고 보시나요?