O czym jest ten film
- Premiera Jeva — modelu od firmy Typesafe AI. To w ogóle nie LLM, tylko klasyfikator przeznaczony do silników decyzyjnych; ma być 20–200 razy szybszy i 40–400 razy tańszy od tradycyjnych modeli językowych.
- Nazwa nawiązuje do podziału z książki Kahnemana: System 1 (szybki, automatyczny) kontra System 2 (wolny, deliberatywny). Jev to System 1; Claude, ChatGPT czy Gemini to System 2.
- Model pracy: przekazujesz dane (tzw. state) oraz pytania o stałych opcjach, a w odpowiedzi dostajesz prawdopodobieństwa — na nich rozgałęziasz własny, deterministyczny kod.
- Trzy typy pytań: tak/nie (null), wybór jednej opcji z listy (choice) i ocena w skali (score).
- Kontrast z dzisiejszymi agentami opartymi na jednym wielkim prompcie i zawodnych „structured outputs” modeli językowych, które trzeba opakowywać w try-catch.
- Przykłady społeczności: rezerwacja lotu w przeglądarce w 7 sekund, klasyfikacja ponad tysiąca prac naukowych za 8 centów (256 ms na sztukę), dopasowanie CV do ogłoszeń dziesięć razy taniej niż na małych LLM-ach, porządkowanie prywatnej skrzynki na żywo.
- Zastosowania w czasie rzeczywistym: analiza tonu tekstu w trakcie pisania, rozszerzenie do X ukrywające prowokacje, „miernik bzdur” w debatach, Tetris, symulator jazdy autonomicznej, macierz ryzyka w przeglądzie kodu.
- Pomysł ze strony Syntax: Jev jako tani weryfikator twierdzeń w streszczeniach odcinków pisanych przez LLM — kontrola każdej tezy przeciw transkryptowi.
- Przypadek Sentry: slackbot Junior z routerem modeli, który da się sprowadzić do dwóch pytań zadawanych Jevowi, zanim w ogóle sięgniemy po model językowy.
- Autorskie demo prowadzącego: chatbot bez ani jednego LLM-a, oparty wyłącznie na wywołaniach narzędzi (pogoda, Wikipedia, wyszukiwarka, Home Assistant), odpowiadający w 200–300 ms. Dostęp: waitlista lub Vercel AI Gateway.
10 najważniejszych takeaways — z kontekstem zastosowania
1.Najpierw klasyfikuj, dopiero potem generuj
Na czym polega: Jev pełni rolę pierwszego wartownika w przepływie agenta — jedno tanie, błyskawiczne wywołanie rozpoznaje wiadomość, a resztą zarządza zwykły kod.
Jak stosować: W agentach obsługujących maile lub czaty zamień wstępny etap promptu na zestaw pytań do Jeva: jaki zamiar, jaka pilność, czy jest bezpiecznie, czy potrzebny człowiek. Dopiero wynik decyduje, czy wywołać narzędzie, model językowy, eskalować do człowieka czy zablokować wiadomość.
Na co uważać: Jev niczego nie generuje — tam, gdzie potrzebna jest odpowiedź językowa, LLM pozostaje niezbędny. Klasyfikacja jest tak dobra, jak dobrze przemyślane opcje, które jej podasz.
2.Trzy typy pytań jako szkielet każdej decyzji
Na czym polega: null (tak/nie), choice (wybór z listy) i score (ocena w skali) plus prawdopodobieństwa pokrywają praktycznie wszystkie rozgałęzienia logiki agenta.
Jak stosować: Zanim napiszesz prompt, rozpisz decyzje systemu właśnie w tej trójce — każde pytanie z promptu zwykle da się sprowadzić do jednej z tych form i obsłużyć deterministycznie.
Na co uważać: Odpowiedź to zawsze wybór z Twojej listy — nieprzewidzianej opcji Jev nie wymyśli. Ustal też próg prawdopodobieństwa, od którego kod faktycznie podejmuje decyzję.
3.Koniec z łamaniem się na „structured outputs”
Na czym polega: LLM-y wspierające odpowiedzi zgodne ze schemą mimo wszystko bywają kapryśne: ucinają JSON, zmyślają pola, wymagają try-catch. Jev zwraca typowany obiekt zawsze.
Jak stosować: W każdym miejscu, gdzie z modelu potrzebujesz decyzji, a nie tekstu, zamień wywołanie LLM-a na wywołanie klasyfikatora — kod przestaje zależeć od nastroju modelu i przyspiesza o rząd wielkości.
Na co uważać: To nie jest zamiennik w zadaniach generatywnych — pisanie maili, streszczeń czy kodu zostaje przy modelach językowych.
4.Router modelów w dwóch pytaniach
Na czym polega: Promptowy router opisujący, które żądanie trafia do którego modelu, można zastąpić dwoma pytaniami: ile rozumowania wymaga żądanie i do którego profilu pasuje (profil wskazuje konkretny model).
Jak stosować: Przed wysłaniem czegokolwiek do LLM-a sklasyfikuj żądanie Jevem i wybierz model z prostej mapy — proste sprawy przestaną płacić cenę najdroższego modelu.
Na co uważać: Żądania na pograniczu kategorii łatwo źle zaklasyfikować — zostaw ścieżkę awaryjną, na przykład możliwość ręcznego wymuszenia modelu.
5.Tania weryfikacja twierdzeń LLM-a
Na czym polega: Twórcy Syntax planują przepuszczać każde twierdzenie ze streszczenia odcinka (pisanego przez LLM) przez Jeva, który sprawdza je przeciw transkryptowi — filtr na halucynacje za grosze.
Jak stosować: Zbuduj potok: źródło (transkrypt, dokument) → LLM pisze notatkę → Jev porównuje każdą tezę notatki ze źródłem i flaguje niezgodności, zanim tekst ujrzy światło dzienne.
Na co uważać: Jev ocenia zgodność z dostarczonym kontekstem, a nie prawdę obiektywną — jakość weryfikacji zależy od tego, co włożysz do stanu.
6.Hurtowa klasyfikacja danych staje się niemal darmowa
Na czym polega: Ponad tysiąc prac naukowych rozdzielonych na kategorie za 8 centów, po 256 ms na sztukę; dopasowanie CV do ofert dziesięć razy taniej niż na małych LLM-ach.
Jak stosować: Odkurzy projekty klasyfikacyjne odrzucone dotąd z powodu kosztu — archiwa dokumentów, bazy CV, segregowanie maili — i policz je ponownie z Jevem.
Na co uważać: Taniej nie znaczy automatycznie równie trafnie w Twojej domenie — przed przeniesieniem produkcji zmierz dokładność na próbce z ręcznie nadanymi etykietami.
7.Dzięki niskiej latencji opłaca się czas rzeczywisty
Na czym polega: Odpowiedź w 200–300 ms otwiera zastosowania niedostępne dla LLM-ów: analizę tonu w trakcie pisania, rozszerzenia przeglądarki chowające prowokacyjne treści, fakt-checking debat na żywo, a nawet Tetrisa czy symulator jazdy autonomicznej.
Jak stosować: Sięgaj po klasyfikator wszędzie tam, gdzie reakcja musi pojawić się między jednym a drugim naciśnięciem klawisza lub napisem na ekranie, a nie po kilku sekundach.
Na co uważać: Szybkość nie zastąpi dobrych kryteriów — przy detekcji „pisane przez AI” albo plagiatu reguły musisz zdefiniować sam i regularnie je przeglądać.
8.Chatbot bez LLM-a: odpowiedzi zakotwiczone w narzędziach
Na czym polega: Demo prowadzącego to bot, który dla każdego żądania wybiera narzędzie i parametry (temat, miasto, czas, jednostki), a treść odpowiedzi czerpie z narzędzi — Wikipedia, pogoda, wyszukiwarka — bez generowania ani zdania.
Jak stosować: Przy odpowiedziach faktograficznych rozstrzygaj każdą decyzję klasyfikatorem, wywołuj narzędzie i pokazuj użytkownikowi wskazane zdanie źródłowe — ryzyko zmyślenia spada niemal do zera.
Na co uważać: Bez modelu językowego odpowiedzi bywają sztywne i mogą nie sprostać swobodnym pytaniom następczym; pamiętaj też o dołączaniu historii rozmowy do kontekstu.
9.Istniejące narzędzia MCP pasują bez przerabiania
Na czym polega: Autor podpiął gotowe serwery MCP (Home Assistant, Wikipedia, wyszukiwarka i inne) bez żadnych zmian — Jev w jednej odpowiedzi zwraca wybór narzędzia oraz jego argumenty, więc nie ma wieloetapowego dopytywania.
Jak stosować: Zarejestruj swój obecny katalog narzędzi i dodaj do Jeva pytania „które narzędzie obsłuży wiadomość” oraz pytania o parametry — stary dorobek z czasów LLM-ów zaczyna działać szybciej i taniej.
Na co uważać: Przy większej liczbie narzędzi zadbaj o czytelne opisy opcji, żeby wybór był trafny; przy parametrach wieloznacznych (np. „tamto miasto”) dodaj pytanie doprecyzowujące.
10.Wejście: waitlista albo Vercel AI Gateway
Na czym polega: Dokumentacja zawiera wyjaśnienia, wzorce i cookbooky; na waitliście prowadzący dostał dostęp dzień po zapisaniu się, a alternatywą jest Vercel AI Gateway — nieco drożej, ale w ramach istniejącego planu.
Jak stosować: Chcesz szybko zaszaleć w prototypie — bierz bramkę Vercela i obecne SDK; planujesz produkcję — zapisz się na listę i licz oficjalne stawki.
Na co uważać: Ceny przez pośrednika mogą się różnić od oficjalnych; przed wdrożeniem zmierz realną latencję i trafność na własnych danych, a nie na demo.
Redakcyjne tłumaczenie
Czym jest Jev i kto za nim stoi
Cześć, tu CJ. Mamy premierę nowego modelu AI i przez najbliższe kilkanaście minut opowiem, czym jest, jak działa i dlaczego warto mu się przyjrzeć. Potem pokażę, co zbudowali z nim inni, a na koniec kilka moich własnych demo, które wcielają go w czyn.
Model nazywa się Jev i wyszedł spod rąk firmy Typesafe AI, którą kieruje Dio Almata. Ekipa zasłynęła z tego, że miała swój udział w powstaniu ChatGPT oraz w metodzie RLHF — uczeniu ze wzmocnieniem opartym na ludzkiej informacji zwrotnej. Słowem: ludzie, którzy siedzą w AI od dawna. A nagłówek premiery jest prosty: Jev jest bardzo szybki i bardzo tani. Dwadzieścia do dwustu razy szybszy od tradycyjnych LLM-ów i czterdzieści do czterystu razy tańszy. Najważniejsze jednak co innego: Jev w ogóle nie jest LLM-em. To klasyfikator — coś, co naturalnie wpina się w maszyny podejmujące decyzje.
System 1 i System 2
We wpisie premierowym Jev przypisano do czegoś, co twórcy nazywają „system one”. Termin pochodzi z książki „Pułapki myślenia” Daniela Kahnemana, w której autor opisuje, jak pracuje ludzki mózg. System 1 to część szybka, automatyczna, działająca bez wysiłku — często też emocjonalna — reagująca natychmiast. System 2 jest jego przeciwieństwem: wolny, wymagający skupienia, rzadko używany, potrafiący „przerabiać coś w tle”. (Informacja dodatkowa: „Pułapki myślenia. O myśleniu szybkim i wolnym” to polskie wydanie bestsellera Kahnemana, psychologa i laureata ekonomicznego Nobla.)
Przenosząc to na modele AI: Jev jest Systemem 1 — odpowiada od ręki. Klasyczne modele językowe, czyli Claude, ChatGPT czy Gemini, to System 2: potrafią się zastanowić, ale to trwa.
Jak się z Jevem pracuje
Zasada jest taka: przekazujesz mu dane. Może to być mail klienta, który chcesz rozgrupować, albo fragment kodu do przejrzenia — po prostu kontekst, w dokumentacji zwany „state”. Obok dokładasz pytania: co chcesz się dowiedzieć o tych danych. Istotne, że pytania mają zawsze postać zamkniętej listy opcji. To wszystko trafia do Jeva, a on zwraca prawdopodobieństwo dla każdej podanej opcji.
Cała filozofia polega więc na spięciu wyniku Jeva z własnym, w pełni przewidywalnym kodem: program rozgałęzia się w zależności od podjętej decyzji i wykonuje konkretne działanie.
Jev obsługuje trzy rodzaje pytań. Tak albo nie — typ null. Wybór jednej pozycji z listy — choice. Ocena w skali — score. Przykład: podajesz mail od klienta i pytasz, czy to prośba o zwrot pieniędzy — dostajesz „tak” albo „nie” z przypisanym prawdopodobieństwem. Możesz też zapytać, który z Twoich zespołów powinien się zająć sprawą, podając zespoły jako opcje — Jev wybierze jeden z nich na podstawie treści. Albo zapytasz, jak bardzo sfrustrowany jest nadawca, i dostaniesz wynik w skali frustracji.
Kod: znajomy schemat
Kod jest prosty. Jeśli kiedykolwiek łączyliście się z API modelu AI przez SDK, znacie ten układ. Instalujecie pakiet Typesafe AI, wysyłacie zapytanie i podajecie stan — w przykładzie jest to mail do sklasyfikowania: „Cześć, za zamówienie obciążyliście mnie dwa razy. Jestem naprawdę zirytowany. Mogę dostać zwrot?”. Następnie określacie, na jakie pytania Jev ma odpowiedzieć — typy choice, null i score importuje się wprost z SDK. Z drugiej strony wraca obiekt o silnych typach, z gotowymi polami, na których opieracie rozgałęzienia i piszecie kod, który realnie coś robi z tą wiadomością.
Dlaczego to ciekawe: bolączki dzisiejszych agentów
Agent budowany dziś zwykle wygląda tak: masz jeden wielki prompt. Dochodzi mail do rozpoznania, a do promptu wpinasz całą serię pytań — jaki jest zamiar tej wiadomości? Czy jest bezpieczna? Czy potrzebny jest człowiek? Jakie narzędzie wywołać? Czy w ogóle odpowiadamy na takie pytania? — po czym każesz modelowi na tej podstawie napisać odpowiedź i odesłać ją do klienta.
To podejście bardzo łatwo o błędy. Kto utrzymuje agenta na produkcji, zna to z autopsji: ręcznie cyzelowane prompty, bez końca poprawiane słowo po słowie, żeby tylko model robił to, co trzeba — a odsetek pomyłek i tak pozostaje wysoki.
Taki kod pisze się zwykle na przykład w AI SDK od Vercela: wybierasz model, dajesz instrukcje, podajesz wejście. Nowoczesne modele i SDK-y obsługują tzw. structured outputs — można zażądać odpowiedzi będącej obiektem zgodnym ze schemą. Tylko że model nie zawsze się tego trzyma. Standardowo trzeba to owinąć w try-catch, bo odpowiedź potrafi się urwać, a czasem model dorabia pola z czystej wyobraźni. W wielu zastosowaniach to wystarcza, ale zawodność jest spora.
Z Jevem sprawa wygląda prosto: podajesz stan, zadajesz pytania i zawsze dostajesz konkretną odpowiedź. I to znacznie szybciej, niż trwa czekanie na model językowy.
Jev jako pierwszy w kolejce
Można o nim myśleć jak o pierwszym wartowniku w przepływie agenta. Nadchodzi wiadomość. Robisz jedno bardzo szybkie wywołanie do Jeva, żeby ją rozpoznać, a dalej działa już Twój własny kod. Użytkownik pyta o status zamówienia? Natychmiast wywołujesz narzędzie i sprawdzasz — żaden LLM niepotrzebny. Pyta o szczegóły produktu? Dopiero wtedy sięgasz po model językowy, żeby zbudował odpowiedź. Jest zły albo jego wiadomość jest niejasna? Kierujesz sprawę do żywego człowieka. A jeśli ktoś próbuje przełamać zabezpieczenia systemu — tzw. jailbreak — wiadomość blokujesz od razu. Tyle w skrócie: Jev jest szybki, tani i pozwala pisać bardziej przewidywalny kod zamiast wieszać logiki na tym, co akurat zwróci model.
Co zbudowali inni: przeglądarka i hurtowa klasyfikacja
Zobaczmy, co powstało w praktyce. Pierwszy przykład: automatyzacja przeglądarki. Użytkownik poprosił Jeva o wyszukanie lotów do wybranego celu i całość zajęła siedem sekund. Jev dostawał zrzuty ekranu przeglądarki i na ich podstawie decydował, co wpisać w poszczególne pola — i tyle, lot zarezerwowany. Ktokolwiek używał Playwright MCP albo innego agenta przeglądarkowego, wie, że te narzędzia potrafią pełzać: ciągłe pogawędki z LLM-em w obie strony. Gdy znasz stan strony i wiesz, czego szukać, z Jevem da się napisać naprawdę szybkie przepływy. (Informacja dodatkowa: MCP, czyli Model Context Protocol, to otwarty standard podłączania zewnętrznych narzędzi i źródeł danych do modeli AI.)
Druga kategoria to klasyfikacja — i bynajmniej nie tylko maili supportowych. Firmy siedzą na stertach danych czekających na uporządkowanie. Jeden z użytkowników rozdzielił ponad tysiąc prac badawczych z dziedziny AI na kategorie, żeby łatwiej było do nich wracać. Klasyfikacja całości kosztowała osiem centów, a każda pozycja zajmowała 256 milisekund. Sporo zadań, do których sięgano dotąd po LLM-y, można po prostu przenieść na Jeva — taniej i szybciej. Znowu powtarzam „taniej i szybciej”, no ale to zresztą jest właśnie cały sens tej premiery.
Kolejny przykład: JMED, twórca serwisu Hiring Cafe, puszczał przez Jeva ocenę, czy dane CV pasuje do ogłoszenia o pracę — z opublikowanymi wynikami dokładności i kosztów. Na tle mniejszych modeli językowych używanych do tej roboty wychodzi dziesięć razy taniej.
A skoro jesteśmy przy klasyfikacji: Vogel podpiął Jeva pod prywatną skrzynkę i kazał mu oceniać priorytet każdego maila, czy to spam i czy warto odpisać. Na nagraniu widać na żywo, z jaką prędkością Jev przelatuje przez kolejne wiadomości. Po prostu śmiga.
Zastosowania w czasie rzeczywistym
Druga wielka kategoria to interakcja na żywo. W jednym z przykładów Jev analizuje tekst w trakcie pisania: wyciąga ton, siłę przekonania, poczucie pilności. Łatwo wyobrazić sobie taką funkcję w edytorze tekstu — piszesz dokument, a obok na bieżąco dostajesz tę analizę. Da się też dołożyć reguły w pełni deterministyczne. W demie jest wskaźnik „czytnik: pisane przez AI” — a przecież znamy typowe znamiona maszynowego stylu: ciągłe „to jest tak, nie jest inaczej”, zdania po trzy słowa. Takie kryteria możesz zapisać jako twarde reguły, zamiast sięgać po gotowe narzędzie. Widzę to choćby w szkołach: sprawdzanie, czy praca nie jest kopiowana, czy nie wyszła spod maszyny, czy nie ma duplikatów. A ponieważ jest szybki, takie kontrole robi się błyskawicznie i za grosze.
Inny wariant czasu rzeczywistego: rozszerzenie przeglądarki. Ktoś zbudował dodatek do X, który od ręki chowa posty wyglądające na celowe prowokacje wciągające złością (tzw. rage bait), a także wpisy o kryptowalutach i polityce. W praktyce na bieżąco poprawiasz sobie algorytm. Sam widzę w tym pomysł na podobny dodatek do YouTube, ukrywający niechciane wyniki i rekomendacje zgodnie z czyimiś preferencjami.
Świetnym poligonem jest też debata. Nie będę wchodził w politykę, ale wyobraźcie sobie analizę słów padających w debacie na żywo — z fakt-checkingiem wyświetlanym na ekranie w czasie rzeczywistym. Podobne pokazy powstawały już na LLM-ach, ale Jev jest na tyle szybki, że przeanalizuje dosłownie każde zdanie i na bieżąco pokaże „miernik bzdur” mówców.
Czas rzeczywisty to także gry. Jeden z użytkowników zakodował zasady Tetrisa, a decyzje zostawił Jevowi: docisnąć klocek w dół czy obrócić? Wszystko dzieje się przez wywołania API na żywo — jest wystarczająco szybki, żeby grać.
Jeszcze śmielszy przykład: jazda autonomiczna. Jeva podpięto do symulatora samochodu, który widzi wszystko, co widziałby autonomiczny pojazd — znak stopu, ruch, pieszych, przejście dla pieszych — i na bieżąco podejmuje decyzje: przyspieszyć, zatrzymać się, jak mocno skręcić. Całość w czasie rzeczywistym.
Na koniec tej serii: analiza kodu. Ktoś zrobił z Jeva recenzenta: określił, na co zwracać uwagę — komunikaty commitów, złożoność kodu i tym podobne — a wynikiem jest macierz ryzyka oceniająca każdy zmodyfikowany plik: czy jest tu problem bezpieczeństwa, czy zła praktyka programistyczna.
U nas: Syntax i Sentry
Możliwości jest zatrzaskująco dużo, ale pokażę jeszcze kilka przykładów z naszego podwórka — ze strony Syntax i z Sentry.
Na stronie Syntax do każdego odcinka podłączamy wielgachny prompt, w którym LLM streszcza odcinek na podstawie transkryptu. W środku siedzi cała masa ręcznych reguł. Na przykład gdy transkrypt usłyszy słowo „Sentry”, zwykle zapisuje je w jednej, błędnej formie zamiast w drugiej, poprawnej — a u nas o Sentry pada często, bo wszystko, co robimy na Syntax, sponsoruje właśnie Sentry. Mamy więc w prompcie sztywne zasady: „zamień wszystkie takie wystąpienia”. Podobnie transkrypt notorycznie przekręca nazwę „Syntax”, więc trzymamy listę wariantów, które model ma poprawiać przy streszczaniu. Wielki, długi prompt, mnóstwo reguł — to wręcz podręcznikowy kandydat na Jeva.
Nasz przepływ wygląda tak: audio transkrybujemy przez Deepgram, potem LLM pisze notatki — streszczenie odcinka. Z Jevem moglibyśmy pójść o krok dalej i weryfikować twierdzenia, które model wygenerował. Wyciągamy tematy, tagi, znaczniki rozdziałów — i moglibyśmy każde pojedyncze twierdzenie przepuścić przez Jeva, sprawdzając, czy jest prawdziwe i czy nic nie zostało zmyślone. W kodzie wyglądałoby to podobnie: wywołanie AI, a po nim drugi przebieg — Jev kontrolujący każdą tezę.
Kolejny przykład: router modeli, bardzo typowy element przy budowie agentów. U nas na pokładzie jest Junior, slackbot Sentry. Odpowiada na pytania, zakłada issue na GitHubie, pisze kod w tle, ciągnie dane z Linear i z Notion — jest podpięty praktycznie do wszystkiego. Gdy odpowiada, sam wybiera model, a siedzi za tym cały router tury z promptem opisującym, jakie żądania trafiają do jakich modeli. I znowu: idealny kandydat na Jeva. Cały router da się sprowadzić do dwóch pytań. Pierwsze: ile rozumowania wymaga to żądanie? Drugie: do którego profilu pasuje? Każdy profil wskazuje konkretny model, z którym należy rozmawiać. Zanim więc sięgniemy po LLM-a, najpierw klasyfikujemy wiadomość i dopiero potem przekazujemy ją dalej.
Demo: chatbot, w którym nie ma LLM-a
Na koniec demo, które zbudowałem sam: chatbot w ogóle niekorzystający z modelu językowego. Działa wyłącznie na wywołaniach narzędzi. Wyszedłem od demo inteligentnego asystenta domowego z dokumentacji Typesafe AI — opisano je tam jako punkt startowy.
Mamy więc bota bez LLM-a. Pytam go: „Jaka jutro pogoda w Denver?”. Ciekawe, że na wejściu przyjmujemy zwykły, swobodny tekst. Rozstrzygnięcie, o co naprawdę pyta użytkownik, bierzemy od Jeva, więc wiadomość nie musi pasować do żadnego szablonu. Mogę równie dobrze napisać „Powiedz mi, proszę, jaka pogoda w Denver” — i zadziała. W tym cała uroczność tego podejścia: pytamy Jeva, o co pyta użytkownik, jaki jest temat i jakie narzędzie wywołać, po czym dostajemy odpowiedź. Żadnego modelu językowego po drodze.
Po prawej stronie widać faktyczny przepływ. Najpierw Jev dostaje pytanie: co użytkownik żąda? Czy to nowe żądanie, potwierdzenie, a może anulowanie? Odpowiedź: żądanie. Potem: które narzędzie obsłuży ostatnią wiadomość? Mam zarejestrowanych sporo narzędzi: konwersja jednostek, wyszukiwanie w sieci, Wikipedia, wyszukiwarka przepisów, API listy zadań. Podpiąłem też Home Assistanta. Prezentujemy Jevowi cały ten katalog i pytamy, które wybrać — wskazał pogodowe. Jest tam też pytanie dodatkowe: jeżeli to żądanie pogody, to o które miejsce chodzi? Skorzystałem z funkcji Jeva, która potrafi wyłuskać fragment z przekazanych danych — i tak z wiadomości wyłapał słowo „Denver”, podając prawdopodobieństwa wszystkich możliwości. Do tego próbuje dobrać czas — teraz? dziś? jutro? — oraz jednostki. Na tej podstawie dostajemy odpowiedź: jakie narzędzie wywołać i z jakim wejściem, po czym w naszym kodzie wykonujemy to wywołanie w pełni deterministycznie.
Świetnie działają też pytania następcze. Gdy piszę „jaka najwyższa temperatura w Celsjuszach”, do kontekstu wchodzi cała dotychczasowa rozmowa. Jev wie więc, że poprzednio wróciło 86 stopni — i że trzeba je przeliczyć. Co ciekawe, zamiast zgadywać albo liczyć na piechotę, deterministycznie wywołał narzędzie konwersji jednostek, które ma wbudowane przeliczanie między systemami miar.
Drugie podpięte źródło to Wikipedia. Pytam „jak wysoko wznosi się Mount Rainier?” i bot wie, że trzeba sięgnąć po Wikipedię. Jest przy tym sposób, by Jev wskazał konkretne zdanie w danych odpowiadające na pytanie — i sobie poradził: pobrał artykuł i zacytował dokładnie to zdanie, w którym podano wysokość góry.
Pytać można o wszystko. „Kiedy wyszedł pierwszy film Zmierzch?” — i w tym wypadku bot sięgnął po wyszukiwarkę, nie po Wikipedię, i zna odpowiedź: 2008. Sama w sobie ta sztuczka nie jest żadnym cudem — z LLM-ami robiliśmy to od dawna. Ale sam fakt, że można wziąć istniejące, deterministyczne narzędzia — bo używaliśmy ich dotąd jako MCP-ów z modelami językowymi — i ułożyć odpowiedzi tak, by Jev na nie reagował bez generowania ani jednego zdania, to dla mnie ideał przy odpowiedziach faktograficznych. Dziś, gdy rozmawiamy z LLM-em, ten po prostu wypluje z siebie hałdę tekstu i nie mamy pojęcia, skąd się wzięła. Chatbot zakotwiczony w narzędziach, który dla każdego żądania robi wywołanie zamiast ryzykować zmyślenie, daje odpowiedzi znacznie bliższe źródłom. To się podoba.
Sterowanie domem
Ostatni przykład: mój dom. Podpiąłem bota do Home Assistanta, a z tyłu za mną mam lampkę sterowaną przez Home Assistant. Mogę ją wyłączać i włączać. Mówię: „Wyłącz górną żarówkę”. Nie ma tu żadnego filmowego montażu — i właśnie w tym rzecz: to, jak szybko to działa, najbardziej ujmuje. Gdyby prosić o to LLM-a, najpierw wymyśliłby wywołanie narzędzia, potem trzeba by je wykonać. Tu od pytania Jevowi do faktycznego wywołania API Home Assistanta minęło 300 milisekund. Dodaję: „Włącz ją z powrotem” — działa. „Zwiększ jasność do stu procent” — robi się jaśniej. „Zmień na zielony” — i po sprawie. Znów: nie jest to spektakularne, ale to, że odpowiedzi przychodzą tak szybko i że decyzje podejmowane są na podstawie mojego zwyczajnego, potocznego tekstu, jest po prostu fascynujące.
Jak to zbudowane? Wziąłem gotowe narzędzia MCP — bez żadnych przeróbek — i dodałem warstwę, w której Jev wybiera, które narzędzie wywołać. Jak pokazałem w inspektorze Jeva, całość wraca w jednej odpowiedzi: jakie narzędzie, jaką wartość wysłać i tak dalej. To drugi powód takiej prędkości — nie muszę dopytywać etapami („jakie narzędzie?”, „z jakimi argumentami?”). Wszystko przychodzi w jednym strzale, w dwieście milisekund albo szybciej.
Podsumowanie i dostępność
Tyle o Jevie: co to jest, jak używają go inni i jak używam go ja. Koniecznie zajrzyjcie do dokumentacji — jest tam wszystko wyjaśnione, wraz ze wzorcami użycia i cookbookami, czyli gotowymi przepisami. Możliwości jest bez liku, więc dajcie szansę. Na razie obowiązuje lista oczekujących — mnie wpuszczono dzień po zapisaniu się. A jeśli nie chcecie czekać, model jest dostępny przez Vercel AI Gateway. Być może odrobinę drożej, ale w ramach istniejącego planu — i rozmawia się z Jevem dokładnie tak samo. Dzięki za obejrzenie. Macie pytania o moje demo? Budujecie coś z Jevem? Dajcie znać w komentarzach.