DECISION SAMPLES - VEGA, BASAL-1.5-MINI, QWEN3 ============================================= How to use: open vega.html, tick the models you want to compare and press "load selected", then press "load samples.txt" and pick a sample (or paste the STATE block into the State box and the QUESTIONS block into the Questions box), and press decide (Ctrl+Enter). Each sample mixes boolean, choice and score questions. Every QUESTIONS block is valid JSON; the State box also accepts JSON (samples 6 and 12). Samples 7-12 are entirely in Polish: Polish state and Polish questions, option keys and descriptions. Your own file: use "open my .txt..." on the page. Write each sample as 1. a header line that starts with three dashes and a space, then a title 2. a line with only STATE:, followed by the text to decide (or a JSON object) 3. a line with only QUESTIONS:, followed by one JSON object of questions A file with just one STATE: and one QUESTIONS: block (no header) also works. Samples whose QUESTIONS are not valid JSON are skipped and named on the page. --- 1. Hotel review ------------------------------------------------ A mixed review: tests score vs choice vs boolean on the same text. STATE: Stayed three nights in March. The room was spotless and the bed was great, and the staff at reception went out of their way to find us a late checkout. Breakfast was the weak point: the same cold eggs every day and the coffee machine was broken twice. The location near the old town is perfect, but the street noise until 2 am made it hard to sleep with the window open. For the price I would probably come back, but I would ask for a room at the back. QUESTIONS: { "rating": { "type": "score", "instructions": "How positive is this review overall?", "criteria": [ "very negative", "negative", "mixed", "positive", "very positive" ] }, "main_complaint": { "type": "choice", "instructions": "What does the guest complain about most?", "criteria": { "cleanliness": "dirty rooms or bathrooms", "food": "breakfast, restaurant, drinks", "noise": "street, neighbours, building noise", "staff": "rude or unhelpful staff", "price": "poor value for money" } }, "would_return": { "type": "boolean", "instructions": "Does the guest say they would stay here again?", "criteria": null } } --- 2. IT helpdesk ticket ------------------------------------------ Routing with eight queues plus urgency; the text names two problems. STATE: Since this morning's Windows update my laptop won't connect to the office VPN (error 809). I can still reach Outlook on my phone. I also noticed the printer on floor 3 is printing everything in light grey again. I have a client presentation at 14:00 and need the shared drive for it. QUESTIONS: { "queue": { "type": "choice", "instructions": "Which helpdesk queue should take this ticket first?", "criteria": { "network": "VPN, wifi, connectivity", "accounts": "passwords, MFA, access rights", "hardware": "laptops, printers, peripherals", "email": "Outlook, mailboxes, calendars", "software": "installs, updates, licences", "security": "phishing, malware, incidents", "facilities": "rooms, desks, AV equipment", "other": "none of the above" } }, "urgency": { "type": "score", "instructions": "How urgent is this ticket?", "criteria": [ "can wait a week", "this week", "today", "within the hour" ] }, "multiple_issues": { "type": "boolean", "instructions": "Does the ticket report more than one separate problem?", "criteria": { "false": "one problem", "true": "two or more unrelated problems" } } } --- 3. Polish customer complaint (reklamacja) ---------------------- Polish state, English questions: shows how both models handle another language. STATE: Dzień dobry, zamówiłem pralkę 2 tygodnie temu, kurier przywiózł ją z wgniecionym bokiem, a przy pierwszym praniu wyciekła woda na całą łazienkę. Dzwoniłem dwa razy na infolinię i nikt nie oddzwonił. Żądam wymiany na nowy egzemplarz albo zwrotu pieniędzy. Jeśli do piątku nie dostanę odpowiedzi, zgłaszam sprawę do rzecznika konsumentów. QUESTIONS: { "request": { "type": "choice", "instructions": "What does the customer ask for?", "criteria": { "replacement_or_refund": "a new unit or the money back", "repair": "fix the existing unit", "discount": "a partial refund, keep the product", "information": "only wants an answer or status", "cancel_order": "cancel before delivery" } }, "escalation_threat": { "type": "boolean", "instructions": "Does the customer threaten to escalate to an outside authority?", "criteria": null }, "anger": { "type": "score", "instructions": "How angry is the customer?", "criteria": [ "calm", "annoyed", "angry", "furious" ] } } --- 4. Contract clause --------------------------------------------- Legal-style text; boolean with explicit criteria and a risk score. STATE: 14.2 Either party may terminate this Agreement for convenience on ninety (90) days' written notice. 14.3 Upon termination for any reason, the Customer shall pay all fees for the remainder of the then-current Subscription Term, which shall become immediately due. 14.4 The Supplier may suspend the Services without notice if any invoice is more than ten (10) days overdue. QUESTIONS: { "customer_can_exit": { "type": "boolean", "instructions": "Can the customer leave the contract early without paying for the rest of the term?", "criteria": { "false": "early exit still costs the remaining fees", "true": "early exit costs nothing extra" } }, "risk_for_customer": { "type": "score", "instructions": "How risky are these clauses for the customer?", "criteria": [ "low", "moderate", "high", "very high" ] }, "riskiest_clause": { "type": "choice", "instructions": "Which clause is worst for the customer?", "criteria": { "14.2": "termination for convenience with notice", "14.3": "remaining fees due on termination", "14.4": "suspension without notice for late invoices" } } } --- 5. Social media comment ---------------------------------------- Moderation: an aggressive but not abusive comment, to see where the models draw the line. STATE: Your 'update' broke the app AGAIN. Third time this month. Whoever signed off on this release should be fired, honestly. I'm cancelling my subscription today and telling everyone I know to do the same. QUESTIONS: { "action": { "type": "choice", "instructions": "What should the moderator do with this comment?", "criteria": { "keep": "acceptable criticism, leave it up", "reply": "keep it and answer from the brand account", "hide": "hide it from public view", "remove": "delete it and warn the user" } }, "abusive": { "type": "boolean", "instructions": "Does the comment contain abuse, threats or slurs against a person?", "criteria": null }, "churn": { "type": "score", "instructions": "How likely is this user to cancel?", "criteria": [ "not at all", "unlikely", "possible", "likely", "certain" ] } } --- 6. Meeting notes (JSON state) ---------------------------------- A structured state: paste the JSON into the State box and it is passed as an object. STATE: { "meeting": "Q3 launch sync", "date": "2026-10-12", "attendees": [ "Ola", "Marek", "Priya" ], "notes": [ "Landing page copy still not approved by legal", "Marek will book the photographer by Friday", "Budget for ads cut by 20%, Priya to rework the plan", "Launch date stays 2026-11-03 unless legal blocks the copy" ] } QUESTIONS: { "launch_at_risk": { "type": "boolean", "instructions": "Is the launch date at risk?", "criteria": null }, "blocker": { "type": "choice", "instructions": "What is the main blocker right now?", "criteria": { "legal": "approval from legal", "budget": "money for ads", "content": "photos or copy not produced", "people": "missing staff", "none": "nothing is blocking" } }, "followups": { "type": "score", "instructions": "How many concrete action items with an owner do the notes contain?", "criteria": [ "none", "one", "two", "three or more" ] } } --- 7. Wezwanie z urzędu skarbowego --------------------------------- Termin do policzenia z dat w piśmie i rodzaj żądania urzędu. STATE: Naczelnik Urzędu Skarbowego wzywa Panią do przedłożenia w terminie 7 dni od dnia doręczenia niniejszego wezwania dokumentów potwierdzających poniesienie wydatków na termomodernizację budynku jednorodzinnego (faktury i potwierdzenia zapłaty), odliczonych w zeznaniu PIT-37 za 2025 r. Wezwanie doręczono 2 października 2026 r. (piątek). Odpowiedź z kompletem faktur nadano w placówce pocztowej 8 października 2026 r. (czwartek). Niezastosowanie się do wezwania może skutkować nałożeniem kary porządkowej. QUESTIONS: { "w_terminie": { "type": "boolean", "instructions": "Czy odpowiedź na wezwanie wysłano w terminie?", "criteria": { "false": "nie, po upływie terminu", "true": "tak, w terminie" } }, "czego_dotyczy": { "type": "choice", "instructions": "Czego żąda urząd w tym wezwaniu?", "criteria": { "dokumenty": "przedłożenia dokumentów lub dowodów", "zapłata": "zapłaty zaległego podatku", "korekta": "złożenia korekty zeznania", "wyjaśnienia": "pisemnych wyjaśnień bez dokumentów", "stawiennictwo": "osobistego stawiennictwa w urzędzie" } }, "pilność": { "type": "score", "instructions": "Jak pilna była ta sprawa w dniu doręczenia wezwania?", "criteria": [ "niska – można odłożyć", "średnia – w ciągu miesiąca", "wysoka – w ciągu tygodnia", "krytyczna – natychmiast" ] } } --- 8. Awaria systemu kasowego w sieci sklepów ---------------------- Zgłoszenie do działu IT: wybór kolejki, priorytet i zasięg awarii. STATE: Od 8:15 w 12 sklepach w województwie mazowieckim terminale płatnicze odrzucają karty z komunikatem „brak połączenia z hostem”. Gotówka działa. Kierownicy zgłaszają kolejki do kas i klientów odchodzących bez zakupów. Wczoraj wieczorem zespół sieci zmieniał konfigurację zapory w centrali. W pozostałych 40 sklepach płatności działają normalnie. QUESTIONS: { "kolejka": { "type": "choice", "instructions": "Do którego zespołu skierować to zgłoszenie w pierwszej kolejności?", "criteria": { "sieć": "łącza, zapory, VPN, routing", "płatności": "terminale i operator kart", "sprzęt": "kasy, drukarki, czytniki", "oprogramowanie": "system kasowy i aktualizacje", "bezpieczeństwo": "incydenty i ataki", "inne": "żadne z powyższych" } }, "priorytet": { "type": "score", "instructions": "Jaki priorytet nadać temu zgłoszeniu?", "criteria": [ "niski", "normalny", "wysoki", "krytyczny" ] }, "wiele_lokalizacji": { "type": "boolean", "instructions": "Czy awaria dotyczy więcej niż jednego sklepu?", "criteria": null } } --- 9. Opinia o zakupie w sklepie internetowym --------------------- Mieszana recenzja: ocena ogólna, główny zarzut i czy klient poleca sklep. STATE: Odkurzacz przyszedł szybko, już następnego dnia, i dobrze zapakowany. Ssie naprawdę mocno, a bateria wystarcza na całe mieszkanie. Niestety po tygodniu zaczęła piszczeć ładowarka, a sklep przez 10 dni nie odpowiedział na maila w sprawie reklamacji. Dopiero po telefonie przysłali nową ładowarkę. Sam sprzęt polecam, ale obsługi klienta w tym sklepie nie. QUESTIONS: { "ocena": { "type": "score", "instructions": "Jak pozytywna jest ta opinia ogólnie?", "criteria": [ "bardzo negatywna", "negatywna", "mieszana", "pozytywna", "bardzo pozytywna" ] }, "główny_zarzut": { "type": "choice", "instructions": "Na co klient narzeka najbardziej?", "criteria": { "dostawa": "czas dostawy lub uszkodzenie paczki", "produkt": "działanie lub jakość samego urządzenia", "obsługa": "kontakt ze sklepem i reklamacja", "cena": "stosunek ceny do jakości", "opis": "niezgodność z opisem w sklepie" } }, "poleca_sklep": { "type": "boolean", "instructions": "Czy klient poleca ten sklep (a nie tylko produkt)?", "criteria": { "false": "nie poleca sklepu", "true": "poleca sklep" } } } --- 10. Żądanie dotyczące danych osobowych (RODO) ------------------ Kilka żądań w jednym mailu: rodzaj sprawy, czy żądań jest więcej niż jedno, ryzyko. STATE: Szanowni Państwo, od miesiąca dostaję od Was SMS-y z ofertami pożyczek, choć nigdy nie wyrażałem na to zgody. Na podstawie RODO proszę o informację, skąd macie mój numer telefonu i komu go przekazaliście, a następnie o usunięcie wszystkich moich danych. Jeśli nie dostanę odpowiedzi w ustawowym terminie, złożę skargę do Prezesa UODO. Jan Kowalski, tel. 600 100 200. QUESTIONS: { "rodzaj_żądania": { "type": "choice", "instructions": "Które żądanie jest w tym mailu najważniejsze dla klienta?", "criteria": { "usunięcie": "usunięcie danych (prawo do bycia zapomnianym)", "dostęp": "informacja o danych, ich źródle i odbiorcach", "sprostowanie": "poprawienie błędnych danych", "sprzeciw": "tylko wstrzymanie marketingu", "przeniesienie": "przekazanie danych innej firmie" } }, "wiele_żądań": { "type": "boolean", "instructions": "Czy klient zgłasza więcej niż jedno żądanie z RODO?", "criteria": null }, "ryzyko_prawne": { "type": "score", "instructions": "Jak duże jest ryzyko prawne dla firmy, jeśli sprawa zostanie zignorowana?", "criteria": [ "znikome", "niskie", "średnie", "wysokie" ] } } --- 11. SMS o dopłacie do przesyłki -------------------------------- Typowy polski SMS-owy phishing: czy to oszustwo, czego dotyczy i jak groźny jest. STATE: InPost: Twoja przesyłka nr 6200 1834 zostala wstrzymana z powodu niedoplaty 1,99 zl. Ureguluj platnosc w ciagu 24h, inaczej paczka wroci do nadawcy: https://inpost-dopłata.com-pl.info/p/6200 QUESTIONS: { "oszustwo": { "type": "boolean", "instructions": "Czy ta wiadomość to próba oszustwa (phishing)?", "criteria": null }, "czego_chce": { "type": "choice", "instructions": "Do czego nakłania nadawca wiadomości?", "criteria": { "płatność": "zapłaty kartą lub przelewem przez link", "logowanie": "zalogowania się do konta lub banku", "aplikacja": "instalacji aplikacji", "kontakt": "oddzwonienia lub odpisania", "informacja": "niczego, to tylko informacja" } }, "zagrożenie": { "type": "score", "instructions": "Jak groźne jest kliknięcie w ten link dla odbiorcy?", "criteria": [ "brak zagrożenia", "niewielkie", "poważne", "bardzo poważne" ] } } --- 12. Zgłoszenie szkody z polisy (JSON) -------------------------- Stan w JSON z polskimi kluczami: daty polisy kontra data zdarzenia. STATE: { "polisa": { "numer": "AC/2025/48812", "zakres": ["OC", "AC"], "ważna_od": "2025-10-01", "ważna_do": "2026-09-30" }, "zgłoszenie": { "data_zdarzenia": "2026-10-02", "opis": "Podczas parkowania na parkingu pod blokiem uderzyłem tyłem w słupek. Wgnieciony zderzak i pęknięta lampa.", "szacowany_koszt_zł": 4200, "inne_pojazdy": false } } QUESTIONS: { "objęte_ochroną": { "type": "boolean", "instructions": "Czy w dniu zdarzenia polisa była ważna?", "criteria": { "false": "nie, polisa już wygasła", "true": "tak, polisa była ważna" } }, "rodzaj_szkody": { "type": "choice", "instructions": "Jakiego rodzaju jest ta szkoda?", "criteria": { "parkingowa": "uszkodzenie własnego auta przy manewrowaniu", "kolizja": "zderzenie z innym pojazdem", "kradzież": "kradzież pojazdu lub części", "żywioł": "grad, powódź, wichura", "wandalizm": "celowe zniszczenie przez osoby trzecie" } }, "kwota": { "type": "score", "instructions": "Jak duża jest szacowana kwota szkody?", "criteria": [ "do 1000 zł", "1000-5000 zł", "5000-20000 zł", "ponad 20000 zł" ] } }