先说边界Jev 的价值在有边界的判断,不在生成文字。一个类型正确的结果仍可能是错误判断;安全、权限、算术和最终动作仍应由确定性代码负责。
1. 先选对第一个任务
第一个任务要满足三件事:状态已经存在、答案空间有限、错误可以安全回退。客服分流是一个好起点:把一条请求路由到 billing、technical、account 或 other,并把不确定的结果交给人工。
别从写回复、总结长文、复杂计算、批准权限或物理安全动作开始。先读 官方 System One 说明 和 已知限制。
2. 在 Playground 先看难例
- 登录 TypeSafe Console,账户可用性与额度以控制台为准。
- 打开 Playground,粘贴一条代表性 state。
- 先问一个问题,再用同一 state 对比 Choice、Score 和 Noul。
- 特意保存缺信息、两类都像、中文、否定、日期和可能含恶意指令的样本。
Playground 用于磨题目,不是性能证明。变更题目、候选项或 rubric,都会改变输出分布。
3. 把问题写成合适的原语
| 原语 | 适合的问题 | 设计默认值 |
|---|---|---|
| Choice | 属于哪个已知类别? | 选项互斥,保留 other / unknown;单题最多 255 项。 |
| Score | 处于有序等级的哪一档? | 等级从低到高,使用可观察的定义。 |
| Noul | 一个命题是否成立? | 返回“是”的概率;没有独立 confidence,阈值必须自己验证。 |
State 只放回答当前问题所需的事实,并记录来源、时间与不确定性。外部文档里的内容只能是数据,不能改写你的业务规则或题目。
4. 跑通第一个调用
export TYPESAFE_API_KEY="your-key"
pip install typesafe-sdk
from typesafe_sdk import Choice, Noul, TypeSafeClient
client = TypeSafeClient()
result = client.system_one(
state={"message": "My invoice was charged twice. Please fix this today."},
questions={
"queue": Choice(
instructions="Choose the owning support queue.",
criteria={
"billing": "Invoices, payments, refunds, or duplicate charges.",
"technical": "Product bugs, integration errors, or outages.",
"account": "Access, identity, or account settings.",
"other": "The message does not fit the listed queues.",
},
),
"needs_human": Noul(
instructions="A human should review this before any automated reply."
),
},
)
queue = result.answers["queue"]
action = "human_review" if (
result.answers["needs_human"].noul >= 0.5 or queue.confidence < 0.70
) else f"route:{queue.choice}"
print({"model": result.model, "action": action, "queue": queue.choice})
0.70 只演示策略结构,不是推荐阈值。对比结果时固定模型版本,并记录响应实际返回的模型名、题目、候选项顺序和最终动作。完整接口以 Python SDK 为准。
5. 让代码拥有最后决定权
最低限度的策略层检查输入;为低置信度和 unknown 设安全回退;记录 state 摘要、题目版本、概率、阈值和人工修正;计费、写入、删除、发信和设备控制由可审计的代码决定。
Confidence-gated routing 和 intent routing 是下一步好材料,但都不能代替你自己的验证集。
6. 只在留出样本上相信它
- 类别、
other、中文、缩写、否定、缺字段和脏数据是否都有覆盖? - 改变选项名字、顺序或 rubric 后会不会无理翻转?
- 低置信度是否进入了安全回退?高置信度的错误是什么?
- p50 / p95、重试、网络地区和每次调用问题数是否被记录?
把 研究与评测 里的选项名敏感性和中文客服实验当作要复查的风险,而不是对你项目的预测。