Agente coding local con Hermes y Ollama
Hermes Agent permite montar un agente que trabaja con herramientas, memoria y skills usando proveedores locales como Ollama. La parte importante no es dejarlo “autónomo”: es darle límites, verificación y una forma clara de parar.
Objetivos de aprendizaje
- Entender el papel de Hermes, Ollama y el modelo local.
- Configurar un flujo seguro para editar código en una rama.
- Evitar loops, tool calling roto y cambios sin pruebas.
En cristiano: Hermes Agent. Es un agente de Nous Research con memoria, skills y herramientas. Puede usar proveedores cloud o self-hosted, incluyendo Ollama y vLLM, pero sigue necesitando permisos y límites explícitos.
Arquitectura mínima
Para un agente de código local, piensa en tres capas: Hermes orquesta la tarea, Ollama sirve el modelo y Git/tests verifican si el cambio merece quedarse. Si una de esas capas no existe, el sistema se vuelve frágil.
- Hermes: memoria, skills, tools y loop de trabajo.
- Ollama: endpoint local compatible para inferencia.
- Repositorio: rama aislada, tests, lint y diff revisable.
Terminal
# Comprueba que Ollama responde ollama --version ollama list curl http://localhost:11434/api/tags # Elige un modelo pequeño para empezar ollama pull qwen2.5-coder:7b ollama run qwen2.5-coder:7b "Resume qué hace este archivo package.json" # Trabaja siempre en rama git checkout -b agent/hermes-prueba-segura
Idea clave. Empieza con un modelo y una tarea pequeña. Cambiar modelo, runtime, tool parser y repositorio a la vez hace imposible saber qué rompió el flujo.
Encargo inicial recomendado
Un agente local no debe empezar editando. Primero debe observar, acotar y proponer un plan. Este patrón reduce cambios impulsivos y te deja detectar si el contexto es insuficiente.
Terminal
Objetivo: Corrige el bug descrito en BUG.md sin tocar otras áreas. Reglas: - Primero lista archivos relevantes y riesgos. - No edites hasta proponer un plan de 5 pasos. - Máximo 8 pasos de agente. - Si una tool falla dos veces, para y resume. - Después de editar, ejecuta lint/test/build disponibles. - No hagas commit sin mostrar diff y resultado de pruebas.
Cuidado. Tool calling con modelos locales puede fallar por formato, parser, cuantización o metadatos del modelo. Si una tool no se invoca o el modelo inventa resultados, no lo arregles con más permisos: cambia a una tarea más pequeña y revisa proveedor, modelo y formato de tools.
Stop logic para que no se vaya de paseo
Terminal
limits:
max_steps: 8
max_tool_calls_total: 20
max_repeated_tool_args: 2
max_runtime_minutes: 15
stop_when:
- tests_pass
- same_error_twice
- missing_context
- needs_secret_or_external_login Comprueba que funciona. Haz una prueba de fuego: pide al agente que modifique una función simple, ejecute tests y explique el diff. Si no puede completar ese circuito, todavía no está listo para tareas largas.
Guardar y reabrir el proyecto.
Un agente coding local útil no es el que toca más archivos, sino el que sabe cuándo parar, enseñar evidencia y dejar un diff pequeño que puedas revisar.