Documento originalAbrir .md

Reproducción de ECHO-5.5-v1

Desde la raíz del checkout. Linux con systemd de usuario, cgroups v2 y Bubblewrap; Python 3.11 o posterior para este arnés. No se usa el entorno de echo-discord. Los fallos de aislamiento son errores de entorno: no existe fallback sin sandbox.

python3 -m unittest tests.test_echo55_v1 -v
python3 ECHO-5.5/scripts/run_v1.py bench --output /tmp/echo55-bench-1

La salida debe ser nueva. results.json separa solicitudes de script de acciones físicas e incluye hashes de fuentes antes/después, límites y cierre de procesos. El observador existente permite ver el registro factual:

python3 observe.py --launch --technical /tmp/echo55-bench-1/3-program/thought.jsonl

receipts/ contiene recibos HMAC y authority/ sus claves privadas. El CLI verifica los recibos al cerrar. No publicar authority/: la comprobación HMAC requiere custodia local; la firma no prueba la verdad de una hipótesis.

Modelo real opcional, CPU

Servidor llama.cpp con un GGUF instruct propio. Ajustar la ruta del modelo:

llama-server --model /ruta/modelo.gguf --host 127.0.0.1 --port 8795 \
  --ctx-size 4096 --parallel 1 --threads 4 --threads-batch 4 \
  --n-gpu-layers 0 --device none --no-op-offload
python3 ECHO-5.5/scripts/run_v1.py cpu-llm \
  --provider ECHO-5.5/docs/CPU-PROVIDER.example.json \
  --lengths 3 --max-calls 2 --output /tmp/echo55-model-1

Detener el servidor al terminar. Fijar hash/revisión del GGUF y versión del servidor para comparar. El proveedor cuenta los tokens de la plantilla completa y envía esos mismos IDs a /completion. Límites por defecto: 3.000 de entrada, 512 de salida y 5.000 acumulados por episodio. Ante interrupción o uso desconocido se carga toda la reserva y no se repite automáticamente. Es una calibración sencilla; no evalúa la capacidad del modelo en ARC.

Niveles oficiales offline

Entorno opcional separado:

python3 -m venv "$HOME/.local/share/echoai-tools/echo55-v1"
"$HOME/.local/share/echoai-tools/echo55-v1/bin/pip" install \
  arc-agi==0.9.3 arcengine==0.9.3
"$HOME/.local/share/echoai-tools/echo55-v1/bin/python" \
  ECHO-5.5/scripts/run_v1.py official-smoke \
  --environments /ruta/environment_files \
  --games bp35-0a0ad940 s5i5-18d95033 --actions 12 \
  --output /tmp/echo55-official-1

environment_files debe contener juegos públicos de desarrollo del toolkit oficial, adquiridos previamente bajo sus condiciones de uso. El comando no descarga juegos, no tiene fallback sintético y no requiere API key. Guarda el hash del archivo de cada juego y las versiones del motor. Solo usa frames, acciones legales, estado y niveles públicos. El smoke usa acciones scriptadas: comprueba integración, no es un solver ni un envío al leaderboard. El reset inicial se cuenta por separado.

API de cada mini-programa

s = echo.observe()  # dict; el flag es s['terminal'], no echo.terminal
objects = echo.objects()
delta = echo.changes()
agency_hypotheses = echo.agency()
contact_hypotheses = echo.contacts()
if not s['terminal']:
    echo.act(s['available_actions'][0])

echo.act(6, data={'x': 12, 'y': 8}) solicita un clic cuando ACTION6 es legal. echo.execute(actions) para en terminal o veto; cada paso consume una acción real. No hay rollback del mundo tras un error.

echo.plan(grid, start, goal, wall_colors=[1]) reutiliza el planificador para mapas de 2..16 celdas por eje, con abstención fuera de alcance. Su prior 0/1/2/3 = arriba/derecha/abajo/izquierda NO es el mapeo oficial ARC. Las coordenadas del helper son [fila, columna]; las del clic son x,y.

Cada programa tiene un namespace nuevo; juego y cuotas persisten en el padre. La evicción elimina bloques antiguos completos y conserva política + último frame completo, codificado con RLE sin pérdida. Si no caben, aborta antes de inferir. Agencia/contacto son hipótesis, nunca identidades o causalidad ciertas.

Gráfica

Con matplotlib en un entorno de herramientas:

python3 ECHO-5.5/scripts/plot_v1.py --results /tmp/echo55-bench-1/results.json \
  --output /tmp/echo55-figures

La figura identifica explícitamente el control scriptado. No se garantizan los mismos tiempos/RSS en otro equipo; sí se pueden comprobar las acciones, victorias del fixture y límites bajo las condiciones declaradas.

Vista previa

Abrir original