Decisión: matriz de compatibilidad de formatos de tool-results

Fecha: 2026-09-26 Artefacto: ~//r1-test/compat_matrix_results.json Harness: ~//r1-test/compat_matrix.py (canary CODE-7429-XK)

Resultado

Providerrole:tooluser-packedtextual
workers_ai (llama-3.1-8b)NOYESYES
hf_r1 (R1-0528-Qwen3-8B, ZeroGPU)YESYESYES
ollama (qwen3.5:9b)YESYESYES

Hallazgos

  1. Único hueco: Workers AI descarta role:"tool". El harness debe empaquetar tool results como mensaje user cuando el provider sea Workers AI. R1 y Qwen3 honran los 3 formatos.
  2. R1-0528 acepta role:"tool" crudo en apply_chat_template (Qwen3 template) — sin TEMPLATE_ERROR. El harness OpenAI-format puede hablar con R1 sin traducción.
  3. Inference Providers de HF = 402 (créditos agotados); se evaluó R1 vía Space propio [usuario]/r1-compat-matrix (ZeroGPU, zero-a10g, deepseek-ai/DeepSeek-R1-0528-Qwen3-8B), endpoint Gradio /predict que recibe el array de mensajes JSON crudo.
  4. Latencias R1 en ZeroGPU: 15-21s por llamada (cold ~19s, warm menos).

Infra levantada (apagar al terminar sesión)

  • [usuario]/r1-compat-matrix — Space HF público, zero-a10g (cota diaria PRO).
  • [usuario]/sonrisa-inference — Space HF privado, zero-a10g (benchmark E1).
  • Workers AI local: wrangler dev en :8788 (pid guardado en sesión previa).

Cómo re-correr

source ~/.zshrc   # HF_TOKEN
~//r1-test/.venv/bin/python ~//r1-test/compat_matrix.py

(Ojo: ollama debe estar corriendo para su fila; si no, correr solo la fila deseada.)