Agent ArenaClickHouse Workshops

01 Sélectionner le modèle de base

Notes formateur du module 01 : timing, fil conducteur, problèmes fréquents et procédures de reprise.

Guide d'animation de la leçon 01 Sélectionner le modèle de base.

Timing

~20 minutes avec le sous-ensemble recommandé ; 45 à 60 minutes pour exécuter toute la grille en direct.

  • 8 min — configurez les evaluators Langfuse : LLM Connection, evaluator de code correctness et définition LLM-as-a-judge llm_judge, qui émet agent-arena-llm-judge. Faites la démonstration en direct sur votre projecteur au lieu de simplement renvoyer au README : c'est l'étape la plus délicate.
  • 8 min — exécutez un sous-ensemble de deux modèles et un prompt. Profitez de l'attente pour expliquer le coût par réponse correcte. Une grille complète prend généralement 35 à 45 minutes ; préexécutez-la ou réservez-la au travail autonome.
  • 4 min — ouvrez le Leaderboard, lisez le gagnant et nommez son config_id.

Fil conducteur

  • Présentez cette étape comme la décision fondamentale : quel modèle alimente l'agent, d'après des preuves et non le classement public d'une autre charge.
  • Soulignez où se déroule l'évaluation : dans Langfuse, pas dans le harness. Le harness orchestre la grille et enregistre des Experiment Items complets ; le classement les lit via l'API publique Langfuse. C'est le même projet connecté au Module 00, sans nouvel outil ni second stockage de résultats.
  • Précisez la cardinalité : le dépôt comprend 20 questions YAML ; q019 et q020 sont des exemples few-shot réservés, si bien qu'un dataset expérimental arena-golden propre contient 18 éléments.
  • Nommez la métrique principale et expliquez pourquoi ce n'est pas la précision brute : coût par réponse correcte, soit la qualité par dollar sur cette tâche. Le coût provient des prix en direct d'OpenRouter, actualisés au début de chaque exécution, et non d'un chiffre obsolète dans config.yaml.
  • Affichez le vocabulaire de la grille : six modèles propriétaires et à poids ouverts (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 vaut <model>__<prompt>.
  • Cliquez en direct d'une ligne du Leaderboard vers un résultat par question, puis vers la trace Langfuse associée : le Module 02 approfondira ce réflexe.
  • Arrêtez-vous sur le gagnant et prononcez son config_id : tous les modules suivants y feront référence.

Problèmes fréquents

  • Evaluators Langfuse non configurés — le harness attend seulement jusqu'à --eval-timeout (180s par défaut), sort avec un code non nul et énumère les scores manquants. Il attend exactement agent-arena-llm-judge, émis par llm_judge. Exécutez python -m scripts.provision_langfuse_evaluators pour ce juge adossé à OpenRouter, corrigez la cible/le filtre de l'evaluator correctness, puis lancez une petite grille avec un nouveau --run-id ; aucun repli local n'existe, car Langfuse stocke l'évaluation.
  • Placeholder OPENROUTER_API_KEY — chaque appel échoue avec 401. Vérifiez-le au Module 00 ; si cela a été oublié, vous obtenez ici une exécution entière sans réponse correcte.
  • Le slug d'un modèle a quitté le catalogue OpenRouter — les ids de config.yaml (par exemple anthropic/claude-sonnet-5) reflètent le catalogue lors de la rédaction, mais OpenRouter retire ou renomme des slugs. Si une configuration échoue immédiatement faute de modèle, consultez https://openrouter.ai/api/v1/models et comparez avec config.yaml. L'endpoint /api/models du dashboard reflète le catalogue actuel et révèle rapidement l'écart.
  • ClickHouse non initialisé — si le Module 00 n'a pas abouti, les requêtes du harness sur les vues v_* renvoient un résultat vide ou une erreur, et chaque configuration affiche le même outcome. Relancez scripts/arena.sh up.
  • L'exécution paraît bloquée — la grille représente models × prompts (6 × 3 = 18 configurations par défaut) et peut prendre plusieurs minutes. Utilisez --models/--prompts pour la réduire pendant une démonstration.

Procédures de reprise

  • Confirmez l'initialisation de ClickHouse : scripts/arena.sh up (idempotent, répétable sans risque).
  • Relancez un sous-ensemble économique : python -m eval.harness --run-id demo2 --models qwen3.7-flash,gpt-5.6-luna --prompts P1_zeroshot,P3_dialect
  • Donnez toujours un nouveau --run-id à chaque exécution (par exemple demo2, demo3) afin de créer ses propres lignes dans le Leaderboard et sa propre expérience Langfuse, sans fusion.
  • Si les evaluators bloquent, vérifiez la cible Experiments et le filtre de dataset arena-golden, puis relancez le sous-ensemble avec un nouveau --run-id.
  • Si seul le dashboard est bloqué, scripts/arena.sh stop puis scripts/arena.sh serve redémarrent les serveurs locaux sans toucher aux données initialisées.

Sur cette page

FR