La promesa tentadora (y el hueco que esconde)
¡Hola Devs! Imagínate el pitch: correr el experimento en un modelo en vez de en usuarios, tener resultados en horas en vez de semanas, y de paso saltarte la asignación de tráfico. Suena a velocidad gratis, ¿no?
Pero la mayoría de las propuestas se saltan la pregunta estadística que hace válido un experimento: ¿bajo qué condiciones este procedimiento identifica el efecto de tratamiento que realmente te importa?
Los experimentos aleatorizados son el estándar de oro porque identifican el efecto causal por diseño. Cambia respuestas reales de usuarios por predicciones de LLM y esa garantía se esfuma. La identificación pasa a valer por suposición — y nadie está diciendo cuáles suposiciones son.
Un paper reciente formaliza exactamente eso, tomando prestada la teoría de surrogate endpoints de la bioestadística. La lógica es limpia: si un resultado sustituto captura todo sobre el tratamiento que importa para el resultado real, entonces experimentar sobre el sustituto te da la respuesta correcta. Los ensayos clínicos hacen esto con biomarcadores de laboratorio todo el tiempo. La pregunta es si las predicciones de LLM califican como biomarcador válido para comportamiento de usuario. Échale un ojo a la investigación original para ver la formalización completa.

La realidad empírica: las predicciones crudas están sesgadas, no solo son ruidosas
El equipo lo probó en el Upworthy Research Archive — el dataset abierto de pruebas A/B más grande disponible, con CTRs de miles de variantes de titulares. Le pidieron a gpt-4o-mini predecir el CTR de cada titular, por separado para tratamiento y control, y corrieron un análisis experimental estándar.
Resultado: las predicciones crudas recuperaron solo el 39% del efecto de tratamiento humano observado.
# Ilustración simplificada del problema de atenuación
# (no es código de reproducción, es solo para fijar el concepto)
import numpy as np
from sklearn.ensemble import RandomForestRegressor
from sklearn.linear_model import LinearRegression
# y_human: CTR real de usuarios, y_llm: CTR predicho por el LLM
tau_human = y_human_treated.mean() - y_human_control.mean()
tau_llm_raw = y_llm_treated.mean() - y_llm_control.mean()
print(f"ATE humano: {tau_human:.4f}")
print(f"ATE LLM crudo: {tau_llm_raw:.4f}")
print(f"Ratio de recuperación: {tau_llm_raw / tau_human:.2%}") # ~39%
# Calibración OLS: demasiado rígida, falló la prueba de falsificación
ols = LinearRegression().fit(y_llm_train.reshape(-1, 1), y_human_train)
# Calibración con ML no lineal: quedó dentro del error muestral
rf = RandomForestRegressor(n_estimators=500).fit(X_train, y_human_train)
El sesgo es sistemático y direccional: los resultados del LLM atenúan el efecto hacia cero. Los tratamientos parecen más débiles de lo que son. Escala eso a toda una organización y subestimas sistemáticamente el valor de lo que entregas — y tomas decisiones de lanzamiento equivocadas.
Las dos suposiciones que lo hacen funcionar
- Surrogacy — la salida del LLM debe mediar completamente el efecto del tratamiento sobre el resultado humano. Después de condicionar en la predicción del LLM y en las covariables de línea base, la asignación de tratamiento ya no te dice nada extra sobre el comportamiento del usuario. En palabras simples: el LLM captura todo sobre el tratamiento que importa.
- Comparabilidad — la función de calibración (el mapeo de predicción del LLM a resultado humano) debe ser estable entre tus datos históricos de entrenamiento y el nuevo experimento. Si ese mapeo cambia cuando cambia el tratamiento, la calibración se rompe.
Cuando ambas se cumplen, calibrar las salidas del LLM contra datos reales de A/B recupera el efecto humano. Cuando alguna falla, no estás estimando el efecto humano — estás estimando el efecto sobre el LLM. Una muestra infinita de LLM no te salva, porque el procedimiento está identificando otra cantidad.
El método de calibración importa más de lo que crees
- Calibración lineal OLS: falló la prueba de falsificación, quedando a 3.8 errores estándar del benchmark humano. Demasiado rígida para el mapeo no lineal LLM→humano.
- Random forest / gradient-boosted trees: suficientemente flexibles para aprender la no linealidad; las estimaciones calibradas quedaron dentro del error muestral del efecto humano.
- Ruido de la temperatura de muestreo: una sola predicción del LLM es ruidosa. Sacar varias salidas por unidad y promediarlas (teoría de error de medición) reduce la atenuación y la varianza.

Dónde se rompe: el problema del tratamiento futuro
Aquí está el núcleo incómodo: surrogacy y comparabilidad se pueden checar parcialmente en datos históricos, pero nunca se pueden probar para un tratamiento que nunca corriste.
Cuanto más se aleja un nuevo tratamiento de los experimentos pasados — un paradigma de UI distinto, un modelo de precios nuevo, una feature que no se parece a nada ya lanzado — más débil es la base para confiar en las salidas del LLM. Para intervenciones genuinamente nuevas, las suposiciones son inherentemente no testeables.
Lo que nos lleva al punchline: el LLM ofrece el mayor beneficio justo donde es menos probable que funcione. Los experimentos humanos siguen siendo indispensables para la innovación real de producto.
Un aviso sobre el propio caso de prueba
El dataset Upworthy es casi un escenario ideal: resultado binario, tratamientos textuales y lingüísticamente similares, y LLMs entrenados en océanos de texto sobre qué hace clicable un titular. Cambia el layout, el algoritmo o el precio, y las condiciones se vuelven mucho más difíciles de justificar. No existe evidencia empírica de que las suposiciones se cumplan en general en el portafolio de innovación de una empresa — que es exactamente lo que "usarlo a escala" requeriría.
Los datos que querías evitar
La calibración necesita experimentos históricos con usuarios reales. La mayoría de los equipos de producto no tienen miles de experimentos limpios y homogéneos — tienen una mezcla desordenada entre superficies, con logging inconsistente. El framework no elimina los experimentos con usuarios; te permite reducir la cantidad solo cuando los nuevos experimentos se parecen a los viejos. La inversión inicial en respuestas reales de usuarios no es opcional — es lo que hace que todo esto sea confiable.
Y el churn de versión de LLM agrega otra capa: una función de calibración ajustada a un modelo específico en un momento específico puede ser inválida seis meses después. Una nueva calibración idealmente necesita nuevos experimentos con usuarios, o queda sesgada temporalmente. Mejores LLMs, mejor prompting o fine-tuning no eliminan la necesidad de validación humana.
Si te interesa ver dónde las métricas sustitutas ya dieron resultado en producción, el caso de estudio de Netflix que bajó el CPU de recomendación de 7.5% a 1% con la JDK Vector API es una buena lectura complementaria sobre medir ganancias reales con rigor.

La lección final
Las predicciones de LLM pueden hacer mejores los experimentos humanos — filtrando ideas débiles antes de que consuman un slot de experimento, o sirviendo como covariables para reducción de varianza. Eso es una ganancia real cuando tienes historial fuerte y el nuevo tratamiento se parece a los pasados.
Sustituirlas por los resultados humanos es una jugada completamente distinta. Es cambiar identificación por diseño por identificación por suposición. No regales eso así nomás.
Limitaciones para tener siempre en el radar:
- Las suposiciones son no verificables para tratamientos nuevos — justo el caso de mayor valor.
- La calibración es específica de la versión del modelo y decae con el tiempo.
- Las predicciones crudas atenúan efectos hacia cero; el uso ingenuo subestima features sistemáticamente.
Siguientes pasos si quieres explorar esto:
- Estudia teoría de surrogate endpoints en bioestadística — es la columna vertebral rigurosa aquí.
- Empieza usando predicciones de LLM como pre-filtro para priorizar experimentos, no como reemplazo del experimento.
- Audita tu corpus histórico de experimentos en cuanto a homogeneidad antes de asumir que la calibración va a transferir.
Los cambios de seguridad y plataforma también pueden invalidar suposiciones de la noche a la mañana — si corres infra React, vale la pena checar la guía de la vulnerabilidad crítica RCE en React Server Components antes de tu próximo ciclo de experimentos.