Funciones ocultas para multiplicar por 10 la configuración de tu agente Hermes
AAI LABS
Computing/SoftwareManagementInternet Technology
Transcript
00:00:00Desde que empezamos a usar Hermes, hemos configurado muchos de nuestros flujos de trabajo en él, tal como les mostramos en
00:00:04los videos anteriores, ha estado monitoreando nuestras aplicaciones, coordinando al equipo en Slack y más, pero cuanto
00:00:09más lo usábamos, más nos topábamos con los mismos problemas y empezó a parecer que nuestra configuración
00:00:13no era suficiente. Como siempre hacemos, empezamos a buscar formas de resolver los problemas, pero fue ahí cuando
00:00:18nos dimos cuenta de que no necesitábamos añadir nada más, porque todo lo que necesitábamos ya estaba en Hermes
00:00:23en sí; simplemente no lo estábamos usando a su máximo potencial. Ahora, si eres nuevo en el canal,
00:00:27bienvenido. Somos una empresa de software y esto es AI Labs, donde te mostramos cómo optimizar un negocio
00:00:32con IA utilizando métodos probados por nuestro propio equipo. Y en este video, repasaremos todos los ajustes
00:00:37que cambiamos para mejorar nuestro flujo de trabajo, así que la primera categoría trata sobre el contexto y los límites de salida.
00:00:43Hermes utiliza la carpeta .hermes que contiene todas las configuraciones e información que ejecutan el agente, y todo
00:00:49eso reside en un único archivo llamado config.yaml. Es un archivo muy largo y contiene cada configuración
00:00:55vinculada a la configuración del agente, así que si estás administrando varios perfiles como nosotros, cada uno obtiene su
00:01:00propia carpeta separada y cada perfil tiene su propio archivo config.yaml. Así que el primero que cambiaremos es
00:01:06max bytes. Por defecto, esto está configurado en 50,000, lo que significa que extrae 50,000 caracteres de cualquier salida de herramienta
00:01:13hacia la ventana de contexto a la vez, y el resto se corta. Eso se convirtió en un problema cuando lo usábamos
00:01:17para monitorear ejecuciones de prueba, porque no lograba ver adecuadamente los problemas cuando eran extensos, así que necesitábamos más de
00:01:23esa salida en la ventana de contexto. Para eso, puedes establecer max bytes directamente en el archivo config.yaml
00:01:29o cambiarlo al número que necesites usando el comando “hermes config”. Una vez hecho esto, extrae esa cantidad de
00:01:34caracteres a la ventana de contexto desde todas las salidas de herramientas, pero deberás asegurarte de que el perfil correcto
00:01:39esté seleccionado, porque los cambios que haces con el comando “hermes config” se muestran en el archivo de configuración
00:01:44de tus perfiles activos. Otro problema aparece cuando el agente lee un archivo con muchas líneas. Esto nos sucedió
00:01:50cuando conectamos Hermes a la base de conocimientos de nuestra empresa, donde tenemos esos grandes documentos de políticas que
00:01:55tienen fácilmente más de 2000 líneas, así que cuando los extraía dividiéndolos en fragmentos, seguía pasando por alto
00:02:01detalles importantes, así que lo configuramos en 5000 y dejamos que el agente lea más del archivo a la vez. Hay otro
00:02:07límite que se convierte en un problema cuando tienes muchos archivos markdown grandes. Si tu documento tiene párrafos largos
00:02:12almacenados como una sola línea larga y esa línea tiene más de 2000 caracteres, no se leerá completamente, así que si
00:02:18quieres aumentar eso, puedes cambiarlo con el comando “hermes config” y establecer el recuento de caracteres que
00:02:23necesites; de esa manera, el agente puede leer más de 2000 caracteres en una sola línea. Los primeros tres ajustes
00:02:28importan principalmente si trabajas con archivos grandes, pero este siguiente es importante para todos, y es el
00:02:33umbral de compresión. Por defecto, el umbral de compresión está configurado en 50, lo que significa que una vez que el 50% de
00:02:39la ventana de contexto está llena, comprime todo lo que hay ahí, pero muchos otros agentes como Codex y
00:02:45Claude Code tienen esto configurado alrededor de 75. Nosotros mismos nos encontramos con esto al ejecutar Hermes, ya que lo habíamos
00:02:51configurado con un modelo más pequeño en 200,000 de contexto; se comprimía demasiado pronto, lo cual no es ideal cuando
00:02:56realmente quieres hacer las cosas. Ahora, modelos como Opus o los de Gemini con una ventana de un millón de tokens
00:03:02estarían bien aquí porque la compresión solo ocurre a los 500,000 tokens para ellos, pero para modelos con 200,000
00:03:08de contexto, ocurre a los 100,000 tokens, lo que causa problemas en una ejecución larga, así que configuramos el umbral de compresión
00:03:15en 0.75; de esa manera podemos usar al menos el 75% de la ventana de contexto antes de que llegue a la compresión. Otro
00:03:22ajuste se llama relación objetivo (target ratio), que está configurado en 20 por defecto. Cuando Hermes llega a comprimir, no
00:03:28comprime todo el chat, sino que deja el 20% de la conversación sin comprimir y comienza la nueva
00:03:34conversación con esa parte sin comprimir junto con el resumen, así que ese 20% sin comprimir se convierte en tu cola
00:03:40una vez que comienza la nueva conversación comprimida. Ahora, cuánto queda sin comprimir depende de qué tan grande
00:03:45sea tu ventana de contexto; para una ventana de contexto de 1 millón de tokens, se añaden 100,000 tokens, y para una de 200,000
00:03:52tokens de contexto, solo se añaden 20,000 tokens, y esta cola le da al agente más contexto sobre la
00:03:58conversación anterior para que pueda retomar fácilmente, así que 20 nos funciona en una ventana de contexto de 200,000, pero si
00:04:04estás en un modelo más grande, puedes usar el comando “config” para configurarlo más alto; el rango ideal está entre
00:04:0910 y 80 por ciento. Cuanto mayor sea el número, más tokens permanecerán en tu ventana de contexto, pero también tendrás
00:04:15menos espacio libre para trabajar. Como hablamos en el video anterior, los archivos memory.md y user.md
00:04:21que mantiene Hermes tienen un límite estricto de cuántos caracteres pueden contener; después de eso, Hermes
00:04:26comienza a descartar información que el agente cree que ya no necesita. Puedes cambiar estos límites también, ya sea
00:04:32directamente en tu archivo config.yaml o a través de la aplicación de escritorio de Hermes desde el panel de configuración. Desde allí
00:04:37también puedes cambiar la mayoría de los ajustes de los que acabamos de hablar. Y si te está gustando el video hasta ahora,
00:04:42suscríbete al canal y presiona el botón de “hype”. Este pequeño gesto de apoyo es de gran ayuda para nosotros.
00:04:47La segunda categoría son los sub-agentes. En Hermes, estás limitado a generar tres sub-agentes a la vez, y cuando
00:04:53estábamos trabajando en nuestros proyectos, alcanzamos este límite y las cosas terminaron tomando más tiempo de lo necesario.
00:04:58En la configuración, este límite proviene del valor max concurrent children, que está establecido en tres por defecto.
00:05:03Como teníamos problemas, usamos el comando “config” y cambiamos este valor a cinco. A partir de
00:05:08ese momento, cada vez que genera sub-agentes, puede ejecutar hasta cinco de ellos juntos, pero esto consume muchos
00:05:13tokens, así que si trabajas con muchos sub-agentes, el costo es algo que debes tener en cuenta. Ahora, en
00:05:18Claude Code, cada sub-agente puede crear sus propios sub-agentes, y eso es útil cuando trabajas
00:05:23con una carpeta grande donde un agente puede ramificarse en más agentes para explorar repositorios anidados, pero Hermes
00:05:28bloquea esto con el indicador max spawn depth, que está configurado en uno por defecto, y eso detiene a cualquier sub-agente
00:05:34de crear más, así que puedes aumentar la profundidad máxima de generación (max spawn depth) por encima de uno. Después de eso, tus sub-agentes pueden crear
00:05:39sus propios sub-agentes también. Hay otra característica de sub-agentes llamada auto-approve, que está configurada como falsa por
00:05:44defecto. Esto significa que los sub-agentes que generas solo heredan los permisos del padre y podrían
00:05:50seguir siendo bloqueados por solicitudes de permiso, así que si quieres cambiar esto, puedes establecerlo como verdadero directamente
00:05:55aquí. Una vez que hayas hecho eso, tus sub-agentes pueden ejecutarse en modo de auto-aprobación y no se verán bloqueados por ninguna
00:06:00solicitud de permiso. Los sub-agentes manejan tareas simples como búsquedas web que no necesitan el trabajo pesado de
00:06:06tu modelo principal, pero ejecutarlos en ese modelo potente conlleva un costo elevado para trabajos como este, así que puedes
00:06:11cambiar el modelo utilizado para cualquier sub-agente y cambiarlo por uno más pequeño, lo cual te ahorra tokens
00:06:16y si ese modelo más pequeño es de un proveedor diferente, puedes añadirlo usando el comando “hermes auth”
00:06:21que te permite incorporar modelos del proveedor que desees. Pero antes de pasar
00:06:25a los ajustes que nos ahorran costos, tengamos unas palabras de nuestro patrocinador, Helix. Cada semana hay una nueva herramienta
00:06:31de IA que te ayuda a construir aplicaciones, sitios web y productos más rápido que nunca, pero nadie habla de lo que sucede
00:06:37antes de que empieces a construir. La mayoría de las personas se lanzan directamente a programar con una idea a medio hornear y terminan
00:06:42reconstruyendo lo mismo tres veces. Helix es una plataforma de planificación de productos guiada por IA que toma una idea
00:06:48aproximada y la convierte en un plan estructurado que realmente puedes entregar a un desarrollador o a una parte interesada.
00:06:53Describe tu idea en una oración y cinco agentes especialistas en IA se ponen a trabajar cubriendo validación,
00:06:59investigación de mercado, desarrollo de producto, modelado de negocio y estrategia de crecimiento. Extrae datos de mercado en vivo en tiempo
00:07:05real, se conecta a más de 20 herramientas que ya usas como Notion, Jira y Airtable, y el “canvas” se adapta a
00:07:11las necesidades reales de tu producto en lugar de obligarte a usar una plantilla genérica. Cuando terminas, exportas un
00:07:16plan listo para inversores que está realmente construido sobre investigación real, no sobre conjeturas. Haz clic en el enlace de
00:07:21la descripción y prueba Helix gratis. La tercera categoría es costos; estos son básicamente los ajustes que te ahorran
00:07:27tokens. Cuando configuras Hermes por primera vez, le das los modelos para diferentes propósitos, pero puedes configurar
00:07:32modelos auxiliares también. Los modelos auxiliares son básicamente los más baratos y rápidos que Hermes utiliza para
00:07:38subtareas en segundo plano, de modo que el costoso modelo principal que has configurado no se desperdicie en tareas pequeñas que
00:07:43no son tan complicadas. Por defecto, cuando dejas los modelos auxiliares vacíos, Hermes recurre al
00:07:48modelo de menor costo en tu configuración; como usábamos OpenRouter, estaba configurado en Gemini Flash, así que estos
00:07:54modelos más baratos podían manejar tareas entre bastidores, así que si quieres ahorrar costos puedes configurar modelos más baratos
00:07:59manualmente. Pueden ahorrarte mucho dinero en tareas como búsquedas web o compresión si tu modelo principal
00:08:05es algo como Opus, probablemente no quieras desperdiciarlo en tareas triviales. Para ahorrar costos, otra
00:08:11cosa que puedes configurar es el nivel de esfuerzo del modelo que estás usando. El esfuerzo es básicamente cuánto
00:08:15pensamiento pone el modelo en una tarea. Si el esfuerzo es mayor, aunque la salida será mejor, los
00:08:20tokens consumidos también serán mayores. Puedes configurarlo en “bajo” o “mínimo” para que el agente no desperdicie tokens.
00:08:26También puedes desactivar el pensamiento por completo si no quieres usar niveles de esfuerzo. La cuarta categoría es
00:08:32flujo de trabajo y cubre un montón de otras características que hacen que Hermes sea mucho mejor de usar. La primera es
00:08:37comandos rápidos (quick commands). Si has estado usando Claude Code, quizás conozcas los comandos de barra diagonal donde añades instrucciones
00:08:43personalizadas reutilizables. Hacen un trabajo similar, pero Hermes los maneja de manera diferente porque no utiliza instrucciones de
00:08:48mensaje de la forma en que lo hacen Claude Code y otros agentes. Los comandos rápidos vienen en dos tipos: el primero es
00:08:54exec, que ejecuta un comando de terminal y suelta su salida en la ventana de contexto. Esto es útil para
00:08:59crear scripts que ejecutan toda una serie de comandos a partir de uno solo; por ejemplo, para operaciones de Git
00:09:04puedes configurar un comando exec personalizado y ejecutarlo cada vez que quieras que el agente utilice esos comandos. El
00:09:09otro tipo es “alias”; esto es menos un comando personalizado y más una forma de renombrar los existentes. Por
00:09:15ejemplo, si quieres una forma más rápida de ejecutar “compress”, puedes establecer un alias con una sola letra y ejecutarlo
00:09:20rápido. No hay una forma directa de configurar esto, así que en realidad tienes que hacerlo en config.yaml, o simplemente puedes
00:09:25pedirle a Claude Code o a Hermes que lo haga por ti y hará los cambios por sí mismo. Aparte de eso, Hermes tiene
00:09:31un mecanismo de puntos de control (checkpointing) también. Un punto de control es básicamente un estado guardado de tus archivos en un momento
00:09:36determinado en el tiempo; puedes revertir a él si un experimento rompe algo. Está desactivado por defecto, así que tendrás que
00:09:41establecerlo en verdadero. Una vez que el checkpointing esté activado, puedes usar el comando “rollback” para volver a un punto
00:09:46Otra cosa que puedes cambiar son las notificaciones de procesos en segundo plano; si ajustas esto a "all",
00:09:52recibirás una notificación por todo lo que Hermes esté haciendo en segundo plano. Puedes cambiarlo si no quieres
00:09:56esas. También hay una bandera llamada “hermes ephemeral system prompt”, que te permite añadir contenido en el
00:10:01mensaje del sistema del agente. Esta es una variable de entorno y la instrucción que añades como valor
00:10:06se convierte en parte del mensaje del sistema, así que puedes añadir las instrucciones que quieras de esta manera, pero este
00:10:11mensaje solo se aplica a la sesión que abres en esa terminal y no permanece a largo plazo,
00:10:16así que es útil principalmente para casos de uso de una sola vez. También puedes ejecutar Hermes en modo “yolo”, que es lo mismo
00:10:22que el modo de saltar permisos peligrosamente en Claude. Esto detiene al agente de estar ahí esperando a
00:10:27que apruebes cada acción. Puedes activarlo con el comando “yolo” o lanzando Hermes con la
00:10:32bandera “yolo” en la terminal. En un momento, nos encontramos con un error y no estábamos seguros de si provenía de Hermes
00:10:37en sí o de alguna configuración que habíamos establecido. Fue entonces cuando nos topamos con el modo “ignore user config”; elimina
00:10:43al agente de todas las configuraciones en tu carpeta .hermes y lo ejecuta de forma aislada para que puedas descubrir
00:10:48qué es lo que realmente está causando el error y arreglarlo. También puedes cambiar entre las múltiples personalidades
00:10:53que vienen con él y divertirte con los diferentes estilos de voz que ya están en las configuraciones usando el comando
00:10:59“personality”. Dado que mucha gente ha estado preguntando por ello, hemos preparado un paquete de inicio con todas las
00:11:03guías y recursos que necesitarás. Está disponible dentro de nuestra comunidad AI Labs Pro, así que si te gustaría
00:11:09apoyar al canal y obtener acceso a este paquete de recursos, asegúrate de echarle un vistazo; el enlace está en la
00:11:14descripción. Eso nos lleva al final de este video. Si te gustaría apoyar al canal y ayudarnos a seguir
00:11:19haciendo videos como este, puedes hacerlo usando el botón de “super gracias” de abajo. Como siempre, gracias por
00:11:24ver y los veré en el próximo.