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
| Module | Learner lesson | Budget |
|---|---|---|
| 00 | Setup | 20 min |
| 01 | Select the base model | 20 min |
| 02 | Measure quality | 15 min |
| 03 | Improve continuously | 20 min |
| 04 | Release to production | 15 min |
That is about 1 hour 30 minutes of hands-on work for the full session, plus transitions between modules.
Room setup
- One
.envper 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 dedicatedarena_roread-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 statusready to run at any point — it reports whether the dashboard API and web UI are up, and prints row counts for eachv_*view.scripts/arena.sh upis 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 upend to end yourself once before the session, so you know what "seeded correctly" looks like when a learner's run doesn't match it.