JEV - Desenhar a pergunta fechada, não o feitiço
Sim-não, escolha e nível chegam como linguagem quando o negócio se parte em perguntas fechadas que não interferem, e o estado se comprime para lá da história. Emitir o cupão ou não fica num limiar no código.

Coautor: folkbench.com (Folkbench é uma plataforma de avaliação e seleção que se pode rever, para APIs de IA, serviços de modelos e sites relacionados. Apoia-se em informação publicada sobre o serviço, preços, disponibilidade, latência e janelas de evidência para ajudar os utilizadores a comparar e a escolher um caminho.)
Dez textos nesta série:
- JEV - Uma articulação não precisa de um cérebro
- JEV - O lubrificante nos nós de controlo
- JEV - De BERT de volta a uma distribuição
- JEV - Desenhar a pergunta fechada, não o feitiço
- JEV - O livro anti-token não o lança primeiro
- JEV - Duas demos que só devolvem uma distribuição
- JEV - Sair do ciclo: a confiança entra no código
- JEV - Depois da linha, mais inteligente já não é o produto
- JEV - Intuição e razão: perguntas que não lhe pertencem
- JEV - Do ecrã a uma probabilidade nua
A primeira metade do trabalho com instruções foi uma poética. Para obter um JSON estável, as pessoas escreviam um papel, uma ameaça, alguns exemplos e algum XML. Isso era um bloqueio dentro de uma combinação infinita de tokens. O Jev cancela o bloqueio. O espaço de soluções fecha-se antes da inferência. O que você desenha não é um feitiço melhor. É um estado, mais algumas perguntas fechadas que não interferem umas com as outras. Sim-não, escolha e nível chegam como linguagem só se você estiver disposto a partir o negócio nessas três formas.
De um bloqueio a um questionário
[ generative ]
prompt (role, examples, format restraints) → infinite tokens → text that can drift
[ Jev ]
state + closed questions (Noul / Choice / Score) → a finite set → one distribution
As três perguntas fecham o que é lícito perguntar:
- Sim-não, Noul. O que você quer é a probabilidade de «sim», usada para testar um limiar. O código decide se o limiar é atravessado. Não é um valor vazio.
- Escolha única, Choice. As opções ficam fixas de antemão, 255 no máximo. Cada opção diz o que significa. Use-a para a intenção e o encaminhamento.
- Nível, Score. De 2 a 10 degraus, escritos de baixo para cima como casos concretos. Use-o para o grau. Não o use para inventar uma classe nova.
As instruções cujo único trabalho era o formato, portanto, caducam. O ofício que resta é como comprimir o estado, e como partir uma pergunta grande.
O estado tem de vencer a história
O estado não ouve uma história. A regra é largar o enfeite, guardar a ordem dos acontecimentos e guardar os factos.
Uma maneira generativa de perguntar se um utilizador vai sair muitas vezes parece-se com isto:
Você é uma pessoa sénior de apoio. Leia o perfil e o diálogo, decida se ele quer cancelar, explique e emita JSON. Perfil: Zhang San, VIP3, registado há 2 anos. O utilizador diz que a função voltou a cair e que os dados desapareceram. O apoio diz que está a ser reparado. O utilizador diz para esquecer, e pergunta como obter um reembolso.
O problema é a frase do papel e o enchimento. O modelo gasta atenção em «você é um perito», e a saída deixa-se puxar por «esqueça».
O que o Jev come é o estado comprimido:
{
"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"}
]
}
Uma linha do diálogo original pode ficar, mas a intenção e o impacto sentam-se em campos próprios. O modelo lê uma árvore de estado, não um ensaio.
Partir uma pergunta de negócio em três
«Devemos emitir um cupão de 50 yuan» não é uma pergunta fechada. Intenção, irritação, fraude e custo estão empilhados lá dentro. Um só tiro falha no Jev. Parta-a em três perguntas ortogonais, e deixe a política do cupão no código.
state ─┬─ Choice primary intent
├─ Score negative degree, rungs 1 to 5
└─ Noul does this look like farming coupons
Intenção
Choice. O espaço é: pergunta técnica, sugestão de produto, queixa de uma falha, reclamação maliciosa. O enunciado pergunta só pela intenção principal deste turno. Não pergunta se se deve pagar.
[State]
{ ...compressed state... }
[Question]
From the dialogue, which class is the primary intent of this turn.
Grau
Score. O degrau 1 é uma dúvida ou uma queixa leve. O degrau 3 é uma queixa clara que exige uma explicação. O degrau 5 é emoção extrema, ou um reembolso ou o encerramento da conta já em cima da mesa. Não lhe entregue um «1 a 5» nu. Escreva cada degrau como um caso.
[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
Sim ou não
Noul. Ponha no estado a contagem de reclamações dos últimos 30 dias, e pergunte se este turno corresponde à exploração de cupões. O que volta é uma probabilidade. O limiar escreve-se no código.
[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.
O código só recebe a distribuição
A jusante já não se analisa uma cadeia de JSON que pode partir. Cada um dos três resultados é um número ou uma tabela. As condições de negócio ficam na função.
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"
Quando o modelo é substituído, a forma da saída continua a ser estas três. O colapso do formato deixa de ser um tipo de falha. O determinismo não se torna «o modelo nunca se engana». O determinismo quer dizer que um erro ainda cai numa célula que você escreveu, e o ramo ainda se pode testar.
A retórica sai
| Dimensão | Instrução generativa | Jev |
|---|---|---|
| Ofício | Estilo, exemplos, feitiços de formato | Partir o negócio, comprimir o estado, desenhar um espaço discreto |
| Espaço de soluções | Aberto | Fechado: Noul / Choice / Score |
| Estabilidade | Redação e temperatura | Estrutura; a saída é uma distribuição por natureza |
| Depuração | Editar adjetivos, acrescentar tom, acrescentar exemplos | Editar os campos do estado, partir a pergunta até ser ortogonal |
Sim-não, escolha e nível chegam como linguagem exatamente quando «o que devemos fazer a seguir» se pode partir nas três. A parte que não se parte não é uma falha da linguagem. Não pertence à articulação. Deixe-a a um modelo que saiba falar, ou a uma pessoa.