Antes de optimizar, medir dónde se están yendo los tokens.
hermes logs --level INFO | grep "tokens" > /tmp/token-audit.txt
hermes cron list
Anotar baseline: costo mensual actual estimado.
ARTICULO
Procedimiento operativo estándar para reducir el costo de Hermes Agent en un 70%. Siete pasos, de auditoría a mantenimiento continuo.
Antes de optimizar, medir dónde se están yendo los tokens.
hermes logs --level INFO | grep "tokens" > /tmp/token-audit.txt
hermes cron list
Anotar baseline: costo mensual actual estimado.
Regla: Cada cron job solo carga las herramientas que realmente usa.
| Tipo de cron job | Toolsets | Ahorro estimado |
|---|---|---|
| Lectura de archivos | ["file"] | -50% |
| Búsqueda web | ["web"] | -45% |
| Solo comandos | ["terminal"] | -40% |
| Guardar datos (Sheets) | ["terminal", "file"] | -40% |
Acción: Revisar cada cron job con hermes cron list y actualizar con hermes cron update --job-id .
Para crons que solo ejecutan un script y entregan output (sin análisis del LLM):
hermes cron update --job-id --script "scripts/watchdog.sh"
hermes cron update --job-id --script "scripts/watchdog.sh" --no_agent true
Candidatos típicos: - Monitoreo de estado (disk, memory, GPU) - Watchdogs de threshold - Heartbeats - Pollers de API con formato fijo
Para crons que no requieren razonamiento profundo:
model:
provider: deepseek
model: deepseek-chat/min
Casos de uso: - Resúmenes de RSS - Scrapers que siguen plantillas - Data collection - Clasificación binaria (spam/no-spam, relevante/no-relevante)
Cuando un flujo requiere múltiples análisis independientes:
delegate_task(tasks=[
{"goal": "Analizar archivo A", "toolsets": ["file"]},
{"goal": "Buscar en web X", "toolsets": ["web"]},
{"goal": "Procesar datos Y", "toolsets": ["terminal"]}
])
Los 3 corren en paralelo, comparten contexto del orquestador, y el tiempo total es el del más lento.
Reglas de mantenimiento:
- brain.md: máximo 200 líneas. Revisar mensualmente y eliminar lo obsoleto.
- Skills: máximo 100 líneas de instrucciones. Mover referencias largas a references/.
- Usar skill_view(name, file_path) para cargar referencias solo cuando se necesitan.
Práctica diaria:
- Usar /new cuando el tema de conversación cambia.
- Si una sesión pasa de 50 mensajes, cortar y empezar nueva.
- Las sesiones viejas se pueden buscar con session_search() si se necesita contexto.
Después de aplicar todas las optimizaciones:
bash
hermes logs --level INFO --since "7 days ago" | grep "tokens"
Target: reducción del 60-70% en consumo mensual de tokens. Si no se alcanza, revisar el Paso 2 (toolsets) — suele ser la fuente principal de desperdicio.
Una vez que aplicaste los pasos anteriores, no podés dar por cerrada la optimización. Los patrones de uso cambian: aparecen crons nuevos, los datasets crecen y algunos workflows que antes eran livianos empiezan a consumir de más. Por eso, el mantenimiento continuo es parte del SOP. Armá un chequeo semanal con un comando simple para comparar el consumo contra el baseline del Paso 1. Por ejemplo: bash hermes cost --period week | tail -n 20 y guardalo en un log. Si ves una suba mayor al 10%, revisá qué job la generó y aplicá de nuevo el paso 2 o 4.
Otra práctica clave es configurar alertas de presupuesto a nivel de proyecto. bash hermes budget set --monthly-limit 50 --alert 80% te avisa por Slack o mail cuando estás por llegar al límite. Así evitás sorpresas en la factura y podés reaccionar antes de que un job descontrolado te reviente el costo. Además, revisá los reportes de tokens por toolset: a veces el cuello de botella no es el modelo, sino una herramienta que devuelve muchísimo texto innecesario. En ese caso, podés recortar el contexto con --max-tokens o filtrar la salida con un script previo.
Por último, documentá cada cambio que hagas en un archivo CHANGES.md con la fecha, el job y el ahorro estimado. Eso te permite detectar qué ajustes funcionaron y cuáles no. Si un job vuelve a crecer, comparás contra ese historial y sabés exactamente qué revertir. El ahorro del 70% no es un destino, es un proceso: con este paso de mantenimiento, lo mantenés estable mes a mes.