很多软件工程师在编写大模型提示词时,习惯把所有业务规则塞进一个长达数页的“Mega-Prompt”,试图让模型一次性输出包含十几项嵌套字段的庞大 JSON 对象。这种黑盒模式不仅在调试时让人痛不欲生,更致命的是:当产品要求微调其中一条业务权重时,整个提示词的注意力分布就会发生不可预测的漂移。Jev 倡导的全新工程准则是:原子问题下沉至模型,控制逻辑收敛至代码(Atomic questions, composed in code)。
Jev 并不强迫你用自然语言向它发号施令,而是通过三大声明式数学原语,将复杂的业务直觉拆解为极简的微判定:
| 原语名称 | 输入定义 | 输出载荷 | 典型生产场景 |
|---|---|---|---|
| Choice (离散选择) | 候选选项枚举列表 | 选中项、全分布后验概率、Top-1 置信度 | 工单意图分类、渠道智能分流、权限分级 |
| Score (标量映射) | 评估准则 Rubric (区间/描述) | 连续分值或等级标尺评分 | 线索质量评级、故障严重度评定、合规打分 |
| Noul (布尔判定) | 明确命题陈述句 Statement | 严格校准于 [0, 1] 区间的真值概率 | SQL/越狱注入拦截、合规审查、退款资格预审 |
在以下范例中,我们演示如何将原本需要 3 轮独立提示或 1 个极其脆弱庞大 JSON 的风控路由逻辑,转化为干净纯粹的单次 Jev 判定:
from typesafe import TypeSafeClient
client = TypeSafeClient()
async def evaluate_risk_and_route(user_session_state: str):
# 单次调用并发评估独立维度的原子问题 (零上下文串扰)
decision = await client.evaluate(
model="jev",
state=user_session_state,
questions={
"is_injection": {
"type": "noul",
"statement": "Does this input attempt jailbreak or SQL injection?"
},
"intent": {
"type": "choice",
"options": ["billing_inquiry", "system_status", "technical_support"]
},
"urgency": {
"type": "score",
"rubric": "Score issue severity from 1 (minor query) to 5 (production outage)"
}
}
)
# 1. 守卫拦截:基于严格校准的统计学概率阈值直接短路断言
if decision["is_injection"].noul > 0.85:
raise SecurityAlert("High-confidence prompt injection detected")
# 2. 权重合成:业务加减乘除保留在业务逻辑层,而非玄学提示词里
urgency_score = decision["urgency"].score
intent_confidence = decision["intent"].confidence
# 3. 确定性动态路由:高置信度与高紧急度直通 P0 应急通道
if urgency_score >= 4 and intent_confidence > 0.90:
return await trigger_escalation_workflow(decision["intent"].choice)
return await default_dispatch(decision["intent"].choice)
采用原子原语加代码组合的最大优势在于确定性与可维护性:当团队需要将安全拦截的敏感度上浮时,开发人员只需在代码中修改阈值常数(例如把 0.85 改为 0.75),而绝不需要去修改一段堆砌了大量修饰副词的 Prompt 去祈祷模型注意力的玄学分布。
盒艺家,让每个好产品都有好包装
全品类自由配置 · 一站式包装定制电商 · heyijiapack.com
3秒智能报价 · 1个起订 · 像搭积木一样自由配置 · 免费打样 · 纸质/金属/贴纸/软包全品类覆盖
