Wygenerowana plansza tytułowa z nagłówkiem 'Dwa modele decyzyjne, jedno pytanie', nadtytułem 'OPENAI DECISIONS API vs JEV 1.13' i podtytułem 'To, co klient zbudował 2026-10-06, pokazuje to, czego nie pokazały ogłoszenia'. Trzy karty po prawej stronie głoszą 'Cena: $0,10 / $0,042 za milion danych wejściowych', 'Dane wejściowe: tekst + obrazy / tylko tekst' oraz 'Odpowiedzi: predykat, wybór, wynik'. Wiersz stopki głosi 'Dane liczbowe endpointów według dokumentów OpenAI i TypeSafe odczytanych 2026-10-07; GPT-6 Luna wydany 2026-09-22'. Logo OrcaRouter jest wkomponowane w prawym dolnym rogu.
Guides & Insights

Gdzie kończy się Decisions API OpenAI, a zaczyna Jev: co pokazuje pierwszy zewnętrzny klient

Autor

Alistair Wren

Data publikacji

Najnowsze modele · 20Zobacz wszystkie modele →
Benchmarki: Artificial Analysis · aktualizowane codziennie
Powrót do wszystkich wpisów

6 października 2026 o 23:05 UTC wtyczka o nazwie llm-openai-decisions pojawiła się na PyPI, a jej własny README zawiera zdanie, którego materiały o premierze nigdy nie podały: „W przeciwieństwie do Jev nowy gpt-6-luna model decyzyjny obsługuje dane wejściowe obrazowe oprócz tekstu”. Autorem jest Simon Willison, który napisał także pierwszego klienta dla modelu decyzyjnego TypeSafe, a porównanie, które przeprowadza, dotyczy GPT-6 Luna — modelu stojącego za Decisions API OpenAI — oraz Jev 1.13, tekstowego modelu System One firmy TypeSafe. Ten sam wpis na blogu zauważa, że sama wtyczka została napisana przez GPT-6 Astra czytającego dokumentację OpenAI.

To właśnie jest pożyteczne w kliencie wydanym tydzień po API: jest napisany pod kształt żądania, a nie pod keynote, dzięki czemu ujawnia różnice, które tekst marketingowy zaciera. Nic tutaj nie jest przeciekiem i nic nie jest niepotwierdzone — każda liczba poniżej pochodzi ze strony opublikowanej przez OpenAI, TypeSafe lub z własnego repozytorium wtyczki, wszystkie odczytane 2026-10-07. Wciąż brakuje niezależnego pomiaru samego endpointu, a ta luka jest wskazana na końcu, a nie zamieciona pod dywan.

Trzy powierzchnie, trzymane osobno

Najpierw trzeba ustalić jedno: to trzy różne warstwy, a doniesienia prasowe je zacierają.

• Endpointy. OpenAI ma POST /v1/decisions, dedykowaną trasę, a nie tryb w Responses API. TypeSafe ma POST /v1/systemone. Oba przyjmują zestaw dowodów oraz listę pytań z typami i zwracają po jednej odpowiedzi na każde pytanie, z kluczem równym nazwie, którą mu nadałeś.

• Modele. API Decisions przyjmuje dziś dokładnie jeden model — gpt-6-luna, który jest zarazem najtańszym poziomem ogólnej linii GPT-6 OpenAI i został wydany 2026-09-22 jako zwykły model tekstowy i obrazowy. Jev 1.13 to model decyzyjny od początku do końca — nie potrafi w ogóle generować dowolnego tekstu. TypeSafe wydało go 2026-09-15 i jest on ogólnie dostępny od 2026-09-21.

• Klienci. Własne SDK OpenAI obsługują ten punkt końcowy od 6 października 2026 r., kiedy został udostępniony w publicznej becie, więc wtyczka nie jest pierwszym sposobem, aby go wywołać. To pierwszy klient spoza własnego SDK OpenAI, jakiego udało nam się zweryfikować, i pierwszy napisany dla narzędzia wiersza poleceń, a nie biblioteki aplikacji.

Te dwa metry, obok siebie

Tu właśnie README klienta jest warte więcej niż ogłoszenie, bo liczby stoją tuż obok sformułowań.

• Cena — Decisions API pobiera 0,10 USD za milion tokenów wejściowych, bez opłaty za tokeny wyjściowe, bez opłaty za odczyt z pamięci podręcznej i bez opłaty za zapis do pamięci podręcznej. Jev 1.13 pobiera 0,042 USD za milion tokenów wejściowych, a tokeny wyjściowe są bezpłatne. Oba pobierają opłatę za to, co wysyłasz, i nic za to, co wraca, więc decyzja kosztuje ułamek centa przy którejkolwiek z tych cen, a różnica między nimi to współczynnik 2,4, a nie inny model rozliczeń.

• Dane wejściowe — API Decisions przyjmuje tekst lub wiadomości użytkownika łączące tekst z obrazami, a README wtyczki informuje, że obsługiwane są załączniki PNG, JPEG, WebP i GIF, przy maksymalnie 128 obrazach w jednym żądaniu. Obrazy muszą być przesyłane jako osadzone adresy URL danych base64; hostowane adresy URL obrazów HTTP lub HTTPS oraz wejścia file_id nie są akceptowane przez punkt końcowy, więc wtyczka konwertuje adres URL lub ścieżkę lokalną przed wysłaniem. Dokumentacja Jev 1.13 mówi bez ogródek coś przeciwnego: „Brak danych wejściowych w postaci obrazu, dźwięku lub wideo”, a dane wejściowe inne niż tekstowe powinny zostać wstępnie przetworzone na tekst lub pola strukturalne, zanim trafią do stanu.

• Typy pytań — OpenAI dokumentuje trzy: predicate (prawdopodobieństwo od 0 do 1, że podany warunek jest spełniony), choice (jedna wartość z twojej listy, plus rozkład i osobne pole pewności) oraz score (średnia ważona prawdopodobieństwem na uporządkowanych poziomach). Trzy typy TypeSafe to te same trzy idee pod innymi nazwami: noul dla tak/nie, choice i score. „Noul" to skrót od Bernoulliego, a nazwa jest trafnym wyznacznikiem różnicy kulturowej — jeden dostawca dostarcza rzeczownik w prostym języku, drugi dostarcza żart statystyczny.

• Arytmetyka wyników — oba zgadzają się dokładnie, co jest najsilniejszym sygnałem, że to jedna kategoria produktu, a nie dwie. Dokumentacja OpenAI przypisuje trzem poziomom ważności prawdopodobieństwa 0,1, 0,7 i 0,2, a w zamian otrzymuje wynik 1,1 — celowo między dwoma poziomami, zamiast przypisać go do najbliższego. Poziomy TypeSafe są indeksowane od zera w ten sam sposób, a wtyczka dla Jev przyjmuje od dwóch do dziesięciu uporządkowanych poziomów. Strona OpenAI nie podaje żadnego pułapu; to brak w ich dokumentacji, a nie limit, który możemy stwierdzić.

• Budżety — Jev precyzyjnie dokumentuje swoje okno: około 64 000 tokenów na żądanie, z czego około 32 000 obejmuje stan plus najdłuższe pojedyncze pytanie, wobec kontekstu 1 050 000 tokenów, jaki nasz własny katalog podaje dla GPT-6 Luna jako modelu ogólnego. Strona decyzji OpenAI nie publikuje żadnego budżetu tokenów, jedynie wzmiankę, że regionalne dopłaty za przetwarzanie i mnożniki danych wejściowych dla długiego kontekstu nadal mają zastosowanie do stawki.

Co ujawnia klient, czego nie ujawniło ogłoszenie

Trzy szczegóły we wtyczce i jej pliku README zasługują na wyróżnienie, ponieważ każdy z nich zmienia sposób, w jaki podłączyłbyś endpoint.

Po pierwsze, decyzja może wrócić jako odmowa. Dokumentacja OpenAI nigdy nie wyjaśnia tego w formie opisowej, ale każdy przykład w SDK rozgałęzia się na tym — answer.type === "refusal" w JavaScript, przypadek OpenAI::Models::Decision::Answer::Refusal w Ruby — a README wtyczki wyjaśnia, że odrzucone pytanie jest zachowywane jako {"name":"...","type":"refusal"}. Zatem typ odpowiedzi ma faktycznie cztery wartości, a nie trzy, i każda pętla produkcyjna musi obsłużyć czwartą gałąź, o której nie wspomniało żadne ogłoszenie.

Druga rzecz to to, czego w pluginie brakuje, a nie to, co jest w nim obecne. Sam post Willisona przedstawia tę pracę tak, że GPT-6 Astra czyta nową dokumentację i buduje na jej podstawie klienta — od dokumentacji do klienta, w jednym przebiegu, bez samouczka przygotowanego przez człowieka. To obecnie normalny sposób powstawania klienta, a to oznacza, że pytanie, czy dokumentacja endpointu jest wystarczająco kompletna, by wygenerować z niej działającego klienta, stało się pytaniem praktycznym, a nie edytorskim. W przypadku tego endpointu odpowiedź brzmi przeważnie „tak”, a widocznym szwem jest typ odmowy.

Trzeci to kształt tablicy pytań. OpenAI pozwala umieścić niezależne pytania w jednym żądaniu wobec wspólnego wejścia — sprawdzić zdjęcie produktu pod kątem uszkodzeń i zaklasyfikować jego kategorię w tym samym wywołaniu — ale wymaga oddzielnych żądań, gdy późniejsze pytanie zależy od wcześniejszej odpowiedzi. Jev zajmuje takie samo stanowisko z tego samego powodu: jego pytania są oceniane równolegle względem jednego stanu, więc wszystko, co sekwencyjne, musi stać się dwoma wywołaniami. Obaj dostawcy zaprojektowali swoje rozwiązania pod kątem fan-outu i obaj mówią ci to samo o tym, gdzie trafia budżet opóźnień.

Ta kategoria ma teraz trzy pozycje, a dwie z nich nie są modelami ogólnymi.

Warto wymienić ten trzeci, bo ujęcie w postaci punktu końcowego decyzyjnego ma sens tylko wtedy, gdy widzi się wszystkie trzy naraz. Perplexity dostarcza własne Decisions API, obsługiwane przez pplx-decider-v1-27b — 27-miliardowy model decyzyjny wydany na licencji Apache 2.0, z wagami opublikowanymi na Hugging Face 2026-10-01. To nadaje tej kategorii zupełnie inny kształt niż w przypadku OpenAI: Jev 1.13 jest zamknięty i obsługuje wyłącznie tekst, decyder Perplexity ma otwarte wagi i przyjmuje obrazy, a propozycja GPT-6 Luna to harness wokół modelu ogólnego przeznaczenia, a nie model zbudowany do podejmowania decyzji.

Dla czytelnika wybierającego dzisiaj praktyczne rozróżnienie jest węższe niż to, co sugeruje marketing. Jeśli twoim dowodem jest zdanie lub rekord i chcesz najtańszego kosztu na wywołanie przy najmniejszej zmienności zachowania, Jev 1.13 jest specjalistą, a jego stawka 0,042 USD jest najniższa z trzech opublikowanych cen, które udało nam się zweryfikować. Jeśli twoje dowody obejmują fotografię albo chcesz decyzji od modelu, który już znasz ze zwykłych zadań, Decisions API jest jedyną z dwóch zamkniętych opcji, która przyjmuje obrazy. Opcja z otwartymi wagami odpowiada na inne pytanie — kontrolę i samodzielny hosting — a my jej nie testowaliśmy.

Co faktycznie możemy zmierzyć, a czego nikt nie ma

Twierdzenie OpenAI dotyczące tego punktu końcowego jest takie, że „ocenia tekst, obrazy lub jedno i drugie i zwraca typowane odpowiedzi około 10 razy szybciej niż Responses API”. To deklaracja dostawcy, której nie odtworzono: brak regionu, brak rozmiaru danych wejściowych, brak poziomu współbieżności, brak umowy o poziomie usług, a punktem odniesienia jest ogólnie Responses API, a nie jakiekolwiek konkretne obciążenie. Pojedynczy wskaźnik przyspieszenia to zła liczba, na której można opierać termin.

Co możemy obok tego postawić, to nasze własne siedmiodniowe okno serwowania kończące się 2026-10-07, dotyczące dwóch modeli poniżej, na podstawie ruchu z naszego placu zabaw — i ważne jest, aby powiedzieć, czym te liczby nie są. Opisują one zwykłe żądania generowania, a nie decyzje.

• GPT-6 Luna, wszystkie kształty żądań: mediana 1 448 ms i p95 4 912 ms, wskaźnik błędów 1,31% na 643 394 111 tokenów w ciągu siedmiu dni, co obrazuje przepustowość na poziomie około 125 tokenów wyjściowych na sekundę, gdy model pisze.

• Jev 1.13: mediana 149 ms i p95 245 ms, wskaźnik błędów 0,10% na 110 193 080 tokenów. To naprawdę szybki endpoint, a jest szybki, ponieważ nie generuje odpowiedzi — zwraca liczby dla stanu, który jest wczytywany jednorazowo.

Zestawione ze sobą te dwa wiersze to ostrzeżenie, a nie porównanie. Żądanie decyzyjne generuje kilka tokenów, więc w Decisions API wskaźnik przepustowości wyjściowej, który dominuje w ogólnym profilu Luny, przestaje być wiążącym ograniczeniem, a liczba, która zaczyna mieć znaczenie, to ile czasu model potrzebuje na przeczytanie dowodów. Nie zmierzyliśmy tego w punkcie końcowym decisions i, o ile możemy stwierdzić, nikt poza OpenAI tego nie opublikował.

Głębszym, niezmierzonym pytaniem jest kalibracja i to ona decyduje, czy cokolwiek z tego jest użyteczne. Prawdopodobieństwo 0,92 dla widocznego uszkodzenia ma sens jako podstawa routingu tylko wtedy, gdy w całym Twoim ruchu zdjęcia ocenione na około 0,92 są uszkodzone w około 92% przypadków. Dokumentacja OpenAI mówi, żeby ustawiać progi na podstawie oznaczonych przykładów i wybierać je na podstawie kosztu fałszywie dodatnich względem fałszywie ujemnych. To słuszna rada, a jednocześnie przyznanie, że kalibrację tych liczb musisz ustalić samodzielnie. W pierwszym podejściu zmierz rozkład zwracanych prawdopodobieństw na próbce, dla której znasz już odpowiedzi. Jeśli wszystko wraca na poziomie 0,99 albo 0,01, próg nie robi żadnej pracy, a endpoint jest bardzo drogim booleanem.

Jak wypróbować jedną lub drugą, nie uzależniając od niej ścieżki produkcyjnej

Źródła, mówiąc wprost: kontrakt endpointu, cena i reguły dotyczące obrazów w tym tekście pochodzą z dokumentacji Decisions API samego OpenAI oraz z README wtyczki, oba źródła odczytane 2026-10-07; specyfikacja Jev 1.13 pochodzi z własnej dokumentacji modelu TypeSafe; dane liczbowe dotyczące serwowania pochodzą z naszych własnych danych z playgrounda z siedmiodniowego okna kończącego się 2026-10-07; znaczniki czasu pakietów pochodzą z PyPI i historii Git projektu. Twierdzenie o 10-krotnym przyspieszeniu pochodzi od OpenAI i jest tak oznaczone. Licencja i data wydania modelu decyzyjnego open-weight pochodzą z jego repozytorium modelu.

Samo Decisions API to własne opakowanie OpenAI i nie kierujemy do niego ruchu; jeśli chcesz tego konkretnego punktu końcowego, to OpenAI jest miejscem, w którym się znajduje. Modele znajdujące się pod spodem to inna sprawa. GPT-6 Luna to aktywna trasa w OrcaRouter w cenie katalogowej OpenAI, bez doliczania marży, a typesafe/jev-1.13 w cenie katalogowej jest na tym samym kluczu, co sprawia, że porównanie z tego artykułu można uruchomić, a nie tylko przeczytać: ten sam stan, te same pytania, dwa punkty końcowe, jedna umowa do zarządzania i brak drugiej faktury.

To także rozsądny sposób na wdrożenie nieprzetestowanego interfejsu. Umieść decyzję za mechanizmem awaryjnym, aby odmowa, przekroczenie limitu czasu albo zmiana limitu wersji beta w trakcie działania degradowały się do wywołania opartego na prompcie, a nie do awarii, i pozostaw ten mechanizm awaryjny na tym samym kluczu co podstawowy, żeby nie było niczego do przepinania, gdy punkt końcowy będzie zbliżał się do ogólnej dostępności. OpenAI twierdzi, że GA ma pojawić się w nadchodzących tygodniach i że gpt-6-luna jest jedynym modelem dostępnym w międzyczasie; obie te okoliczności to powody, by budować pod ten kształt i już teraz go instrumentować, a żadna z nich nie jest powodem, by już teraz opierać na tym autoryzację płatności.

A generated two-column scoreboard titled 'GPT-6 Luna vs Jev 1.13 - the scoreboard' comparing the decision endpoints of GPT-6 Luna and Jev 1.13. The left column, headed 'GPT-6 Luna (Decisions API)', reads 'Price: $0.10 per M input', 'Output charge: none', 'Input: text + images', 'Answer types: predicate, choice, score', 'Model ids: gpt-6-luna only' and 'Status: public beta, GA promised'. The right column, headed 'Jev 1.13 (TypeSafe)', reads 'Price: $0.042 per M input', 'Output charge: none', 'Input: text only', 'Answer types: noul, choice, score', 'Model ids: jev-1.13 only' and 'Status: GA since 2026-09-21'. A footer line reads 'Per OpenAI and TypeSafe documentation read 2026-10-07; no independent endpoint measurement exists.' The OrcaRouter logo is composited in the bottom-right corner.

Co obejrzeć dalej

Trzy rzeczy rozstrzygnęłyby pytania, których ten tekst nie jest w stanie rozstrzygnąć. Opublikowany budżet tokenów dla endpointu decyzji, aby rozmiar żądania można było określić, a nie zgadywać. Jakiekolwiek ogłoszenie GA — czyli moment, w którym stawka tylko za dane wejściowe przestaje być obietnicą z bety. I jeden niezależny pomiar opóźnienia i kalibracji na samym endpoincie — pierwsza osoba, która przepuści przez niego kilka tysięcy oznaczonych par i opublikuje krzywą niezawodności, zrobi dla tej kategorii więcej niż którykolwiek z wpisów o premierze.

Do tego czasu uczciwe podsumowanie jest wąskie i użyteczne: jeśli rzeczą, którą musisz rozstrzygnąć, jest tekst, Jev 1.13 jest tańszy i zwraca liczby w około 150 milisekund w naszym ruchu. Jeśli rzecz, którą musisz rozstrzygnąć, obejmuje obraz, to Decisions API firmy OpenAI jest tym, które na niego spojrzy, przy 2,4-krotności ceny wejściowej, z etykietą beta na pudełku. Od tego tygodnia oba można wywoływać z wiersza poleceń, a to lepsza sytuacja niż którakolwiek z nich miała siedem dni temu.

A headless-browser capture of the GitHub repository page for simonw/llm-openai-decisions at github.com/simonw/llm-openai-decisions, showing the repository name with the description 'LLM plugin for the OpenAI Decisions API', a sidebar reading 1 branch, 1 tag, 7 stars and 0 forks with an Apache-2.0 licence label, a file list in which five entries carry the commit message 'Plugin, built by GPT-6 Astra Medium', and below it the rendered README opening 'Use the OpenAI Decisions API with LLM to evaluate text and images with predicates,' under an Installation heading with the commands 'llm install llm-openai-decisions' and 'llm keys set openai'.A headless-browser capture of the OrcaRouter model page for OpenAI: GPT-6 Luna, showing the breadcrumb 'Home » Models » OpenAI', the slug openai/gpt-6-luna, the badges 'ctx 1M tokens' and 'Max output 128K', the release date 2026-09-22 with a p50 TTFT figure beside the 'Public benchmarks by OpenAI' heading, the vendor blurb describing GPT-6 Luna as the fast, cost-efficient model in OpenAI's GPT-6 series positioned below GPT-6 Sol, a Python code sample using base_url https://api.orcarouter.ai/v1 with the ORCAROUTER_API_KEY environment variable, and a seven-day tile strip reading $0.10, $0.50, 1.45 s, 4.91 s and 643.7M tokens.