# Kit de práctica: Soporte Sin Humo

Este kit permite completar el curso **Testing de agentes de IA** sin usar APIs
pagas, secretos ni datos reales. Contiene entradas, respuestas y eventos
simulados de dos versiones de un agente de soporte.

## Qué es Soporte Sin Humo

Es el agente de atención al cliente de una **academia ficticia**, inventada para
este curso. Responde preguntas sobre cursos y devoluciones, consulta un registro
de inscripciones y puede ejecutar dos acciones: inscribir y cancelar.

No es esta Academia y no hay ninguna API detrás: todo lo que vas a analizar son
respuestas y eventos ya grabados en estos archivos. Los nombres de curso que
aparecen coinciden con los del catálogo real solo para que te resulten
familiares; las políticas, los plazos y el comportamiento de la plataforma son
los que declara cada caso en su campo `context`, y no describen a ningún
producto real.

Tiene dos versiones grabadas, **v1** y **v2**, y las dos cometen errores
distintos a propósito.

## Inventario

- `README.md` — estas instrucciones.
- `dataset-inicial.json` — diez casos con contexto y expectativas observables.
- `respuestas-v1.jsonl` — salidas grabadas de la versión baseline.
- `respuestas-v2.jsonl` — salidas grabadas de la versión candidata.
- `trazas-herramientas.jsonl` — eventos simulados de entradas, herramientas y salidas.
- `trazas-recuperacion.jsonl` — eventos simulados de búsqueda, recuperación y salida.
- `rubrica.md` — estructura para registrar tu evaluación.
- `plantilla-informe-gate.md` — estructura para comparar versiones y decidir.

## Cobertura de las trazas

Las dos versiones están trazadas en paralelo, para que la comparación del Módulo 4
tenga evidencia de los dos lados:

| Caso | Traza v1 | Traza v2 | Qué permite observar |
|---|---|---|---|
| C04 | `T-C04-v1` | `T-C04-v2` | argumentos de herramienta y status devuelto |
| C05 | `T-C05-v1` | `T-C05-v2` | confirmación explícita antes de una acción |
| C06 | `T-C06-v1` | `T-C06-v2` | qué registros se entregaron en el contexto |
| C08 | `T-C08-v1` | `T-C08-v2` | qué hace el agente cuando la herramienta falla |
| C07 | `R-C07-v1` | `R-C07-v2` | instrucción dentro de contenido recuperado |

Los casos sin traza (C01, C02, C03, C09, C10) se evalúan solo sobre la respuesta:
no involucran herramientas ni recuperación.

## Ruta de trabajo

1. Revisa el dataset sin cambiar sus identificadores.
2. Usa v1 como baseline y v2 como candidata.
3. Diseña checks deterministas y completa una copia de la rúbrica.
4. Inspecciona las trazas como una secuencia de hechos. No contienen un veredicto: debes relacionarlas con las expectativas del dataset.
5. Define el gate antes de puntuar. Después compara versiones y documenta tu propia decisión.

## Cómo extender el dataset

El curso te pide agregar casos propios en «Tu primer dataset de evaluación» y en «Prompt injection directa e indirecta». Para que sigan funcionando
con tus checks y con el gate:

- Numera desde **C11** en adelante y no reutilices identificadores del kit.
- Respeta los cinco campos: `id`, `input`, `context`, `expectations`, `severity`.
- `severity` solo admite `major` o `critical`.
- Trabaja sobre una copia. Los archivos de este kit no se modifican.

## Formatos

- `.json`: lista estructurada de casos.
- `.jsonl`: un objeto JSON independiente por línea.
- `.md`: plantilla editable en Markdown.

## Límites seguros

- Todos los usuarios, correos, cursos, políticas, tokens de demostración y herramientas son ficticios.
- Los dominios `ejemplo.test` no representan cuentas reales.
- Los resultados marcados `simulated_only` no produjeron ningún efecto: son la marca del entorno de práctica.
- No pegues credenciales ni conversaciones reales.
- No conectes las llamadas simuladas con sistemas reales.
- El kit aporta evidencia observable y expectativas de negocio; no incluye notas, clasificaciones ni una clave de respuestas.
