Agent ArenaClickHouse Workshops

01 Seleccionar el modelo base

Notas del instructor para el módulo 01: tiempos, guion, fallos habituales y pasos de recuperación.

Guía del facilitador para la lección 01 Seleccionar el modelo base.

Tiempo

~20 minutos con el subconjunto recomendado; 45–60 minutos si ejecutas la cuadrícula completa en vivo.

  • 8 min — configura los evaluators de Langfuse: LLM Connection, evaluator de código correctness y definición LLM-as-a-judge llm_judge, que emite agent-arena-llm-judge. Haz una demostración en vivo en tu proyector, no solo enlaces al README: es el paso más delicado.
  • 8 min — ejecuta un subconjunto de dos modelos y un prompt. Explica durante la espera por qué usamos coste por respuesta correcta. Una cuadrícula completa suele tardar 35–45 minutos y conviene prepararla antes o dejarla para el trabajo autoguiado.
  • 4 min — abre el Leaderboard, lee el ganador y di el config_id.

Guion

  • Presenta esta como la decisión fundamental: qué modelo impulsa al agente, decidida con pruebas y no con una clasificación pública creada sobre otra carga.
  • Subraya dónde se evalúa: dentro de Langfuse, no en el harness. El harness coordina la cuadrícula y registra Experiment Items completos; el ranking los lee mediante la API pública de Langfuse. Es el mismo proyecto conectado en el Módulo 00, sin una herramienta nueva ni otro almacén de resultados.
  • Aclara la cardinalidad: el repositorio tiene 20 preguntas YAML; q019 y q020 son ejemplos few-shot reservados, de modo que un dataset experimental arena-golden limpio tiene 18 elementos.
  • Nombra la métrica principal y explica por qué no es precisión bruta: coste por respuesta correcta, calidad por dólar para esta tarea. El coste usa precios en vivo de OpenRouter actualizados al empezar cada ejecución, no un número obsoleto en config.yaml.
  • Muestra el vocabulario: seis modelos propietarios y de pesos abiertos (claude-sonnet-5, gpt-5.6-luna, gemini-flash-lite / deepseek-v4-flash, qwen3.7-flash, glm-4.7-flash) × prompts (P1_zeroshot … P3_dialect); un config_id es <model>__<prompt>.
  • Haz clic en vivo desde una fila del Leaderboard hasta un resultado por pregunta y luego hasta la traza de Langfuse: el Módulo 02 profundiza en este hábito.
  • Termina en el ganador y di su config_id en voz alta; todos los módulos posteriores vuelven a él.

Fallos habituales

  • Evaluators de Langfuse sin configurar — el harness solo espera hasta --eval-timeout (180s de forma predeterminada), termina con código distinto de cero y enumera las puntuaciones ausentes. Espera exactamente agent-arena-llm-judge, emitida por llm_judge. Ejecuta python -m scripts.provision_langfuse_evaluators para ese juez respaldado por OpenRouter, corrige el destino/filtro del evaluator correctness y ejecuta una cuadrícula pequeña con un --run-id nuevo; no hay alternativa local porque Langfuse es el almacén de evaluación.
  • Placeholder OPENROUTER_API_KEY — todas las llamadas fallan con 401. Debe comprobarse en el Módulo 00; si se omitió, aquí aparece una ejecución entera con cero respuestas correctas.
  • El slug del modelo salió del catálogo de OpenRouter — los ids de config.yaml (por ejemplo, anthropic/claude-sonnet-5) reflejan el catálogo al redactar el taller, pero OpenRouter retira o renombra slugs. Si una configuración falla de inmediato porque no encuentra el modelo, consulta https://openrouter.ai/api/v1/models y compara con config.yaml. El endpoint /api/models del dashboard refleja el catálogo actual y ayuda a detectar la diferencia.
  • ClickHouse no preparado — si el Módulo 00 no terminó, las consultas del harness a las vistas v_* devuelven vacío o error y todas las configuraciones muestran el mismo outcome. Ejecuta de nuevo scripts/arena.sh up.
  • La ejecución parece bloqueada — la cuadrícula es models × prompts (6 × 3 = 18 configuraciones de forma predeterminada) y puede tardar. Usa --models/--prompts para reducirla en una demostración.

Pasos de recuperación

  • Confirma la preparación de ClickHouse: scripts/arena.sh up (idempotente y seguro de repetir).
  • Ejecuta un subconjunto económico: python -m eval.harness --run-id demo2 --models qwen3.7-flash,gpt-5.6-luna --prompts P1_zeroshot,P3_dialect
  • Usa siempre un --run-id nuevo (por ejemplo, demo2, demo3) para crear filas propias en el Leaderboard y un experimento propio en Langfuse, sin mezclar ejecuciones.
  • Si bloquean los evaluators, verifica el destino Experiments y el filtro de dataset arena-golden, y repite el subconjunto con otro --run-id.
  • Si solo está bloqueado el dashboard, scripts/arena.sh stop y luego scripts/arena.sh serve reinician los servidores locales sin modificar los datos.

En esta página

ES