AgentArenaClickHouse Workshops

Instructor track

Timing, talk tracks, common failures, and reset steps for facilitators.

This is the Instructor track: the facilitator's companion to the Learner track. Each module mirrors its learner counterpart and adds timing guidance, talk tracks, common failure modes, and reset steps for running the session live.

Total timing

ModuleLearner lessonBudget
00Setup20 min
01Select the base model20 min
02Measure quality15 min
03Improve continuously20 min
04Release to production15 min

That is about 1 hour 30 minutes of hands-on work for the full session, plus transitions between modules.

Room setup

  • One .env per learner (or per pair), populated from their own OpenRouter, LangFuse Cloud, and ClickHouse Cloud accounts — credentials are not shared across learners, because Module 00 also provisions a dedicated arena_ro read-only ClickHouse user per seed.
  • A projector view of your own LangFuse Cloud project, kept separate from learner projects, for talk-track trace walkthroughs in Modules 01, 02, and 04.
  • A terminal with scripts/arena.sh status ready to run at any point — it reports whether the dashboard API and web UI are up, and prints row counts for each v_* view. scripts/arena.sh up is the single, ClickHouse-only path that seeds everything (no Aurora, no ClickPipes, no ClickStack collector in this workshop).

Prerequisites checklist

Confirm each of these before Module 00 starts, ideally the day before:

  • Learners have created (or been given) accounts on OpenRouter, LangFuse Cloud, and ClickHouse Cloud, with real API keys — not placeholder values.
  • Learners have cloned the repo and can create a Python virtualenv (python -m venv .venv && source .venv/bin/activate && pip install -r requirements.txt).
  • Node.js is installed for the web Chat tab (cd web && npm install), needed starting in Module 00 (the dashboard) and again in Module 04 (the Chat tab).
  • You have read eval/langfuse_evaluators/README.md — Module 01's one-time LangFuse evaluator setup is the most fiddly step in the whole session and is worth rehearsing.
  • You can run source .env && scripts/arena.sh up end to end yourself once before the session, so you know what "seeded correctly" looks like when a learner's run doesn't match it.

Per-module notes

On this page