요약:
Google은 11월 11일에 Gemini Decisions API를 공개했으며, 다음 날 Perplexity는 Decider v1.3의 오픈 웨이트(open-weight) 모델을 공개했습니다. 두 서비스 모두 고정된 선택지로부터 판단하는 과정을 텍스트 생성과 분리하여, 에이전트(Agent) 단계 이전에 라우팅(routing), 검사(checking), 필터링(filtering) 역할을 수행하는 데 적합합니다. 주목할 만한 점은 '답변문을 하나 줄일 수 있다'는 것 그 자체가 아니라, 단 한 번의 순전파(forward pass), 질문 간 분리, 그리고 교정 가능한 임계값(threshold)을 제공한다는 것입니다. 본 글에서는 그 작동 방식과 관리형 서비스(managed service)와 자체 호스팅(self-hosted)의 트레이드오프를 정리하고, 먼저 판단한 후 필요에 따라 생성 모델을 호출하는 코드를 소개합니다.
그림 주: 필자가 Google의 발표 및 Decider 관련 기사를 바탕으로 정리한 개념도입니다. 제품 스크린샷이 아닙니다.
같은 주인 11월 11일, Google은 Gemini Decision 1을 사용하는 Decisions API를 공개했습니다. 이어 11월 12일에는 Perplexity가 Decider v1.3과 Flash v1.3을 공개했으며, Apache-2.0 라이선스로 오픈 웨이트(open-weight) 형태로 제공하고 있습니다. 이 모델들은 관리형 API에서도 이용할 수 있습니다. 전자는 도구 선택(tool selection), 정책 검사(policy check), 모델 라우팅(model routing), 컨텍스트 스코어링(context scoring) 등을 예상하며, 후자 역시 마찬가지로 판단을 독립적인 기능으로 제공합니다. 출처: Google, Unite.AI
필자의 고찰:
에이전트는 많은 경우 검색할지, 담당 인력에게 이관할지, 아니면 생성 모델을 호출할 가치가 있는지 등을 먼저 결정해야 합니다. 분기 지점이 제한된 이러한 판단들을 모두 자연어 문장으로 출력할 필요는 없습니다. 의사결정 레이어(decision layer)의 가치는 업무상의 분기에 명확한 인터페이스를 제공하는 데 있습니다. 자유로운 설명이나 콘텐츠 생성은 계속해서 생성 모델이 담당합니다.
Google의 문서에서는 텍스트 생성과 분석이 가져오는 지연 시간(latency) 및 처리 로직의 취약성을 명확히 지적하고 있습니다. Decisions API는 텍스트 토큰을 생성하지 않고, 타입화된 답변(typed answer)을 직접 반환합니다.
noul은 '예'일 확률,
choice는 고정된 선택지 및 그 확률,
score는 순서가 매겨진 평가 단계에 확률로 가중치를 부여한 점수를 반환합니다. Google이 발표한 엔드투엔드 레이턴시(end-to-end latency)는 150~250 ms입니다. 이는 제공처의 공표값이며, 본 기사에서의 실측값이 아닙니다. 출처: API 문서, 발표
필자의 고찰:
JSON이나 구조화된 출력은 형식을 제약할 수 있지만, 그것만으로 분류의 정확성이 보장되는 것은 아닙니다. 업무 측면에서는 여전히 선택지 정의, 예외 처리, 판단을 유보하는 경우의 처리가 필요합니다. 판단 API가 생략하는 과정은 '레이블을 얻기 위해 텍스트를 생성하는' 단계입니다. 또한, 모든 상황을 대체할 수 있는 것도 아닙니다. 자유로운 설명이 필요한 경우나 카테고리를 동적으로 찾고 싶은 경우에는, 사전에 고정된 분기 지점을 나열하는 것 자체가 적절하지 않을 수 있습니다.
Google의 요금은 입력 100만 토큰당 0.10 달러이며, 출력 토큰에는 과금되지 않습니다. 동일한 요청 내에서 공유되는 입력은 한 번만 계산되지만, 각 질문의 지시사항이나 판단 기준에 대한 토큰은 각각 합산됩니다. 가령 입력 총합이 정확히 100만 토큰이라면, 판단 요금은 0.10 달러이고 출력 요금은 제로입니다. 이 토큰 수는 가정이며 측정값이 아닙니다. 또한, 후속 생성에 필요한 비용은 포함되어 있지 않습니다. 동일한 입력을 사용하더라도 요청을 반복할 때마다 전액이 청구되며, 현재 컨텍스트 캐시(context cache), 배치(Batch), 플렉스(Flex), 우선순위(Priority)에는 대응하고 있지 않습니다. 출처: 발표, API 문서
Decider는 마커 토큰(marker token)의 위치에서 decision head(판단 헤드)의 출력을 읽어 다음 토큰을 출력하는 경로를 대체하는 방식을 채택하고 있습니다. 이 헤드는 기본 모델 내에서 답변 선택지 토큰에 대응하는 행을 사용하여 초기화됩니다. 반면, Gemini의 공개 설명에서는 텍스트를 생성하는 것이 아니라, 단 한 번의 순전파로 후보들을 스코어링한다고 되어 있습니다. 공유 입력은 최대 256K 토큰까지 가능하며, 한 번의 요청에 최대 1,000개의 독립적인 질문을 포함할 수 있습니다. 다만, 이러한 설명만으로는 양쪽의 내부 아키텍처가 완전히 동일하다고 추정할 수는 없습니다. 출처: Unite.AI, Google
우리가 주목해야 할 것은 단순히 '질문을 병렬로 처리할 수 있다'는 점을 넘어, 질문 간의 분리(separation)입니다. Decider v1.3은 풀 어텐션 레이어(full attention layer)를 양방향화하여, 질문들끼리는 서로 참조할 수 없도록 설계되었지만, 공유 입력(shared input)으로부터는 질문들을 참조할 수 있게 했습니다. 기사에 따르면, v1.2에서는 동일한 배치에 포함된 다른 질문들에 의해 답변이 달라지는 경우가 있었습니다. Gemini의 문서 역시 질문 간 분리를 강조하며, 개별적인 단순 체크는 모델에 맡기고 결과를 조합하는 로직은 코드 레벨에 남겨두는 것을 권장합니다. 의존성이 있는 판단(judgment)은 요청을 분리하거나, 혹은 한 번에 질문한 후 불필요한 답변을 무시해야 합니다. 출처: Unite.AI, API 문서
저자의 고찰: 체크 항목을 하나 추가하는 것만으로도 기존 라우팅이 알지 못했던 방식으로 변경되어서는 안 됩니다. 질문 간의 분리는 일괄 판단(batch judgment)의 유지보수를 용이하게 합니다. 다만, 각 현상(event)이 통계적으로 독립적이라는 것을 의미하지 않으며, 각 확률을 그대로 곱할 수 있는 것도 아닙니다. 판단들 사이의 업무상의 의존 관계는 계속해서 명시해야 합니다.
문서에서는 confidence를 최상위 답변이 옳다고 추정되는 확률로 정의하고 있습니다. 이진 질문(binary question)의 경우, 이는 max(noul, 1 - noul)과 같습니다. 따라서 confidence가 높더라도 '아니요'라고 강하게 확신하고 있을 가능성이 있습니다. noul의 범위는 0.01~0.99로 제한되므로, 0.99를 초과하는 임계값(threshold)을 설정하면 조건을 만족하는 경우가 없습니다. choice는 적절한 선택지가 없더라도 확률을 할당하기 때문에, 명시적인 other, 범위 체크, 그리고 낮은 신뢰도일 때의 폴백(fallback)이 필요합니다. 출처: API 문서
두 자료 모두 대표성 있는 레이블링된 샘플로 임계값을 보정하고, 거짓 양성(false positive)과 거짓 음성(false negative)의 비용을 고려할 것을 권장합니다. 저자의 제안으로는 실제 분류 목적에 맞춰 과거 요청에 레이블을 지정하고, 임계값별 누락 분류 건수, 오분류 건수, 사람이 대응하는 건수를 비교해 보는 것이 좋을 것입니다. 질문 문구와 임계값 버전도 기록해야 합니다. 벤더가 제공하는 '보정된 확률'은 자체 업무의 데이터 분포로 수행하는 수용 검증(acceptance verification)을 대신할 수는 없습니다. 출처: API 문서, Unite.AI
그림 주석: 저자가 설계한 라우팅입니다. 인터페이스 사양은 Decisions API 문서를 기반으로 합니다. 공식 아키텍처가 아닙니다.
아래는 저자가 작성한 실행 가능한 샘플입니다. google-genai>=3.2와 openai를 설치하고, GEMINI_API_KEY, TWINKLE_API_KEY, MODEL_NAME, 그리고 레이블링된 샘플로 보정된 YES_THRESHOLD, NO_THRESHOLD, CONF_THRESHOLD를 설정하십시오. Google SDK의 버전 요구사항과 호출 형식은 공식 문서를 따릅니다. 신뢰도가 낮은 요청은 담당자에게 회부하고, 생성이 불필요하다고 명확히 판단된 경우에는 정형 플로우로 진행합니다. API에서 예외가 발생한 경우, 그대로 종료하며 생성 단계로 넘어가지 않습니다.
import os
from google import genai
from openai import OpenAI
...
저자 보충: 생성 단계에서는 Twinkle Model의 base URL을 예시로 사용했습니다. OpenAI 호환 게이트웨이에서 사용할 모델명과 사용 가능한 파라미터는 해당 게이트웨이의 모델 목록을 따르십시오. 공식 API 고유의 파라미터(예: thinking_level)가 호환 레이어에서 어떻게 매핑되는지는 각자 확인해야 합니다. 이 예시는 게이트웨이가 특정 모델이나 해당 파라미터에 대응함을 보장하지 않습니다. 본 서비스 도입 전에는 요청 타임아웃, 에러 로그, 담당자를 위한 큐를 추가할 것을 권장합니다. 정형 플로우 역시 업무 코드 측에서 구현되어야 합니다.
Gemini는 텍스트, 이미지, 음성, 비디오, PDF 입력을 지원합니다. Decider는 오픈웨이트(open-weight)이므로 자체 호스팅(self-host)할 수 있지만, 배포 비용이 사라지는 것은 아닙니다. 기사에 명시된 Decider v1.3의 베이스 모델은 Qwen3.8-27B이며, BF16에서는 약 49 GiB가 필요합니다. Flash는 Qwen3.5-4B를 기반으로 하며, 약 8.5 GiB가 필요하며, 둘 다 CUDA GPU가 필요합니다. 출처: Google, Unite.AI
평가 값에 대해서도, 무엇을 기준으로 계산했는지 확인할 필요가 있습니다. 기사 속의 91.6%는 63건의 질의 분류(query classification) 작업에서의 평균 정답률이며, 참조 레이블은 최첨단 대규모 모델에 의해 재레이블링되었습니다. 반면, 실제 샘플에서의 93.98%는 평가 주체인 최첨단 모델과의 일치율이며, 정답 레이블에 대한 정답률로 취급할 수 없습니다. 필자의 고찰: 이러한 결과는 시도해 볼 가치가 있는지 판단하는 자료가 되지만, 업무상의 자동 승인을 보장하는 수치로 그대로 사용할 수는 없습니다. 출처: Unite.AI
오픈웨이트(open-weight)로 이용 가능한 기능의 범위 또한 개별적으로 확인할 필요가 있습니다. v1.3에서 추가된 Locate는 원문 일부와 그 시작/종료 문자 위치를 반환합니다. 텍스트에만 대응하며, 판정용 질문과 병행하여 사용하는 경우 순전파(forward propagation)를 분리해야 합니다. 필자의 고찰: '단일 순전파'라는 설명에는 적용 범위가 있으며, 모든 추출 및 판정 작업을 추가 비용 없이 같은 배치로 통합할 수 있다고 일반화해서는 안 됩니다. 출처: Unite.AI
필자의 제안: 우선 관리형 API(managed API)에서 레이블과 임계값(threshold)을 검증하고, 데이터 보관 위치, 지속적인 부하, 배포에 대한 통제가 주요 제약이 된 단계에서 오픈웨이트를 고려하는 것이 좋을 것입니다. 비용은 입력 단가만으로 비교하지 말고, GPU 메모리, 서비스 유지보수, 대기열(queue), 폴백(fallback)까지 포함하여 계산해야 합니다. 의사결정 계층을 추가하면 호출 과정이 늘어납니다. 그에 상응하는 효과가 있는지는 불필요한 생성(generation)을 얼마나 줄일 수 있는지, 잘못된 라우팅으로 인해 얼마나 재작업(rework)이 발생하는지에 따라 결정되며, 실제 트래픽에서 확인해야 합니다. 비교 대상으로 기존의 생성 플로우를 남겨두고, 분류기가 높은 점수를 몇 개 반환했는지뿐만 아니라 최종 처리 결과를 기반으로 잘못된 라우팅을 되돌아보는 것을 권장합니다. 정형화된 플로우가 사용자의 본래 의도를 커버하지 못한다면, 절감한 생성 비용이 사람의 수작업 재작업에 의해 상쇄될 가능성이 있습니다.
- Google: Gemini Decisions API 발표
- Google AI Studio: Decisions API 문서
- Unite.AI: Perplexity Decider v1.3
필자 소개(이해관계 공개): 필자는 API 중계 서비스 Twinkle Model(https://big-model.smart-agi.com)을 운영하고 있습니다. GPT는 보통 가격의 10%, 중국제 모델도 보통 가격의 10%로 제공하며, 기능을 제한하지 않은 풀 기능 버전의 Claude, 제공처로부터의 직접 중계, 저렴하고 안정적인 서비스를 내세우고 있습니다. 요금은 모델 목록 https://big-model.smart-agi.com/model-plaza를 참고해 주십시오.