- Distinguir fallo de razonamiento, fallo de parser y fallo de permisos.
- Probar tools con un caso mínimo antes de usar repos reales.
- Elegir cuándo usar Ollama, Open WebUI, Hermes, MCP o vLLM.
Diagnóstico en capas
- Modelo: ¿sabe seguir formato JSON/tool?
- Runtime: ¿Ollama, Hermes, Open WebUI o vLLM esperan el mismo formato?
- Parser: ¿extrae argumentos o se queda con texto libre?
- Permisos: ¿la tool existe y puede ejecutarse?
Prueba mínima:
Herramienta disponible: get_time({ "timezone": "Europe/Madrid" })
Pregunta:
"Usa la herramienta get_time para decirme la hora en Madrid.
No inventes la hora. Si no puedes llamar la herramienta, dilo."
Resultado esperado:
- llamada estructurada a get_time
- argumentos válidos
- respuesta basada en salida realFallos típicos
- El modelo describe la tool en texto, pero no la invoca.
- Genera JSON inválido o con campos inventados.
- El runtime oculta el error y parece que “no pasa nada”.
- Una cuantización o conversión ha degradado el comportamiento con tools.
- La tool ejecuta código arbitrario sin revisión humana.
Checklist: - Log de prompt completo - Log de tool schema - Log de salida del modelo antes del parser - Log de argumentos parseados - Log de ejecución real - Regla de aprobación humana para escritura
Fuentes oficiales
Si has guardado la evidencia de esta lección, continúa con «Open WebUI + Qdrant». Si no, repite la comprobación antes de avanzar.