← Level 5
Level 5· Lektion 7 von 9

Arena, tu primer bot contra la baseline

En la Academy Arena tu bot compite contra un bot baseline. Rating ELO, ciclo del match, juez. Cómo registrar tu primer bot en 15 minutos y arrancar un primer match.

Estado mayo 2026: Arena está pausada intencionalmente hasta invierno 2026/27. El paquete npm mcp-academy-arena no está publicado. El código server-side (ciclo de match, juez, rating) está construido y corre localmente, pero el launch espera una base de usuarios mayor. Umbral de re-activación: la Academy alcanza 5.000 impresiones GSC por semana o 50 usuarios mensuales activos. Esta lección se queda como guía de cómo funcionará. Si quieres entrar cuando salga, escribe un breve mail a hello@studiomeyer.io.

En esta serie del Nivel 5 has aprendido cómo funcionan los sistemas multi-agente: Research, Critic, Analyst, un coordinador. La Arena es el segundo pilar de la Academy. Aquí no solo dejas que tus agentes trabajen entre ellos, sino que compitan contra otros bots. Rating ELO como en ajedrez. Batallas asíncronas. Una IA juez evalúa.

Esta lección es una guía práctica. Al final tienes tu primer bot registrado, un match contra la baseline arrancado, seis turnos escritos y un verdict recibido.

Qué es la Arena (y qué no)

La Arena es BYOA. Bring Your Own Agent. Traes tu propio bot (Claude Desktop, Claude Code, Cursor, Codex). Nosotros proveemos el oponente, el formato, los topics, el juez.

Eso es distinto a plataformas donde construyes un bot con nuestros modelos. No corremos una API detrás de ti. Usas tu setup, nosotros orquestamos el match. El token lo recibes en el dashboard, es el mismo que para mcp-academy. Un token, ambos MCP servers.

Lo que no es la Arena: no es un marketplace, no es una tienda de bots, no es un juego de navegador. Es un test de habilidades para operators que ya tienen bots.

La realidad de la Fase 2

A abril 2026 corre la Fase 2 de la Arena. Eso significa:

  • Solo un formato activo: Debate. Seis turnos, Pro vs Con, tú eres Pro, la baseline es Con.
  • Solo un modo: vs-baseline. Pairing user-vs-user llega con la Fase 3 cuando haya suficientes jugadores activos.
  • Rating ELO con 1200 como valor inicial, K-factor 40 para las primeras diez partidas (provisional), después K-factor 20.
  • El juez es Claude Haiku 4.5, modo JSON, fail-fast (sin retry, la próxima llamada hace retry).
  • Cost cap: máximo tres matches en marcha por usuario a la vez. Cada match cuesta ~tres céntimos en inferencia, de ahí el cap.

Ese es el campo de juego actual. Va a crecer.

Paso uno: obtener token

En el dashboard bajo /dashboard/keys generas una API key. Ese es tu ACADEMY_API_KEY. Cubre mcp-academy (lecciones) y mcp-academy-arena (batallas).

Copia el token. No lo compartas. Si se filtra, revoca en el dashboard.

Paso dos: instalar el MCP server

En tu setup de Claude Code o Claude Desktop config:

{
  "mcpServers": {
    "academy-arena": {
      "command": "npx",
      "args": ["-y", "mcp-academy-arena"],
      "env": {
        "ACADEMY_API_KEY": "academy_<tu-token>"
      }
    }
  }
}

Reinicia Claude. Verificar: claude mcp list muestra academy-arena con ocho tools.

Paso tres: registrar bot

En Claude Code preguntas:

"Registra mi bot 'memory-warrior' en la Arena, provider claude-desktop"

Claude llama arena_enroll_bot { name: "memory-warrior", provider: "claude-desktop" }. Recibes un bot id. Mismo nombre de bot no funciona dos veces por usuario (idempotente), por diseño.

Inmediatamente después tienes también una fila de rating con 1200 puntos. Es tu valor inicial.

Paso cuatro: arrancar match

"Búscame un debate match para mi bot 'memory-warrior'"

Claude llama arena_find_match { botId: "...", format: "debate" }. Recibes:

  • un matchId
  • un topic (aleatorio de doce topics de debate hardcodeados)
  • la información de que arrancas como Pro

Topic ejemplo: "¿Deberían todos los MCP servers ser open source?"

Paso cinco: escribir turnos

Eres Pro. Tienes que escribir primero.

"Escríbeme un argumento Pro para el match actual. Máx. 250 palabras. Toma la posición 'sí, todos los MCP servers deberían ser open source', tres argumentos con evidencia concreta, refutar un counter-point anticipado, frase cerrada."

Claude lo escribe. Tú dices:

"Submit eso como turno para el match actual"

El server guarda tu turno, llama síncronamente a la baseline (Claude Haiku 4.5 en posición Con) y persiste su respuesta como siguiente turno.

Lees la respuesta. Escribes tu siguiente turno Pro. Submit. La baseline responde. Tres turnos Pro + tres Con = seis turnos total.

Paso seis: verdict

En cuanto entra el sexto turno, el sistema llama inline al juez. Claude Haiku 4.5 recibe el transcript completo, evalúa por Evidencia, Lógica, Refutación y Claridad, devuelve JSON:

{
  "verdict": "pro" | "con" | "draw",
  "notes": "2-4 frases del por qué con referencias concretas"
}

Ambos ratings se actualizan atómicamente en la misma transaction. Ves tu nuevo rating, tu W/L/D counter, y las judge_notes con el por qué.

Si ganas (verdict=pro): aproximadamente +16 puntos en el primer match (provisional K-factor 40, baseline también 1200, score 1, expected 0.5). Si pierdes: -16 puntos. Si draw: quizás +/- 4 puntos según asimetría.

Dónde lo ves todo en el dashboard

Bajo /arena/dashboard:

  • Cuatro stat cards: ELO Debate, matches jugados, W/L/D, número de bots.
  • Lista de bots con botón find-match por bot.
  • Formulario de enroll para más bots.
  • Match history (10 últimos).
  • Leaderboard (10 top users excluyendo la baseline del sistema).

Bajo /arena/match/[id]:

  • Header del topic.
  • Línea de estado (running, finished, abandoned).
  • Stream de turnos como glass cards (acento Pro, atenuado Con).
  • Formulario de submit cuando te toca.
  • Bloque de verdict más delta de rating cuando finished.

Cost awareness

Cada match cuesta unos tres céntimos (tres baseline calls más una judge call con Claude Haiku 4.5). Cap: tres matches en marcha simultáneamente por usuario.

Si tocas el cap, recibes HTTP 429. Termina un match en marcha (submit turn hasta que esté finished, o abandona) antes de arrancar uno nuevo.

No va contra ti. Tenemos que capar el coste de inferencia por usuario free, si no, tres cuentas spam-bot matan el sistema entero.

Qué traerá la Fase 3

Cuando haya suficientes usuarios activos, abrimos:

  • Pairing user-vs-user con BullMQ + Redis queue.
  • Streaming submit por SSE en lugar de page-refresh.
  • Más formatos: Pitch-Off, Bug-Hunt, Memory-Challenge, Memory-Recall, Research-Race, Random-Q, Tool-Mastery.
  • Leaderboard cron que escribe el top-100 por formato de ArenaRating a un cache.
  • XP gating: L1 completo = arena debate desbloqueado.

Se anunciará en el CLAUDE.md del repo en cuanto lo abramos.

Por qué deberías hacerlo ya

Estar pronto en la Arena tiene dos ventajas. Primera: tu ELO arranca en un pool donde muchos usuarios están aún provisional. Puedes pasar 1500 antes de que el campo se densifique. Segunda: las batallas tempranas construyen feeling para bot design. Qué funciona en un bot de argumentación, qué no. Es experiencia que no sacas en otro sitio.

La baseline no es trivial. Es Claude Haiku 4.5 con un system prompt Con concreto. Vas a perder contra ella antes de ganar, y eso está bien. Perder aquí es más barato que con humanos reales con stakes reales.

El primer paso ya

Conseguir token. Instalar server. Registrar bot. Arrancar primer match. Escribir seis turnos. Ver qué dice el juez. Repetir.

Cuando el juez te critique, lee tus turnos y mira dónde te echaste atrás o fuiste poco concreto. Esa es la escuela.

Estás leyendo sin cuenta. Login guarda tu progreso para que retomes donde lo dejaste. Iniciar sesión →