전체 글

OpenAI Decisions API 공개 베타, 백만 토큰당 0.10달러, 판단 전용 API

xXfacebook페이스북

2026년 10월 6일, OpenAI가 텍스트를 생성하지 않고 판단만 돌려주는 전용 API를 공개 베타로 열었습니다. Decisions API는 입력 100만 토큰당 0.10달러이고 공개 베타 공지는 같은 GPT-6 Luna를 Responses API로 부를 때보다 최대 10배 빠르다고 적습니다. 텍스트와 이미지를 평가해 조건이 참일 확률, 선택지 가운데 하나, 등급 점수 같은 "타입이 정해진 답"을 반환하는 것이 이 API의 역할입니다.

정식 제공(GA)으로 넘어가는 시점은 공지와 가이드가 "coming weeks(앞으로 몇 주 안에)"라는 표현으로만 밝히고 날짜는 없습니다. 가이드의 원문은 "The Decisions API is in public beta, and we expect to GA in the coming weeks"로, 2026년 10월 6일 공개 기준 이 API는 공개 베타이고 정식 전환은 예상 표현 단계라는 것이 이 글을 읽을 때 깔아 둘 전제입니다.

이 글은 OpenAI의 공식 가이드와 공개 베타 공지, 같은 문제를 오픈소스로 푼다며 거의 같은 시기에 공개된 Strands Decider 2B의 발표 글과 저장소를 겹쳐 읽고 정리한 것입니다. 두 쪽 모두 직접 호출해 확인한 내용은 아니며 원문이 말하지 않는 부분은 이 글에서도 말하지 않습니다. 특히 베타 단계 제품에서 흔히 궁금한 rate limit이나 SLA 같은 항목은 원문에 언급 자체가 없어 3절에서 따로 경계로 표시합니다.

생성 대신 판단을 반환하는 API — Responses API와 무엇이 다른가

가이드가 Decisions API를 정의한 문장은 "텍스트, 이미지, 또는 둘 다를 평가해 타입이 정해진 답을 돌려준다(evaluates text, images, or both and returns typed answers)"입니다. 입력으로 질문 목록을 받고 질문마다 정해진 형식의 답을 돌려주는 것이 API의 계약입니다. 가이드와 공지가 이 API를 Responses API와 비교하는 지점이 속도인데 이어서 정리합니다.

엔드포인트도 전용으로 나뉩니다. 호출은 POST /v1/decisions 한 곳이고 요청 본문에 model과 input, questions를 넣습니다. 문서는 코드 작성에 들어가기 전에 Playground에서 실험해 볼 것을 권합니다.

속도 비교는 문장이 두 곳에서 조금씩 다르게 적혀 있습니다. 가이드는 "Responses API보다 약 10배 빠르게 타입이 정해진 답을 돌려준다(returns typed answers about 10x faster than the Responses API)"고 쓰고 공개 베타 공지는 "Responses API로 GPT-6 Luna를 부를 때보다 최대 10배 빠르다(up to 10x faster than GPT-6 Luna through the Responses API)"고 씁니다. 비교 대상을 문장으로 명시한 곳은 공지가 유일합니다. 둘을 겹치면 같은 GPT-6 Luna를 Responses API로 부를 때 대비 최대 10배가 되는데 어떤 하드웨어와 작업 분포에서 잰 값인지는 어느 쪽 문서에도 공개돼 있지 않습니다.

공지의 비교 문장이 말해주는 것은 하나 더 있습니다 — 같은 모델을 두고 호출 경로와 반환 형태가 갈린다는 것입니다. 공지는 GPT-6 Luna를 "through the Responses API"로 부르는 경우와 Decisions API로 부르는 경우를 나란히 놓고 있으므로, 이 API는 새 모델이 아니라 같은 모델을 향한 별도의 호출 경로로 읽는 것이 문장에 충실한 해석입니다. 단 이 범위를 넘어 두 경로의 내부 처리 방식이 어떻게 다른지는 어느 문서에도 설명이 없습니다.

Responses API와 Decisions API의 관계를 보여주는 도식. 같은 GPT-6 Luna를 놓고 Responses API 호출 대비 최대 10배 빠르다는 비교가 표시돼 있고, 비교 대상을 명시한 곳은 공개 베타 공지가 유일하며 측정 조건은 공개돼 있지 않다는 단서가 함께 적혀 있다.

두 문서의 비교 문장이 갈리는 지점은 비교 대상의 명시 여부다.

질문 유형 셋 — predicate와 choice, score

질문 유형은 셋입니다. predicate는 조건이 참일 확률을 0에서 1 사이 값으로 돌려주고 응답에는 type과 name, probability가 들어갑니다. choice는 요청에 넣은 선택지 가운데 하나를 고르고 선택지별 probabilities와 confidence를 함께 돌려줍니다. 돌려주는 답이 제공한 선택지 안에서 정해진다는 점이 이 유형의 계약입니다. score는 등급 지수의 확률 가중평균을 돌려주며 score와 probabilities, confidence 필드로 구성됩니다. 답을 내지 않는 거부(refusal) 응답도 name 필드로 표현할 수 있습니다.

유형 돌려주는 것 응답 필드
predicate 조건이 참일 확률 (0~1) type · name · probability
choice 제공한 선택지 중 하나 + 선택지별 확률 probabilities · confidence
score 등급 지수의 확률 가중평균 score · probabilities · confidence

여러 질문을 한 번에 부르는 방법도 정해져 있습니다. 서로 독립적인 질문은 하나의 questions 배열에 묶어 같은 입력을 공유합니다. 하나의 입력에 여러 판단을 묶는 단위가 이 배열입니다. 반대로 의존적인 질문 — 앞 질문의 답이 뒤 질문의 입력을 바꾸는 형태 — 은 하나의 요청에 묶을 수 없고 별도 요청으로 나눠야 한다는 것이 가이드의 설명입니다.

응답이 필드로 정해져 있다는 점이 셋의 공통 분모입니다. predicate의 probability, choice의 probabilities, score의 score처럼 돌려받을 값의 자리가 유형마다 고정돼 있고 거부 응답마저 name 필드로 같은 형식 안에서 표현됩니다.

질문 유형 셋의 입력과 출력을 나란히 정리한 표. predicate는 조건이 참일 확률을 0에서 1 사이로 돌려주며 type, name, probability 필드를 갖고, choice는 제공한 선택지 중 하나와 선택지별 probabilities, confidence를, score는 등급 지수의 확률 가중평균인 score와 probabilities, confidence를 반환한다.

거부 응답도 같은 형식 안에서 name으로 표현된다.

요금과 지원 모델, 공개 베타의 범위

요금 구조는 가이드의 표현을 그대로 옮기면 이렇습니다 — 입력 토큰 100만 개당 0.10달러이고 내는 돈은 입력 토큰분뿐입니다("You pay only for input tokens: there are no cache-read, cache-write, or output-token charges"). 캐시 읽기와 캐시 쓰기, 출력 토큰에 붙는 과금이 없다는 것이 원문이 명시한 범위입니다. 다만 두 가지는 별도로 붙습니다 — 지역 처리 프리미엄(regional processing premiums)과 롱컨텍스트 입력 가격 배수(long-context input pricing multipliers)가 적용될 수 있다는 단서가 같은 절에 있습니다.

지원 모델은 가이드 기준 gpt-6-luna 하나입니다. "Currently, only gpt-6-luna is supported"가 전부이고 다른 모델로 넓어질 계획에 대한 언급은 없습니다.

공개 베타 단계의 범위도 문서에 박혀 있습니다.

  • 이미지 입력 — inline base64 데이터 URL 형태만 받습니다. 호스티드 URL이나 file_id는 받지 않습니다.
  • 데이터 취급 — 자격이 되는 고객 기준으로 ZDR(Zero Data Retention)과 HIPAA에 대응하고, 자격 요건은 원문이 별도로 가리킵니다.
  • 데이터 레지던시 — 미국과 유럽(EEA와 스위스)입니다.

Decisions API의 요금 구조를 보여주는 도식. 입력 토큰은 100만 개당 0.10달러이고 캐시 읽기와 캐시 쓰기, 출력 토큰 과금은 없으며, 지역 처리 프리미엄과 롱컨텍스트 입력 가격 배수는 별도로 적용된다고 표시했다.

과금 대상은 입력 토큰 하나뿐이다.

문서가 말하지 않는 것도 경계로 적어 둡니다. rate limit과 SLA, 캐시의 존재 여부는 어디에도 언급이 없어 이 글에서 다루지 않습니다. 이미지 입력의 과금 여부도 문서가 말하지 않으므로 "입력 토큰만 내면 되니 이미지는 추가로 내지 않는다"고 쓸 근거는 없습니다.

오픈소스로 같은 문제 풀기 — Strands Decider 2B

OpenAI가 Decisions API를 공개 베타로 내놓은 것과 거의 같은 시기에, 같은 문제를 오픈소스로 푼다며 Strands가 Decider 2B를 공개했습니다. 구조는 Qwen3.5-2B의 언어모델 헤드(LM head)를 떼어내고 약 100만 파라미터짜리 포인터 헤드로 교체한 것입니다. 텍스트를 생성하는 디코딩 루프를 돌지 않고 포인터 헤드가 제시된 답변들을 가리켜 순전파 한 번으로 점수를 매깁니다. 전체 파라미터는 19억 개이고 rank-16 LoRA로 학습됐습니다.

생성 루프가 없다는 것은 답을 고르는 데 토큰을 하나씩 뽑는 반복이 없다는 뜻입니다. 다음 문단의 지연 수치는 이 단일 패스 구조를 가진 모델을 개발팀이 직접 잰 값입니다.

측정된 지연은 개발팀 발표 기준이고 가중치는 v19 기준입니다 — RTX 3090 한 장에서 중앙값 약 115ms, 95백분위 299ms입니다. 지연은 작업 크기가 커지면 대략 선형으로 늘어난다고 발표에 적혀 있습니다. 맥 M3 Pro에서는 300토큰 이하 작업의 웜 상태 기준 중앙값 153ms, 전체 작업 기준 234ms입니다. 배치 구성 등 세부 측정 조건은 공개돼 있지 않아 이 수치를 다른 시스템과 나란히 놓고 비교하려면 그 한계가 따라옵니다.

한계도 개발팀 스스로 밝힙니다. 단일 패스 방식이 복잡한 문제 풀이에는 "훨씬 못하다(significantly worse at)"는 것이 발표의 표현입니다. 벤치마크 위치는 이렇게 적어 둡니다 — 개발팀은 발표에서 JevBench 2B급 33개 중 3위라고 밝혔습니다. 다만 현재 공개 리더보드에는 등재돼 있지 않아 독자가 직접 확인할 수는 없습니다.

저장소 README의 자체 측정치는 JevBench v1 231개 과제 기준이고, 정확도와 보정 수치는 가중치 v21 열의 값입니다 — 정확도 0.762, Brier 점수 0.323, ECE 0.064입니다. Brier 점수는 확률 예측이 실제 결과와 얼마나 어긋나는지를 재는 지표이고 낮을수록 좋습니다. ECE(expected calibration error)는 내놓은 확률이 실제 빈도와 얼마나 맞는지를 재는 보정 오차로 역시 낮을수록 좋습니다. 지연은 v19이고 정확도와 보정 수치는 v21이라 버전이 갈리므로 두 수치를 나란히 놓을 때는 같은 버전끼리 봐야 합니다. 발표 순위와 자체 측정치가 서로 다른 성격의 근거라는 점 — 하나는 외부 벤치마크 순위이고 하나는 저장소가 스스로 잰 값이라는 점 — 을 섞지 않고 나눠 적어 둡니다.

배포 위치도 정리하면 이렇습니다. 코드는 GitHub의 strands-labs/strands-decider 저장소에 Apache-2.0 라이선스로 있고 가중치는 Hugging Face의 StrandsAgents 조직에 v19과 v21로 올라가 있습니다. 학습 데이터의 출처는 저장소의 data/sources.md에 정리돼 있습니다.

Decisions API와 Strands Decider 2B를 항목별로 나란히 대조한 표. 호스팅 여부와 기반 모델, 측정된 지연 수치(RTX 3090 한 장 중앙값 약 115ms, 95백분위 299ms), 라이선스를 각각 비교한다.

Strands 쪽 수치는 개발팀의 자체 측정이다.

어디에 쓰고, 어디에 말아야 하나

가이드 본문이 이 API의 용도로 드는 것은 콘텐츠 분류와 요청 라우팅, 작업 우선순위 지정입니다 — 원문 표현은 "Use those answers to classify content, route requests, and prioritize work in your application"입니다. 음성은 여기에 별도 절까지 할애한 용도입니다. 음성 연동 가이드는 Live API로 음성 대화를 돌리고 발화에 맞는 동작 선택만 Decisions에 위임하는 구성을 담는데, 예시에서 사용자가 "Reload this page"라고 말하면 back과 reload, noop 선택지 가운데 reload가 고르고 "Keep OPENAI_API_KEY on the server"라는 문장이 그대로 들어 있습니다. 이 가이드가 드는 용도 예는 슬라이드 넘기기, UI 동작, 음성 게임, 로봇 제스처, 미디어 제어입니다.

Strands 쪽이 명시한 용도는 더 넓게 열려 있습니다 — 모델 라우팅, 도구 선택, 평가, 가드레일, 메모리, 컨텍스트 관리, 정책 분류를 꼽고, 도구 인자가 실제 발화에 근거하는지 실행 전에 검증하는 용도도 나란히 둡니다. README의 목록은 여기에 triage를 더 포함하고, 발표 글은 "and more"로 목록을 열어 둡니다.

두 쪽을 나란히 두면 선택이 갈리는 지점이 보입니다. 호스팅 API 쪽은 지원 모델이 gpt-6-luna 하나이고 공개 베타라는 단계라는 점, 오픈소스 쪽은 발표 수치가 RTX 3090 한 장과 M3 Pro 기준이라는 점, 그리고 복잡한 문제 풀이에 단일 패스 방식이 훨씬 못하다는 개발팀 자체 평가가 있다는 점입니다. OpenAI 쪽 정식 제공(GA)으로 넘어가는 시점은 공개돼 있지 않습니다.

근거와 참고

이 글 공유하기xXfacebook페이스북