JEV - 呪文ではなく、閉じた問いを設計する
真偽、選択、段階が言語として足りるのは、業務を互いに邪魔しない閉じた問いに分け、状態を物語より先に圧縮したときです。クーポンを出すかは、コードのしきい値に残します。

共著者:folkbench.com (Folkbench は、AI API、モデルサービス、関連サイト向けの、検証できる評価・選定プラットフォームです。公開されたサービス情報、価格、可用性、レイテンシ、証拠の期間をもとに、利用者が経路を比較して選べるようにします。)
この一連は、十篇です。
- JEV - 関節に脳は要りません
- JEV - 制御ノードの潤滑剤
- JEV - BERT から、一枚の分布へ
- JEV - 呪文ではなく、閉じた問いを設計する
- JEV - 反トークンの台帳は、これを先に出さない
- JEV - 返るのは分布だけ、二つの demo
- JEV - ループを出る:確信度をコードに書く
- JEV - 線を越えたあと、より賢さは売りにならない
- JEV - 直感と理性:関節に問わない言葉
- JEV - 画面操作から、確率だけへ
指示の仕事の前半は、詩学でした。安定した JSON を得るために、人は役割を書き、脅しを書き、例をいくつか書き、XML を書きました。それは、無限の token の組み合わせの中の囲い込みでした。Jev はその囲い込みを取り消します。解空間は推論の前に閉じます。設計するのは、よりよい呪文ではありません。状態と、互いに邪魔しない閉じた問いがいくつかです。真偽、選択、段階が言語として足りるのは、業務をこの三つの形に分ける気があるときだけです。
囲い込みから質問票へ
[ generative ]
prompt (role, examples, format restraints) → infinite tokens → text that can drift
[ Jev ]
state + closed questions (Noul / Choice / Score) → a finite set → one distribution
三つの問いは、聞いてよいことを言い切ります。
- 真偽、Noul。欲しいのは「はい」の確率で、しきい値を試すために使います。しきい値を越えたかはコードが決めます。空値ではありません。
- 単一選択、Choice。選択肢はあらかじめ固定し、多くて 255 です。各選択肢には、何を指すかを書きます。意図と振り分けに使います。
- 段階、Score。2 から 10 の段を、低い方から高い方へ具体的な場合として書きます。程度に使います。新しい類を発明するためには使いません。
形式だけが仕事だった指示は、これで失効します。残る技は、状態をどう圧縮するか、そして大きな問いをどう分けるかです。
状態は物語に勝たなければならない
状態は物語を聞きません。原則は、飾りを落とし、出来事の順を残し、事実を残すことです。
利用者が離れるかを問う生成式の書き方は、よくこうなります。
あなたは上級のサポート担当です。プロフィールと対話を読み、解約したいかを判断し、理由を説明し、JSON を出してください。プロフィール:Zhang San、VIP3、登録から 2 年。利用者は、機能がまた壊れ、データが消えたと言います。サポートは、修理中だと言います。利用者は、もういい、返金の方法を教えてくれ、と言います。
問題は役割の文と埋め草です。モデルは「あなたは専門家だ」に注意を割き、出力は「もういい」に引っ張られます。
Jev が食べるのは、圧縮された状態です。
{
"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"}
]
}
元の対話は一行残してよいですが、意図と影響は自分の欄に置きます。モデルが読むのは状態の木であり、作文ではありません。
一つの業務の問いを三つに分ける
「50 元のクーポンを出すべきか」は、一つの閉じた問いではありません。中に意図、怒り、不正、費用が重なっています。Jev では一発で当てると失敗します。直交する三つの問いに分け、クーポンの方針はコードに残します。
state ─┬─ Choice primary intent
├─ Score negative degree, rungs 1 to 5
└─ Noul does this look like farming coupons
意図
Choice。空間は、技術的な質問、製品の提案、障害の苦情、悪意のある請求です。題幹が問うのは、この回の主たる意図だけです。払うべきかは問いません。
[State]
{ ...compressed state... }
[Question]
From the dialogue, which class is the primary intent of this turn.
程度
Score。段 1 は疑問か軽い不満です。段 3 は明確な不満で、説明を求めます。段 5 は極端な感情か、返金または解約がすでに卓上にあることです。裸の「1 から 5」を渡してはいけません。各段を場合として書きます。
[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
はいか、いいえか
Noul。直近 30 日の請求回数を状態へ入れ、この回がクーポンの不正な刈り取りに合うかを問います。戻るのは確率です。しきい値はコードに書きます。
[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.
コードが受け取るのは分布だけ
下流は、壊れ得る JSON の文字列をもう解析しません。三つの結果は、それぞれ数か表です。業務の条件は関数の中に残します。
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"
モデルを置き換えても、出力の形はこの三つです。形式の崩壊は、故障の種類ではなくなります。決定性は「モデルは決して間違えない」にはなりません。決定性とは、間違えてもあなたが書いたマスに落ち、分岐はなお試せる、ということです。
修辞は退場する
| 観点 | 生成の指示 | Jev |
|---|---|---|
| 技 | 文体、例、形式の呪文 | 業務を分ける、状態を圧縮する、離散空間を描く |
| 解空間 | 開いている | 閉じている:Noul / Choice / Score |
| 安定 | 措辞と温度 | 構造。出力は生まれながら分布である |
| デバッグ | 形容詞を直し、調子を足し、例を足す | 状態の欄を直し、問いが直交するまで分ける |
真偽、選択、段階が言語として足りるのは、「次に何をすべきか」をこの三つへ分けられるちょうどそのときです。分けられない一区切りは、この言語の失敗ではありません。関節に入るべきではありません。話せるモデルか、人に残します。