Monitor de Experimentos y Generador de Informes
Escanea experimentos activos y recientemente completados, detecta lo que necesita atención e informa sobre los que importan.
Este es un skill de monitoreo: mantén la salida accesible para no expertos. Evita la jerga estadística (sin valores p, sin análisis de potencia). Para un análisis en profundidad de un experimento específico, usa el skill analyze-experiments.
CRÍTICO: Gestión del Tamaño de las Respuestas
get_experiments: máximo 3-5 IDs por llamada. Filtra usando los resultados desearchANTES de obtenerlos.- Las respuestas de
query_experimentson grandes. Extrae solo los objetossummaryy los indicadores de validez. Ignoratimeseries,xValuesy arrays grandes. - Resolución de nombres de métricas:
searchNO coincide con los IDs de métricas enqueries. Busca conentityTypes: ["METRIC"],queriesvacío,limitPerQuery: 50, limitado al proyecto. Empareja los IDs con los resultados.
Estructura del Informe
El informe tiene dos partes:
- Resumen y Acciones (arriba) — Una tabla + elementos de acción. Alguien debería poder leer solo esto y tener la imagen completa.
- Detalles (abajo) — Análisis profundos de los experimentos que necesitan atención, resúmenes de los recientemente decididos, frases de una línea para experimentos en monitoreo y una lista de configuración pendiente.
NO dupliques información entre la tabla de resumen y los detalles. La tabla de resumen es la única fuente de verdad para el estado del portafolio. Los detalles amplían experimentos específicos.
Instrucciones
Paso 1: Contexto y Descubrimiento
- Llama a
Amplitude:get_context. Si hay múltiples proyectos, pregunta cuál monitorear. - Busca experimentos:
Amplitude:search({
entityTypes: ["EXPERIMENT"],
appIds: [projectId],
queries: [],
sortOrder: "lastModified",
sortDirection: "DESC",
limitPerQuery: 50
})
- Reglas de filtrado — incluye experimentos que estén:
- En ejecución y no inactivos: Cualquier experimento en estado de ejecución que NO esté marcado como inactivo. Los experimentos inactivos han estado en pausa y deben excluirse.
- Recientemente decididos: Experimentos completados que tienen una decisión registrada Y fueron modificados en los últimos 14 días. Vale la pena revisarlos para confirmar la decisión o compartir aprendizajes.
- Excluye: Borradores, experimentos deshabilitados y experimentos inactivos.
Paso 2: Obtener Metadatos, Nombres de Métricas y Resultados Primarios
- Llama a
Amplitude:get_experimentsen lotes de 3-5 IDs (solo el conjunto filtrado del Paso 1). - Extrae: estado, fechas/duración, variantes, IDs de métricas (primarias donde recommendation=true), decisión, propietario.
- Aplica las reglas de filtrado del Paso 1 nuevamente usando los metadatos detallados (algunos campos como el estado inactivo o la decisión pueden estar disponibles solo aquí).
- Resuelve los nombres de las métricas a través de
Amplitude:search({ entityTypes: ["METRIC"], appIds: [projectId], queries: [], limitPerQuery: 50 }). Construye un mapeo{ id: nombre }. - Para los experimentos que tienen métricas configuradas, llama a
Amplitude:query_experiment({ id: "<id>" })(sin metricIds) para obtener los resultados de la métrica primaria y los indicadores de calidad de datos. Estos datos alimentan tanto la tabla de resumen como los análisis profundos.
CRÍTICO: Nunca muestres IDs de métricas en bruto al usuario. Si no se puede resolver el nombre de una métrica, descríbela por su función (por ejemplo, "métrica primaria", "métrica de protección") — NO muestres cadenas como "rrgtky08" o "Métrica gvgb5efj". Los IDs de métricas son identificadores internos que no significan nada para un lector humano.
Paso 3: Resumen y Acciones
Esta es la parte superior del informe. Debe ser autónoma: alguien que lea solo esta sección obtiene la imagen completa.
Tabla de resumen
## Monitor de Experimentos: [Nombre del Proyecto]
Fecha: [Hoy] | Proyecto: [Nombre] ([ID])
| Experimento | Estado | Duración | Mejora | Veredicto |
|-------------|--------|----------|--------|-----------|
Definiciones de columnas:
- Experimento — Nombre legible para humanos (NO una URL, NO un ID)
- Estado — En ejecución o Completado
- Duración — Días desde que comenzó el experimento
- Mejora — Mejora relativa de la métrica primaria si está disponible, "—" si no hay datos. Para múltiples variantes, muestra el rango (ej., "-17% a -20%")
- Veredicto — Qué hacer (ver vocabulario a continuación)
Vocabulario de veredictos:
| Veredicto | Cuándo usarlo |
|---|---|
| Enviar | Primaria significativamente positiva, protecciones limpias, buena calidad de datos |
| Iterar | Señal positiva pero regresión en protección o problema de calidad |
| Monitorear | En ejecución, aún no significativo, nada que hacer |
| Abandonar | Primaria significativamente negativa, o problemas críticos de calidad de datos |
| Decidido: Enviar | Recientemente completado, el equipo decidió enviar |
| Decidido: No enviar | Recientemente completado, el equipo decidió no enviar |
| Arreglar config | Error de consulta, evento de exposición roto o tráfico severamente desbalanceado |
| Necesita métricas | En ejecución sin métricas — no se puede evaluar |
| N/A | Despliegue de encuesta/empujón, no es un experimento de funcionalidad |
Elementos de acción (inmediatamente después de la tabla)
**Actuar ahora:**
- [Experimento] — [acción específica con nombre del propietario]
**Seguir vigilando:**
- [Experimento] — [breve estado + cuándo volver a revisar]
**Configuración pendiente:**
- [Experimento] — [lo que falta + nombre del propietario]
Cada experimento de la tabla debe aparecer exactamente en una categoría de acción. Si no hay experimentos en una categoría, omite esa categoría.
Paso 4: Detalles
Debajo del resumen, proporciona detalles adicionales organizados en secciones. Cada experimento aparece exactamente en UNA sección — sin duplicación.
4a: Análisis Profundos (experimentos que necesitan atención)
Analiza en profundidad los experimentos con veredictos Enviar, Iterar o Abandonar (hasta 3). Estos tienen resultados significativos que vale la pena examinar.
Para cada uno, genera el informe completo en una sola pasada:
---
## [Nombre del Experimento]
[Estado] | [Duración]d | Control: [N] / Tratamiento: [N] | [Enlace al experimento]
Calidad de los datos (primero — antes de los resultados):
Verifica la calidad de los datos ANTES de informar los resultados de las métricas. Si hay problemas críticos, el lector necesita ese contexto antes de interpretar cualquier número.
Si todo está bien, una línea: "Todas las verificaciones de calidad de datos pasan." Luego procede a la métrica primaria.
Si se encuentran problemas, infórmalo antes de la métrica primaria:
### Calidad de Datos: [N problemas encontrados]
SRM (Desajuste en la Proporción de Muestra):
- Usa el campo
srmDetectedde la respuesta de la API - Si
srmDetected: true: infórmalo siempre primero y de manera prominente - Informa: división real vs. división esperada con porcentajes específicos
Cambios en la asignación de tráfico:
- Compara los pesos actuales de las variantes con la distribución de exposición acumulativa
- Si no coinciden (ej., los pesos actuales son 100/0/0 pero el acumulativo es 15/70/15), la asignación se cambió a mitad del experimento
- Señálalo de manera prominente — significa que algunas variantes pueden no estar recibiendo nuevo tráfico
Tamaño de la muestra:
- <100 por variante: Señalar como insuficiente — demasiado pronto para cualquier conclusión
- 100–1,000 por variante: Solo señales direccionales, no suficiente para decisiones seguras
- 1,000+: Adecuado para el análisis
Indicadores de validez — solo informa fallos:
| Indicador | Qué significa cuando falla | Gravedad |
|---|---|---|
isVariancePositive = false | Los datos de la métrica no son válidos — las pruebas estadísticas no pueden ejecutarse | Crítico |
isConfidenceIntervalNotFlipped = false | Error de cálculo en los resultados — no confíes en los números | Crítico |
isMeanValid = false | Los valores de la métrica están rotos (NaN/infinito) — no se puede analizar | Crítico |
statsAssumptionsMetForWholeExperiment = false | Los supuestos estadísticos no se cumplen — los resultados pueden no ser fiables | Alta |
hasSuspiciousUplift = true | Efecto inusualmente grande — puede ser un error de medición, no un cambio real | Alta |
isPointEstimateInsideConfidenceInterval = false | Inconsistencia matemática interna — los resultados pueden estar equivocados | Alta |
isStandardErrorLargeEnough = false | Demasiado ruido para obtener estimaciones fiables | Media |
Si se detecta SRM o falla un indicador Crítico:
⚠️ Los resultados a continuación deben interpretarse con precaución debido a [problema].
Métrica Primaria:
### [Nombre de la Métrica]: [Veredicto en lenguaje sencillo]
| Variante | Valor | Mejora | IC 95% |
|----------|-------|--------|--------|
| Control | [X] | — | — |
| Tratamiento | [Y] | [+Z%] | [A% a B%] |
[Una oración de interpretación en lenguaje sencillo.]
Reglas de presentación:
- NO incluyas valores p. Los no expertos no saben lo que significan.
- Usa "no significativo" en lugar de "sin efecto". Puede haber un efecto — el experimento simplemente no puede detectarlo con este tamaño de muestra.
- Empieza con lo que sucedió en lenguaje sencillo.
Palabras para el veredicto:
- Significativamente positivo — IC completamente por encima de cero, mejora positiva
- Significativamente negativo — IC completamente por debajo de cero, mejora negativa
- No significativo — IC incluye cero; aún no podemos decir con confianza que haya una diferencia real
- Tendencia positiva/negativa — Señal direccional pero el IC incluye cero; vale la pena vigilarlo
Añade una oración sobre significancia práctica solo si la mejora es muy pequeña (<2%) o muy grande (>20%).
Protecciones y Métricas Secundarias:
Llama a Amplitude:query_experiment({ id: "<id>", metricIds: [...] }).
Concéntrate en detectar regresiones, no en narrar cada métrica.
Si no hay regresiones significativas: "Todas las protecciones y métricas secundarias están limpias — no se detectaron regresiones significativas."
Si se encuentran regresiones significativas:
- **[Nombre de la Métrica]:** Regresión significativa ([−X%], IC: [A% a B%]) — [una oración sobre el impacto]
Si hay grandes regresiones direccionales (>20% de mejora relativa) que aún no son significativas:
- **[Nombre de la Métrica]:** No significativo, pero direccionalmente negativo ([−X%]) — vale la pena vigilarlo
Los pequeños cambios direccionales que no son significativos deben omitirse. Si hay 5 o más métricas, señala que las comparaciones múltiples aumentan la probabilidad de falsos positivos.
Retroalimentación (solo si la primaria es significativa):
Llama a Amplitude:get_feedback_insights con palabras clave relacionadas con el experimento. Informa 2-3 temas en una línea cada uno. Si no hay retroalimentación relevante, omite la sección.
Veredicto:
### Veredicto: [ENVIAR / ITERAR / MONITOREAR / ABANDONAR]
1. [Hallazgo de la métrica primaria — una oración]
2. [Estado de calidad / protecciones — una oración]
3. [Qué hacer a continuación — una oración]
Matriz de decisión (referencia interna, no mostrar):
| Señal | Enviar | Iterar | Monitorear | Abandonar |
|---|---|---|---|---|
| Primaria | Significativamente positivo + práctico | Significativamente positivo pero regresión en protección | Aún no significativo, sigue en ejecución | Significativamente negativo |
| Calidad | Todo pasa | Indicadores menores | Todo pasa o datos insuficientes | SRM o indicadores críticos |
| Protecciones | Limpias | 1 regresión necesita arreglarse | Limpias o datos insuficientes | Regresión significativa en métrica crítica |
| Estado del experimento | Completado | Completado | En ejecución | Completado o en ejecución |
4b: Experimentos en Ejecución (monitoreo, sin acción necesaria)
Para experimentos con veredicto Monitorear, proporciona un estado de una línea cada uno:
---
### Experimentos en Ejecución
**[Nombre]** — Ejecutándose [X]d, Control: [N] / Tratamiento: [N]. [Estado de la métrica primaria — ej., "tendencia positiva (+3.3%) pero aún no significativo"]. Calidad de datos limpia. [Enlace]
**[Nombre]** — Ejecutándose [X]d, Control: [N] / Tratamiento: [N]. Demasiado pronto para conclusiones — [razón, ej., "los tamaños de muestra están en el rango de 100-1,000"]. [Enlace]
Mantenlos concisos — una línea por experimento. Incluye el enlace al final para cualquiera que quiera revisarlo en Amplitude.
4c: Recientemente Decididos (resúmenes breves)
Para experimentos con veredicto Decidido: Enviar o Decidido: No enviar:
---
### Recientemente Decididos
- **[Nombre]** — [Enviado/Revertido] el [fecha] después de [X] días. [Una oración sobre el resultado o la justificación]. [Enlace]
Si el experimento se envió sin métricas o sin significancia estadística, menciónalo brevemente.
4d: Configuración Pendiente
Para experimentos con veredicto Arreglar config, Necesita métricas o N/A:
---
### Configuración Pendiente
- **[Nombre]** — [Descripción del problema]. Propietario: [propietario].
- **[Nombre]** — Despliegue de encuesta/empujón, no es un experimento de funcionalidad. No se necesita análisis.
Cada experimento aparece exactamente en una sección de detalles. NO enumeres un experimento tanto en las acciones de la tabla de resumen como en una sección de detalles con la misma información — la sección de detalles amplía el elemento de acción, no lo repite.
Casos Extremos
- Sin experimentos: Infórmalo claramente, sugiere revisar otros proyectos
- Sin datos (<24h): Señala que el experimento acaba de comenzar, vuelve a revisar en 7 días
- SRM detectado: Empieza con esto en calidad de datos — puede invalidar todo lo demás
- 10+ experimentos: Tabla de resumen para todos, análisis profundo de los 3 principales, ofrece analizar más
- Respuesta demasiado grande / guardada en disco: Extrae solo
summary+ indicadores de validez - Sin métricas configuradas: Enumera en la sección "Configuración Pendiente", no hagas análisis profundo
- Todos los experimentos están inactivos: Informa que no hay experimentos activos para monitorear
- Error de consulta de
query_experiment: Informa el error claramente con el nombre del propietario del experimento. Márcalo como "Arreglar config" en el resumen. Causas comunes: propiedad del evento de exposición rota, clave de experimento mal configurada. - Asignación de tráfico cambiada a mitad del experimento: Señálalo en calidad de datos. Compara los pesos actuales con la distribución de exposición acumulativa. Señala qué variantes ya no están recibiendo tráfico.
- Experimentos de encuesta/empujón (NPS, etc.): Anótalo en el resumen como N/A. No se necesita análisis — omite el análisis profundo.
- Tráfico severamente desbalanceado (ej., 5%/95% o 0%/100%): Márcalo como "Arreglar config" — no se puede ejecutar un experimento válido sin un grupo de control significativo. Anótalo en configuración pendiente con el propietario.