# Evals del agente acai-code Harness para evaluar el comportamiento del agente IA (`acai`) montando una landing real con módulos gestionables, capturando cada turno (thinking, tool calls, resultados, errores). Sirve para **comparar entre modelos** y discernir si un fallo es del **modelo** o de la **documentación/KB** (mismo flujo, mismo proyecto, distinto modelo → ¿cambian los errores?). ## Cómo correrlo 1. Elige el modelo activo en el **Forge Admin Panel → ventana de IA** (provider + modelo + reasoning). El catálogo OpenRouter se auto-repuebla en runtime aunque caduque (ver `orchestrator/cost.py: _get_catalog`). 2. Usa un proyecto **en modo TEST** (no producción) — el agente escribe módulos/ records reales en la copia forge-local. Nunca corras esto contra producción. 3. Lanza cada turno con el driver, reutilizando el `session_id` que devuelve el primer turno para mantener la MISMA conversación: ```bash NET=acai-vscode-plugin_acai-net # red docker del compose docker run --rm --network $NET \ -v "$PWD/agenticSystem/evals:/data" -v "$PWD/agenticSystem/evals/logs:/logs" \ -e EVAL_PROJECT=empleo.cocosolution.com \ -w /data acai-vscode-plugin-agentic \ python /data/driver.py "Móntame una sección de beneficios con 3 tarjetas" # turno 2 (reusa el SESSION_ID del turno 1): docker run ... python /data/driver.py "Ahora una sección de equipo con fotos y enlaces" "" ``` - El log completo (en vivo) se acumula en `evals/logs/session.log`. - El driver autentica con `X-Acai-User` hiteando `app:9091` directo en la red interna (somos superadmin en infra de confianza). ## Métricas que captura - nº de tool calls, errores (`success:false`, HTTP_4xx), tools repetidas (señal de bucle), tokens de input/output (coste del thrashing). ## Resultados Ver [`results-landing-build.md`](./results-landing-build.md) — un apartado por modelo, para comparar.