Agent ArenaClickHouse Workshops

01 Pilih model dasar

Catatan instruktur untuk modul 01 — timing, talk track, kegagalan yang umum terjadi, dan langkah reset.

Pendamping fasilitator untuk pelajaran learner 01 Pilih model dasar.

Timing

~20 menit dengan subset yang direkomendasikan; 45–60 menit kalau kamu menjalankan grid penuh secara live.

  • 8 min — setup evaluator Langfuse (LLM Connection, code evaluator correctness, definisi evaluator LLM-as-a-judge llm_judge yang menghasilkan agent-arena-llm-judge). Lakukan ini sebagai penelusuran live di proyektormu sendiri, bukan cuma tautan ke README — ini langkah paling rewel di sesi ini.
  • 8 min — jalankan subset dua model, satu prompt (bicara sambil menunggu; ini momen bagus untuk kerangka "kenapa cost per correct answer"). Grid penuh biasanya butuh 35–45 menit dan sebaiknya dijalankan lebih dulu atau ditinggalkan untuk kerja mandiri.
  • 4 min — buka Leaderboard, baca pemenangnya, sebutkan config_id-nya.

Talk track

  • Rangkai ini sebagai keputusan fundamental utama di workshop: model mana yang menenagai agent, ditentukan oleh bukti ketimbang leaderboard publik yang dijalankan orang lain pada beban kerja berbeda.
  • Tekankan di mana penilaian terjadi: di dalam Langfuse, bukan di dalam harness. Harness mengorkestrasi grid dan mencatat Experiment Item yang lengkap; leaderboard membacanya lewat Langfuse Public API. Ini project Langfuse yang sama yang terhubung di Modul 00 — tidak ada alat baru atau penyimpanan hasil kedua yang diperkenalkan di sini.
  • Jelaskan kardinalitas dataset: repo berisi 20 pertanyaan YAML, sedangkan q019 dan q020 adalah holdout few-shot, sehingga dataset experiment arena-golden yang bersih berisi 18 item.
  • Sebutkan metrik utamanya secara eksplisit dan kenapa itu bukan akurasi mentah: cost per correct answer — kualitas per dolar untuk tugas spesifik ini. Tunjukkan bahwa cost dihitung dari harga OpenRouter langsung, disegarkan di awal setiap run, bukan angka usang yang ditanam di config.yaml.
  • Tampilkan kosakata grid-nya di layar: enam model terbagi proprietary vs open-weight (claude-sonnet-5, gpt-5.6-luna, gemini-flash-lite / deepseek-v4-flash, qwen3.7-flash, glm-4.7-flash) × prompt (P1_zeroshot … P3_dialect), dan bahwa sebuah config_id berformat <model>__<prompt>.
  • Klik secara live dari satu baris Leaderboard ke hasil per pertanyaan, lalu ke trace Langfuse di baliknya — ini kebiasaan menelusuri yang digali dalam-dalam di Modul 02.
  • Berhenti di pemenangnya dan sebut config_id-nya dengan lantang — setiap modul mulai dari sini merujuk kembali ke sana.

Kegagalan yang umum terjadi

  • Evaluator Langfuse belum dikonfigurasi — harness hanya menunggu sampai --eval-timeout (default 180s), lalu keluar dengan status non-zero dan menyebut score yang hilang. Harness menunggu score eksak agent-arena-llm-judge, yang dihasilkan definisi evaluator llm_judge. Jalankan python -m scripts.provision_langfuse_evaluators untuk judge berbasis OpenRouter, perbaiki target/filter evaluator correctness, lalu jalankan grid kecil dua model, satu prompt dengan --run-id baru; sengaja tidak ada fallback hasil lokal karena Langfuse adalah penyimpanan evaluasinya.
  • OPENROUTER_API_KEY masih placeholder — setiap panggilan di grid gagal dengan 401. Pastikan ini di Modul 00, tetapi kalau lolos, di sinilah ia menjadi terlihat: satu run utuh dengan nol jawaban benar di semua config.
  • Slug model melenceng dari katalog OpenRouter — id model di config.yaml (misalnya anthropic/claude-sonnet-5) dipatok ke apa yang live di OpenRouter saat penulisan; OpenRouter menghentikan/mengganti nama slug. Kalau sebuah config langsung error dengan kegagalan bergaya "model not found", cek https://openrouter.ai/api/v1/models untuk slug saat ini dan bandingkan dengan config.yaml. Endpoint /api/models di dashboard mencerminkan katalog langsung, jadi ketidakcocokan di sana adalah cara cepat menemukan pergeseran sebelum menjalankan harness.
  • ClickHouse belum ter-seed — kalau Modul 00 tidak selesai bersih, query harness terhadap view v_* mengembalikan hasil kosong atau error; setiap config kembali dengan outcome yang sama. Jalankan ulang scripts/arena.sh up.
  • Run tampak macet — grid-nya adalah models × prompts (6 × 3 = 18 config secara default); bisa butuh beberapa menit dari awal sampai akhir. Pakai --models/--prompts untuk memperkecilnya demi demo live (lihat Langkah reset).

Langkah reset

  • Pastikan ClickHouse sudah ter-seed: scripts/arena.sh up (idempoten; aman dijalankan ulang).
  • Jalankan ulang subset murah ketimbang grid penuh: python -m eval.harness --run-id demo2 --models qwen3.7-flash,gpt-5.6-luna --prompts P1_zeroshot,P3_dialect
  • Selalu beri run baru sebuah --run-id baru (misalnya demo2, demo3) supaya ia muncul sebagai kumpulan baris sendiri di Leaderboard dan Experiment sendiri di Langfuse, ketimbang menyatu ke run sebelumnya.
  • Kalau evaluator Langfuse yang menghambat, pastikan keduanya menargetkan Experiments dan filter dataset arena-golden, lalu jalankan ulang subset murah di atas dengan --run-id baru.
  • Kalau dashboard-nya sendiri tampak macet (bukan harness-nya), scripts/arena.sh stop lalu scripts/arena.sh serve menjalankan ulang hanya server lokalnya tanpa menyentuh data yang sudah ter-seed.

Di halaman ini

ID