JEV - Die geschlossene Frage entwerfen
Ja-Nein, Auswahl und Stufe reichen als Sprache, wenn das Geschäft in geschlossene Fragen zerlegt wird, die sich nicht stören, und der Zustand die Geschichte überwiegt. Ob der Gutschein ausgegeben wird, bleibt eine Schwelle im Code.

Mitautor: folkbench.com (Folkbench ist eine überprüfbare Bewertungs- und Auswahlplattform für KI-APIs, Modelldienste und verwandte Sites. Sie nutzt veröffentlichte Angaben zu Diensten, Preisen, Verfügbarkeit, Latenz und Evidenzfenstern, damit Nutzer Wege vergleichen und einen davon wählen können.)
Zehn Texte in dieser Reihe:
- JEV - Ein Gelenk braucht kein Gehirn
- JEV - Das Schmiermittel auf den Steuerknoten
- JEV - Von BERT zurück zu einer Verteilung
- JEV - Die geschlossene Frage entwerfen
- JEV - Das Anti-Token-Buch liefert es nicht zuerst
- JEV - Zwei Demos, die nur eine Verteilung zurückgeben
- JEV - Raus aus der Schleife: Konfidenz in den Code
- JEV - Hinter der Linie ist klüger nicht mehr das Produkt
- JEV - Intuition und Vernunft: Fragen, die ihm nicht gehören
- JEV - Vom Bildschirm zur nackten Wahrscheinlichkeit
Die erste Hälfte der Arbeit an Anweisungen war eine Poetik. Um stabiles JSON zu bekommen, schrieb man eine Rolle, eine Drohung, ein paar Beispiele und etwas XML. Das war eine Blockade in einer unendlichen Kombination von tokens. Jev hebt die Blockade auf. Der Lösungsraum ist vor der Inferenz geschlossen. Was Sie entwerfen, ist kein besserer Zauber. Es ist ein Zustand, plus ein paar geschlossene Fragen, die einander nicht stören. Ja-Nein, Auswahl und Stufe reichen als Sprache nur, wenn Sie bereit sind, das Geschäft in diese drei Formen zu zerlegen.
Von einer Blockade zu einem Fragebogen
[ generative ]
prompt (role, examples, format restraints) → infinite tokens → text that can drift
[ Jev ]
state + closed questions (Noul / Choice / Score) → a finite set → one distribution
Die drei Fragen schließen ab, was man rechtmäßig fragen darf:
- Ja-Nein, Noul. Was Sie wollen, ist die Wahrscheinlichkeit von „ja“, benutzt, um eine Schwelle zu prüfen. Der Code entscheidet, ob die Schwelle überschritten wird. Es ist kein leerer Wert.
- Einfachauswahl, Choice. Die Optionen stehen vorher fest, höchstens 255. Jede Option sagt, was sie bedeutet. Nutzen Sie sie für Absicht und Weiterleitung.
- Stufe, Score. 2 bis 10 Stufen, von niedrig nach hoch als konkrete Fälle geschrieben. Nutzen Sie sie für den Grad. Nutzen Sie sie nicht, um eine neue Klasse zu erfinden.
Die Anweisungen, deren einzige Aufgabe das Format war, verfallen deshalb. Das Handwerk, das bleibt, ist, wie man den Zustand verdichtet, und wie man eine große Frage teilt.
Der Zustand muss die Geschichte schlagen
Der Zustand hört nicht auf eine Geschichte. Die Regel ist, Schmuck wegzulassen, die Reihenfolge der Ereignisse zu behalten und die Tatsachen zu behalten.
Eine generative Art zu fragen, ob ein Nutzer gehen wird, sieht oft so aus:
Sie sind eine leitende Person im Support. Lesen Sie das Profil und den Dialog, entscheiden Sie, ob er kündigen will, erklären Sie, und geben Sie JSON aus. Profil: Zhang San, VIP3, seit 2 Jahren registriert. Der Nutzer sagt, die Funktion sei wieder abgestürzt und die Daten seien weg. Der Support sagt, es werde repariert. Der Nutzer sagt, lassen Sie es, und fragt, wie er eine Erstattung bekommt.
Das Problem ist der Rollensatz und der Füllstoff. Das Modell gibt Aufmerksamkeit an „Sie sind ein Experte“ aus, und die Ausgabe wird von „lassen Sie es“ herumgezogen.
Was Jev frisst, ist der verdichtete Zustand:
{
"user_profile": {"tier": "VIP3", "tenure_months": 24},
"last_event": {"type": "system_error", "impact": "data_loss"},
"dialogue_history": [
{"role": "user", "intent": "complain", "content": "feature crashed, data lost"},
{"role": "agent", "intent": "apology", "content": "fix in progress"},
{"role": "user", "intent": "churn_explicit", "content": "asks for a refund and says they will stop"}
]
}
Eine Zeile des ursprünglichen Dialogs kann bleiben, aber Absicht und Wirkung sitzen in eigenen Feldern. Das Modell liest einen Baum von Zustand, nicht einen Aufsatz.
Eine Geschäftsfrage in drei teilen
„Sollen wir einen Gutschein über 50 Yuan ausgeben“ ist keine geschlossene Frage. Absicht, Ärger, Betrug und Kosten liegen darin aufeinander. Ein einziger Schuss scheitert in Jev. Teilen Sie sie in drei orthogonale Fragen, und lassen Sie die Gutscheinrichtlinie im Code.
state ─┬─ Choice primary intent
├─ Score negative degree, rungs 1 to 5
└─ Noul does this look like farming coupons
Absicht
Choice. Der Raum ist: technische Frage, Produktvorschlag, Störungsmeldung, böswillige Forderung. Der Stamm fragt nur nach der Hauptabsicht dieses Durchgangs. Er fragt nicht, ob gezahlt werden soll.
[State]
{ ...compressed state... }
[Question]
From the dialogue, which class is the primary intent of this turn.
Grad
Score. Stufe 1 ist eine Frage oder eine milde Beschwerde. Stufe 3 ist eine klare Beschwerde, die eine Erklärung verlangt. Stufe 5 ist extreme Emotion, oder eine Erstattung oder Kontoschließung liegt schon auf dem Tisch. Geben Sie ihm kein nacktes „1 bis 5“. Schreiben Sie jede Stufe als einen Fall.
[State]
{ ...compressed state... }
[Question]
Score the negative degree on these rungs.
1: a question, or a mild complaint
3: a clear complaint that demands an explanation
5: extreme emotion, or a refund or closure already requested
Ja oder nein
Noul. Legen Sie die Zahl der Forderungen der letzten 30 Tage in den Zustand, und fragen Sie, ob dieser Durchgang zum Abschöpfen von Gutscheinen passt. Zurück kommt eine Wahrscheinlichkeit. Die Schwelle steht im Code.
[State]
{ ...state, plus claim count for 30 days... }
[Question]
Historical claims are greater than 3, and the impact of this incident is low. Does this turn match coupon farming.
Der Code empfängt nur die Verteilung
Die nachgelagerte Seite zerlegt nicht mehr eine JSON-Zeichenkette, die brechen kann. Jedes der drei Ergebnisse ist eine Zahl oder eine Tabelle. Die Geschäftsbedingungen bleiben in der Funktion.
intent = jev.choice(
state=user_state,
options=["tech_support", "feedback", "complaint", "malicious"],
)
anger = jev.score(state=user_state, rungs=5)
fraud = jev.noul(state=user_state_with_history)
def handle_coupon(intent, anger, fraud):
if fraud.p_yes >= 0.9:
return "DENY_AND_HANDOFF"
if intent.top == "complaint" and anger.expected >= 4:
return "ISSUE_50_COUPON"
return "STANDARD_APOLOGY"
Wenn das Modell ersetzt wird, ist die Form der Ausgabe immer noch diese drei. Der Zusammenbruch des Formats hört auf, ein Fehlertyp zu sein. Determinismus wird nicht zu „das Modell irrt sich nie“. Determinismus heißt: ein Fehler landet immer noch in einer Zelle, die Sie geschrieben haben, und der Zweig lässt sich immer noch prüfen.
Die Rhetorik tritt ab
| Dimension | Generative Anweisung | Jev |
|---|---|---|
| Handwerk | Stil, Beispiele, Formatzauber | Das Geschäft teilen, den Zustand verdichten, einen diskreten Raum zeichnen |
| Lösungsraum | Offen | Geschlossen: Noul / Choice / Score |
| Stabilität | Formulierung und Temperatur | Struktur; die Ausgabe ist von Natur aus eine Verteilung |
| Fehlersuche | Adjektive ändern, Ton hinzufügen, Beispiele hinzufügen | Die Felder des Zustands ändern, die Frage teilen, bis sie orthogonal ist |
Ja-Nein, Auswahl und Stufe reichen als Sprache genau dann, wenn „was sollen wir als Nächstes tun“ sich in die drei teilen lässt. Der Teil, der sich nicht teilen lässt, ist kein Versagen der Sprache. Er gehört nicht ins Gelenk. Lassen Sie ihn einem Modell, das sprechen kann, oder einem Menschen.