Jev: czym jest i jak z nim pracować

Praktyczny przewodnik po pierwszym modelu System One od TypeSafe · dla @aizvestia · wrzesień 2026

🤖 Moduł dla agentów kodowania
Install the TypeSafe skill. If you're in Claude Code, run `claude plugin marketplace add typesafe-ai/skills`, then `claude plugin install typesafe@typesafe-ai`. If you're in another agent, run `npx skills add typesafe-ai/skills --skill typesafe-ai` and select your agent. Use one installation method. You can read the skill directly at https://github.com/typesafe-ai/skills/blob/main/skills/typesafe-ai/SKILL.md (raw: https://raw.githubusercontent.com/typesafe-ai/skills/main/skills/typesafe-ai/SKILL.md). Then use the TypeSafe skill when working on this project.

Czym to jest

Jev to pierwszy publiczny model klasy System One od TypeSafe. To nie jest model czatu ani 'kolejna LLM z trybem JSON': Jev w ogóle nie generuje tekstu. Wysyłasz state (kontekst: tekst, JSON lub tablicę) i listę typowanych pytań, a dostajesz decyzje gotowe dla maszyny: wybraną opcję, wynik na skali albo prawdopodobieństwo 'tak' - plus rozkład prawdopodobieństwa i confidence dla każdej odpowiedzi. Twórcy opisują to jedną frazą: 'smart if-statements' - sprytne if-else dla twojego kodu. Najjaśniejszy przykład to e-mail: Jev przebiega po każdej wiadomości i orzeka 'spam, pewność 94%', 'wymaga odpowiedzi', 'może poczekać'. Nic nie pisze - tylko sortuje: 1700 e-maili za 18 centów.

Nazwa System One pochodzi od Kahnemana ('Myślenie szybkie i wolne'): model jest zbudowany pod szybkie, intuicyjne oceny, nie pod powolne rozumowanie. Zabawny szczegół: współzałożyciel TypeSafe, Diogo Almeida, jest współtwórcą RLHF - tej samej metody, którą wytrenowano ChatGPT. Teraz stawia na to, że automatyzacja potrzebuje innej metody treningu.

Czym to jest

Czym różni się od 'poprzednich rzeczy'

Post-trening modeli językowych przeszedł trzy podejścia:

   
RLHF
ChatGPT i wszystkie chatboty
modele, których odpowiedzi podobają się ludziomsłużalczość, pewne siebie halucynacje, mode dropping - zawężenie rozkładu odpowiedzi
RLVR
modele rozumujące
mocne w matematyce, szachach, długich łańcuchachwolne i drogie
RLCD
Reinforcement Learning for Calibrated Decisions - metoda TypeSafe
decyzje z skalibrowanymi prawdopodobieństwaminie pisze tekstu, słaba w System 2

Istota kalibracji: gdy model mówi 0.8, na długiej serii takich odpowiedzi około 80% będzie poprawnych. Prawdopodobieństwo staje się liczbą, na której można budować logikę.

Praktyczna różnica wobec LLM 'zmuszonej' do wypluwania JSON-a:

Trzy prymitywy

Trzy prymitywy
    
ChoiceKtóra opcja?choice + probabilities + confidencerouting ticketów: billing / technical / sales
ScoreKtóry poziom na skali?score (może być ułamkowy) + probabilities + confidencefrustracja klienta: 0 = spokojny, 2 = wściekły
NoulCzy to prawda?noul: prawdopodobieństwo 'tak' od 0 do 1'czy klient prosi o zwrot?' - 0.95

Niuansy, które oszczędzają godziny:

Start w 5 minut

0. Bez kolejki: Jev jest już na Vercel AI Gateway jako typesafe-ai/jev ($0.042/1M tokenów wejściowych) - jeśli jesteś na Vercel, wołaj od razu przez pakiet ai, bez waitlisty TypeSafe. Jest też na OpenRouter: ~typesafe/jev-latest (API zgodne z OpenAI).

1. Playground. Wejdź na console.typesafe.ai/playground, wklej dowolny tekst jako state, dodaj pytania, kliknij Run. (Wejście wita quizem 'Czy da się czatować z Jev?' - poprawna odpowiedź to No.)

2. API bezpośrednio. Klucz bierzesz z konsoli, dalej jeden endpoint:

curl -X POST https://api.typesafe.ai/v1/systemone \
  -H "Authorization: Bearer $TYPESAFE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "state": "Trying to connect my Stripe for 3 days, keeps failing. Help ASAP.",
    "model": "jev-latest",
    "questions": {
      "department": {
        "type": "choice",
        "instructions": "Which team should handle this",
        "criteria": {
          "billing": "Payment or subscription issues",
          "technical": "Bugs or integration problems"
        }
      },
      "is_urgent": { "type": "noul", "instructions": "The message conveys urgency" }
    }
  }'

W odpowiedzi każde pytanie ma wybraną wartość, prawdopodobieństwa wszystkich opcji i confidence.

3. Python SDK (3.10+): klient sam czyta TYPESAFE_API_KEY i domyślnie woła jev-latest:

pip install typesafe-sdk
from typesafe_sdk import Choice, Noul, Score, TypeSafeClient

client = TypeSafeClient()
response = client.system_one(
    state=ticket,
    questions={
        "department": Choice(
            instructions="Which team should handle this",
            criteria={
                "billing": "Payment or subscription issues",
                "technical": "Bugs or integration problems",
            },
        ),
        "is_urgent": Noul(instructions="The message conveys urgency"),
    },
)
print(response.answers["department"].choice)   # "billing"
print(response.answers["is_urgent"].noul)      # 0.999

Dla JS jest @typesafe-ai/sdk, a dla agentów (Claude Code, Codex itd.) gotowy skill: npx skills add typesafe-ai/skills --skill typesafe-ai. Skill uczy agenty wysyłać pytania paczkami - agenty uwielbiają palić jedno żądanie na pytanie.

Cztery główne wzorce

  1. Speculative fan-out. Wszystkie pytania dzielące jeden state idą w jednym żądaniu, w tym 'spekulacyjne', które nie zawsze są potrzebne. Dodatkowe pytanie kosztuje grosze, czas odpowiedzi prawie nie rośnie. Cookbook TypeSafe: 13 pytań w jednym zapytaniu jest ~12x tańsze i ~10x szybsze niż 13 osobnych wywołań, z tymi samymi odpowiedziami.
  2. Confidence-gated routing. Odpowiedź mówi 'co', confidence mówi 'czy działać'. Trzy strefy: wysoka - działaj automatycznie; średnia - dopytaj albo oznacz do review; niska - eskaluj do człowieka albo modelu rozumującego. Progi zależą od ryzyka: pokazanie złego ekranu wybaczy się przy 0.6, wykonanie płatności dopiero przy 0.9+.
  3. Composite scoring. Rozbij złożony osąd na atomowe Score i połącz wagami w kodzie. Priorytet ticketu = severity * 0.5 + frustration * 0.3 + actionability * 0.2. Priorytety się zmieniły? Poprawiasz współczynnik, nie przepisujesz promptu.
  4. Intent routing. Sklasyfikuj przychodzące żądanie i pokieruj je: deterministyczny kod, tani model, drogi model rozumujący albo człowiek.
Cztery główne wzorce

Ceny i limity (jev-1.13.0)

Słabe punkty (szczerze, z ich własnych docs)

jev-1.13 ma publiczną stronę 'jaggedness' - szczera lista tego, czego model nie umie:

Gdzie stosować

RAG rerankLLM guardrailscitation checkjailbreak detectticket routingmoderationcomplianceML featurescatalog matchingresume scoringlead scoring

Żywy przykład: terminal BUY/SELL/HOLD dla Bitcoina na Jev - jev-terminal.vercel.app. API zwraca uczciwe prawdopodobieństwa, decyzja przychodzi w ułamku sekundy.

Kolejny przykład - natychmiastowe generatywne UI: eksperyment json-render + jev - Jev wybiera z twoich komponentów, akcji i design systemu, a interfejs renderuje się w milisekundach.

Linki

Wypróbuj Jev tutaj

Edytuj wiadomość, zaznacz pytania i kliknij Run - odpowie prawdziwy jev-latest.

2 · Pytania i przestrzeń odpowiedzi
Which team should handle this support message
billingPayment or subscription issues
technicalBugs or integration problems
salesPricing or account questions
How frustrated the customer appears
0Calm, just stating facts
1Frustrated but civil
2Very angry, strong language
The message conveys urgency or time-sensitivity
yesprobability that the statement is true

Zapytania idą przez proxy serverless: state do 2000 znaków, ~30 zapytań na minutę. Klucz siedzi w zmiennej env Vercel i nigdy nie trafia do przeglądarki.