Laboratorio de fronteras
Sondea la frontera de decisión, no solo el punto. Después de cada etiqueta, Potato pregunta si una edición contrafactual mínima la cambiaría, y así produce conjuntos de contraste y control de calidad a partir de la anotación corriente.
Nuevo en v2.7.0
Cualquier herramienta de anotación recoge etiquetas puntuales: el elemento X recibe la etiqueta Y. El Laboratorio de fronteras (Boundary Lab) hace que Potato recoja fronteras de decisión. En cuanto un anotador confirma una etiqueta, Potato le muestra ediciones contrafactuales mínimas del texto y le pregunta, una sonda cada vez:
Has dicho Polite. ¿Seguiría siendo así tras esta edición?

Cada respuesta cuesta un clic. La anotación corriente pasa así a producir tres cosas que una exportación de etiquetas a secas no da.
- Conjuntos de contraste, gratis. Cada sonda respondida es un par etiquetado (original, contrafactual): los datos aumentados con contrafactuales que han demostrado mejorar la robustez de los modelos (Gardner et al. 2020; Kaushik et al. 2020). Construir un conjunto de contraste suele ser un trabajo aparte y caro.
- Justificaciones de frontera. Cuando una etiqueta cambia, el anotador dice qué cruzó la línea. Esas justificaciones señalan con precisión dónde es ambiguo tu manual de codificación.
- Control de calidad invisible. Las sondas de invariancia son paráfrasis que conservan el significado, y un anotador consistente nunca cambia de etiqueta ante ellas. Quienes sí lo hacen quedan marcados en el panel, lo que te da una señal de atención sin colar ni un solo elemento de oro falso.
Configuración
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 fetchFuentes de sondas
Las sondas salen de tres niveles. Los niveles posteriores rellenan los huecos que dejan los anteriores, así que la función se degrada con suavidad.
precomputed — distribuye contrafactuales curados junto con tus datos. Es determinista e ideal para estudios controlados:
{"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 — genera sondas sobre la marcha con cualquier endpoint de IA configurado (Anthropic, OpenAI, Ollama, vLLM). Las sondas se generan una sola vez por (instancia, etiqueta) y se comparten entre anotadores, así que el coste del LLM depende del tamaño del dataset y no del número de anotadores.
rules — transformaciones léxicas deterministas: inversión de negaciones, cambio de intensificadores, marcadores de cortesía, carga de la puntuación y paráfrasis de contracciones o saludos para la invariancia. Sin dependencias ni llamadas a modelos, que es lo que permite ejecutar el Laboratorio de fronteras sin ningún LLM configurado.
Tipos de sonda y veredictos
| Tipo | Significado | Comportamiento esperado |
|---|---|---|
flip | La edición más pequeña pensada para cruzar la frontera de la etiqueta | Puede cambiar o mantenerse; ambos casos informan |
invariance | Paráfrasis que conserva el significado | No debería cambiar nunca; un cambio indica inconsistencia |
Los anotadores responden a cada sonda con se mantiene (la etiqueta sobrevive), cambia (la etiqueta cambia, y eligen la nueva y explican por qué si quieren) o no sabría decir.
El panel
En /boundary/dashboard (acceso de administrador):
- Sensibilidad de frontera por etiqueta — de las ediciones mínimas dirigidas a cada etiqueta, la proporción que provocó un cambio. Un 90 % significa que la etiqueta vive en el filo de la navaja; un 10 % significa que resiste bien las perturbaciones pequeñas.
- Consistencia de invariancia por anotador — tasa de "se mantiene" de cada anotador en las sondas de paráfrasis, marcada en rojo por debajo del 60 %.
- Dónde cambian las etiquetas — una galería de cambios confirmados con diffs a nivel de palabra y las justificaciones de los anotadores.
Exportación del conjunto de contraste
GET /boundary/api/export (administrador) descarga JSONL, un par etiquetado por cada sonda respondida:
{"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}Los veredictos holds se exportan con counterfactual_label igual a la etiqueta original, lo que los hace útiles como negativos difíciles. Los veredictos unsure se excluyen.
Notas de diseño
- Las sondas se cachean por (instancia, esquema, etiqueta) y se comparten entre anotadores, de modo que la consistencia de invariancia es comparable entre unos y otros.
- El panel de sondas es una capa superpuesta. Nunca bloquea el flujo principal de anotación, responder a las sondas es opcional y los anotadores pueden descartarlo en cualquier momento.
- Por ahora el sondeo actúa sobre un único esquema de opción simple (
radio) por tarea.
Lecturas adicionales
- Truth Serum — la otra señal de calidad que no necesita etiquetas de oro
- Control de calidad — verificaciones de atención y estándares de oro
- Estándares de referencia y comprobaciones de atención
- Documentación de origen