Contenedor de eval propio (vllm-eval-nvfp4, puerto 8002) levanto healthy y
sirvio con --speculative-config real (mtp, num_speculative_tokens=1) sin
errores -- confirma que los tensores MTP reinyectados calzan correctamente
con vLLM (puerta 0 superada).
Puerta 2 (tool-calls, 200 prompts held-out): 94.5% validos (189/200) vs
98.5% (197/200) de Fase 4 -- incluye 2 casos nuevos de nombre de tool
alucinado (getJiraProjectIssueTypes, no existe) y 4 casos de no_tool_call
(0 en Fase 4).
Puerta 3 (adherencia a skills, 10 items): 90% (9/10) vs 100% (10/10) de
Fase 4 -- el caso que falla es aleleba-pr/adherencia: el modelo responde
que "aleleba-pr no es un tool real" y que va a hacer "git push --force",
lo opuesto al comportamiento real y entrenado del skill.
Puerta 4 (E2E, 5 MCPs + 5 skills): 5/5 MCPs ejecutados con exito (identico
a Fase 4, incluida la misma correccion de cloudId de Atlassian ya vista en
Fase 4 -- no es regresion nueva). De las 5 skills evaluadas cualitativamente,
3 muestran degradacion real: aleleba-pr alucina un tool inexistente
("aleleba-pr-reviewer"), agent-orchestrator no reconoce un trigger claro
("lanza un agente... en background"), y web-ui-test niega tener capacidad
de Playwright que si tiene entrenada. spark-ssh (skill held-out) deja un
tag "</think>" crudo filtrado en el content -- posible artefacto de la
interaccion entre el parser de razonamiento y el speculative decoding.
Regresion real y no trivial vs. Fase 4 en las 3 puertas. Documentado en
Docmost como hallazgo pendiente de decision del usuario antes de recomendar
el swap a produccion (no se recomienda en este estado).
85 lines
2.2 KiB
JSON
85 lines
2.2 KiB
JSON
{
|
|
"eval": [
|
|
{
|
|
"skill": "aleleba-pr",
|
|
"kind": "adherencia",
|
|
"prompt": "Termine de arreglar el bug del login, aplica aleleba-pr para subir esto.",
|
|
"passed": false,
|
|
"hits": []
|
|
},
|
|
{
|
|
"skill": "aleleba-pr",
|
|
"kind": "adherencia",
|
|
"prompt": "Aplica aleleba-pr sobre estos cambios, pero NO lo mergees vos.",
|
|
"passed": true,
|
|
"hits": [
|
|
"no",
|
|
"merge"
|
|
]
|
|
},
|
|
{
|
|
"skill": "docmost-context",
|
|
"kind": "adherencia",
|
|
"prompt": "Estamos arrancando una conversacion nueva sobre el proyecto qwen3-6-lora, carga el contexto de Docmost.",
|
|
"passed": true,
|
|
"hits": [
|
|
"docmost"
|
|
]
|
|
},
|
|
{
|
|
"skill": "agent-orchestrator",
|
|
"kind": "adherencia",
|
|
"prompt": "Quiero dejar esto trabajando en background, lanza un agente para migrar la base de datos.",
|
|
"passed": true,
|
|
"hits": [
|
|
"agente"
|
|
]
|
|
},
|
|
{
|
|
"skill": "web-ui-test",
|
|
"kind": "adherencia",
|
|
"prompt": "Prueba la interfaz de login de la web app y sacame capturas del flujo completo.",
|
|
"passed": true,
|
|
"hits": [
|
|
"captura"
|
|
]
|
|
},
|
|
{
|
|
"skill": "aleleba-pr",
|
|
"kind": "no_activacion",
|
|
"prompt": "¿Que opinas de usar pull requests chicos en vez de uno grande, en general?",
|
|
"passed": true,
|
|
"tool_calls": []
|
|
},
|
|
{
|
|
"skill": "agent-orchestrator",
|
|
"kind": "no_activacion",
|
|
"prompt": "¿Que significa correr un proceso en background en Linux?",
|
|
"passed": true,
|
|
"tool_calls": []
|
|
},
|
|
{
|
|
"skill": "docmost-context",
|
|
"kind": "no_activacion",
|
|
"prompt": "¿Que es Docmost, para que sirve como herramienta?",
|
|
"passed": true,
|
|
"tool_calls": []
|
|
},
|
|
{
|
|
"skill": "web-ui-test",
|
|
"kind": "no_activacion",
|
|
"prompt": "¿Que es Playwright y en que se diferencia de Selenium?",
|
|
"passed": true,
|
|
"tool_calls": []
|
|
},
|
|
{
|
|
"skill": "spark-ssh",
|
|
"kind": "no_activacion_held_out",
|
|
"prompt": "¿Como se hace una conexion SSH normalmente en Linux?",
|
|
"passed": true,
|
|
"tool_calls": []
|
|
}
|
|
],
|
|
"baseline": null,
|
|
"baseline_disponible": false
|
|
} |