边界实验室
探查决策边界,而不只是那一个点。标注者每次给出标签后,Potato 都会追问:一处最小的反事实改动会不会推翻它——让普通标注顺带产出对比集和质量控制信号。
v2.7.0 新增
所有标注工具收集的都是点标签:条目 X 得到标签 Y。边界实验室(Boundary Lab)让 Potato 收集的是决策边界。标注者提交标签的那一刻,Potato 会展示对文本的最小反事实改写,一次问一个探针:
你选的是 Polite。这处改动之后它还成立吗?

每次回答只需一次点击。普通的标注流程于是产出三样纯标签导出拿不到的东西。
- 顺带得到对比集。 每个回答过的探针都是一对带标签的 (原文, 反事实) 数据,也就是被证明能提升模型鲁棒性的反事实增强数据(Gardner et al. 2020;Kaushik et al. 2020)。构建对比集通常是一项单独且昂贵的工作。
- 边界理由。 标签发生翻转时,标注者要说出是什么越过了那条线。这些理由能精确指出标注手册在哪里有歧义。
- 无形的质量控制。 不变性探针是保持语义的改写,一致的标注者绝不会在它们上面翻转。翻转的人会在仪表板上被标出来,你不用埋一条假的黄金条目就拿到了注意力信号。
配置
boundary_probing:
enabled: true
schema: politeness # scheme to probe (default: first radio scheme)
probes_per_item: 3 # probes per (instance, label), invariance included
include_invariance: true # add one paraphrase probe (the QC signal)
sources: # probe generation tiers, in priority order
- precomputed
- llm
- rules
precomputed_key: counterfactuals # item-data field for precomputed probes
rationale_on_flip: true # ask "what crossed the line?" when a label flips
debounce_ms: 900 # delay between label selection and probe fetch探针来源
探针来自三个层级。后面的层级会填补前面层级留空的位置,因此功能可以优雅降级。
precomputed —— 随数据一起提供人工整理好的反事实样本。确定性强,适合受控研究:
{"id": "req_02", "text": "Send me the slides before the meeting.",
"counterfactuals": [
{"text": "Please send me the slides before the meeting.", "kind": "flip",
"edit_hint": "added \"please\""},
{"text": "Before the meeting, send me the slides.", "kind": "invariance",
"edit_hint": "reordered clauses"}
]}llm —— 用任意已配置的 AI 端点(Anthropic、OpenAI、Ollama、vLLM)即时生成探针。探针按 (instance, label) 生成一次并在标注者之间共享,因此 LLM 成本取决于数据集规模,而不是标注者人数。
rules —— 确定性的词汇变换:否定翻转、程度词替换、礼貌标记、标点强度,以及用于不变性的缩写或问候语改写。它没有依赖,也不调用模型,这正是边界实验室在完全不配置 LLM 的情况下也能运行的原因。
探针类型与判定
| 类型 | 含义 | 预期行为 |
|---|---|---|
flip | 意在跨越标签边界的最小改动 | 可能翻转也可能保持 —— 两种结果都有信息量 |
invariance | 保持语义的改写 | 不应翻转;翻转说明标注前后不一致 |
标注者对每个探针的回答有三种:holds(标签依然成立)、flips(标签改变,此时要选出新标签,并可选说明原因),或 can't tell(说不准)。
仪表板
在 /boundary/dashboard(需管理员权限):
- 按标签的边界敏感度 —— 针对每个标签的最小改动中,发生翻转的比例。90% 的翻转率说明这个标签处在刀刃上;10% 则说明它对小扰动很稳健。
- 标注者不变性一致度 —— 每个标注者在改写探针上的保持率,低于 60% 会标红。
- 标签在哪里翻转 —— 已确认翻转的合集,附带词级差异对比和标注者写下的理由。
对比集导出
GET /boundary/api/export(管理员)下载 JSONL,每个回答过的探针一行带标签的数据对:
{"instance_id": "req_02", "schema": "politeness",
"original_text": "Send me the slides before the meeting.",
"original_label": "Impolite",
"counterfactual_text": "Please send me the slides before the meeting.",
"counterfactual_label": "Neutral",
"kind": "flip", "flipped": true,
"rationale": "please softens the command",
"edit_hint": "added \"please\"", "probe_source": "precomputed",
"annotator": "alice", "timestamp": 1783827299.4}holds 判定导出时 counterfactual_label 等于原标签,因此可以拿来当困难负例用。unsure 判定不会导出。
设计说明
- 探针按 (instance, schema, label) 缓存并在标注者之间共享,因此不变性一致度在标注者之间是可比的。
- 探针面板是一层浮层。它不会打断主标注流程,探针回答是可选的,标注者随时可以关掉它。
- 目前每个任务只针对一个单选(
radio)方案做探查。
延伸阅读
- Truth Serum —— 另一种不需要黄金标签的质量信号
- 质量控制 —— 注意力检查与黄金标准
- 黄金标准与注意力检查
- 源代码文档