Cómo encargarle a Hermes un proyecto que realmente pueda terminar
Hermes resulta especialmente útil cuando una tarea no puede completarse en una sola respuesta. Una corrección de software puede requerir revisar varios archivos, modificar la implementación, ejecutar pruebas, corregir nuevos errores y comprobar que no se haya producido ningún otro fallo. Un trabajo de investigación puede implicar recopilar pruebas, comparar fuentes, redactar un informe y verificar si se ha respondido adecuadamente a la pregunta original.
En una conversación habitual con una IA, el usuario suele tener que gestionar cada paso. El asistente realiza parte del trabajo, se detiene y espera. El usuario comprueba el resultado, identifica lo que falta y le pide que continúe.
Hermes modifica ese proceso mediante el comando /goal. El comando asigna al agente un objetivo permanente que permanece activo a lo largo de varios turnos. Hermes puede seguir trabajando, evaluar si se ha cumplido el objetivo y dar el siguiente paso sin tener que esperar a que se le vuelva a dar una indicación tras cada resultado parcial.
Eso no significa que el agente deba recibir una instrucción imprecisa y que se le deje actuar por su cuenta. La calidad del trabajo depende en gran medida de cómo se defina el proyecto. Un objetivo claro indica a Hermes qué debe cumplirse al final, qué parte del proyecto puede modificar, cómo se verificará su finalización y cuándo debe detenerse para obtener la aprobación humana.
Cuándo utilizar el comando /goal
El comando /goal está pensado para tareas que requieren iteraciones.
Es ideal para la depuración, el mantenimiento de repositorios, la investigación estructurada, la revisión de documentos, la organización de archivos, la limpieza de datos y otros proyectos en los que es poco probable que el primer intento sea el definitivo.
Una indicación normal puede ser suficiente cuando la tarea se puede completar en un solo paso claro. Reescribir un párrafo, explicar un concepto o resumir un documento no suele requerir un objetivo persistente.
El comando resulta más útil cuando se prevé dar varias instrucciones posteriores, como “continuar”, “comprobar los archivos restantes”, “corregir los errores” o “volver a ejecutar la prueba”.
En lugar de gestionar esos pasos manualmente, basta con definir el resultado una vez y dejar que Hermes se encargue de alcanzarlo.
Una distinción útil es:
- Utiliza una pregunta normal cuando necesites una respuesta.
- Utiliza /goal cuando necesites un proyecto finalizado.
Describe el resultado, no la actividad
Un objetivo poco ambicioso le indica a Hermes en qué debe trabajar. Un objetivo ambicioso le indica a Hermes cómo es el resultado final.
“Mejorar la página web” es un objetivo demasiado amplio. El agente no sabe qué aspecto es el más importante, qué significa «mejorar» ni cuándo debe dar por concluido el proceso.
Una indicación más adecuada sería: actualizar el formulario de contacto para que los envíos válidos se almacenen correctamente, se rechacen las direcciones de correo electrónico no válidas, el diseño actual no sufra cambios y se superen todas las pruebas del formulario de contacto.
La segunda versión ofrece a Hermes un resultado cuantificable. Además, reduce el riesgo de que el agente modifique partes de la página web que no guardan relación con el objetivo.
Esta distinción es importante en casi cualquier tipo de proyecto.
“Investigar a nuestros competidores” deja demasiadas decisiones en el aire. Un objetivo más útil sería pedir a Hermes que comparara cinco competidores concretos en cuanto a precios, público objetivo, características de los productos y posicionamiento, utilizando la información pública disponible e identificando cualquier dato que falte.
“Organizar estos archivos” es una indicación igualmente imprecisa. Una versión más concreta consistiría en pedirle a Hermes que ordenara el archivo de imágenes por año y mes, conservara los archivos originales, colocara las imágenes sin información de fecha útil en una carpeta aparte y confirmara que el número total de archivos no ha variado.
El objetivo debe describir un estado final que otra persona pueda verificar.
Establece unos límites claros para el proyecto
Un agente persistente puede actuar en varias etapas, lo que hace que el control del alcance sea aún más importante.
Hermes debe saber qué archivos, carpetas, sistemas o documentos forman parte del encargo. También debe saber qué es lo que no debe modificar.
En el caso de un proyecto de software, las instrucciones podrían limitar el trabajo al servicio de facturación y a las pruebas relacionadas con él. En el caso de una revisión de documentos, podrían especificar una carpeta y prohibir la búsqueda de información externa. En el caso de una actualización de un sitio web, podrían proteger la navegación, los ajustes de análisis y la configuración de producción.
Los límites ayudan de tres maneras.
En primer lugar, evitan que el agente amplíe una tarea local hasta convertirla en un rediseño más amplio. En segundo lugar, facilitan la revisión final, ya que el usuario sabe dónde deberían haberse producido los cambios. En tercer lugar, reducen el riesgo de causar daños innecesarios a las partes del proyecto que funcionan correctamente.
Un límite bien definido no tiene por qué ser técnico. Puede ser tan sencillo como: trabajar únicamente con los documentos de la carpeta de investigación del tercer trimestre y no utilizar fuentes externas.
Cuanto más delicado sea el proyecto, más precisa deberá ser la delimitación.
Protege lo que no debe cambiar
A menudo, un proyecto incluye requisitos que pueden verse afectados al resolver el problema principal.
Es posible que una corrección de software deba mantener la API pública, los formatos de archivo existentes o la estructura de la base de datos. Es posible que un proyecto de contenido deba conservar las declaraciones aprobadas, la redacción jurídica o la terminología de la marca. Es posible que una tarea de gestión de archivos deba conservar los nombres originales y evitar sobrescribir los archivos duplicados.
Estas restricciones deben indicarse antes de que comience Hermes.
Por ejemplo, una actualización de la autenticación podría exigir que el agente mantuviera el comportamiento actual de inicio de sesión, el proceso de restablecimiento de contraseña y el formato del token. Una revisión de un informe podría indicarle que no modificara las cifras aprobadas ni eliminara las exenciones de responsabilidad reglamentarias.
Sin esas instrucciones, el agente podría resolver el problema aparente modificando algún elemento del que depende la organización en otro ámbito.
Por lo tanto, el objetivo debería incluir dos elementos: lo que debe mejorar y lo que debe mantenerse estable.
Define cómo se comprobará el resultado
Hermes necesita una forma fiable de determinar si el trabajo está terminado.
En los proyectos de software, la verificación puede consistir en que se supere un conjunto de pruebas, que la compilación se realice con éxito, en un resultado de una prueba de rendimiento o en una ejecución de prueba. En el ámbito de la investigación, puede consistir en abarcar todos los temas necesarios, comprobar cada fuente e identificar las contradicciones sin resolver. En la gestión de archivos, puede consistir en comprobar que el número de archivos coincida antes y después de la operación.
“Asegúrate de que todo funcione” no es una prueba de finalización útil.
Una instrucción más estricta establecería que el objetivo solo se considera cumplido cuando se superan las pruebas pertinentes y la compilación finaliza con éxito. En el caso de un informe, la instrucción podría exigir que se incluyan todas las empresas mencionadas y que cada afirmación fáctica cuente con una fuente verificable. En cuanto a la organización de los archivos, podría exigir la confirmación de que no se ha eliminado ni sobrescrito nada.
La verificación debe basarse en pruebas, no en que el agente afirme que está seguro.
El resultado final resulta mucho más fácil de revisar cuando se ha acordado la norma antes de comenzar el trabajo.
Dile a Hermes cuándo debe parar y pregúntale
La autonomía funciona mejor cuando sus límites están claros.
Hay algunas decisiones que el agente no debe tomar sin autorización previa. Entre ellas pueden figurar la eliminación de datos, la modificación de una interfaz pública, la incorporación de un servicio de pago, la modificación de un sistema de producción o la elección entre dos opciones empresariales sustancialmente diferentes.
Una condición de parada indica a Hermes cuándo debe hacer una pausa y pedir orientación.
Por ejemplo, se podría permitir que el agente corrigiera errores dentro de la arquitectura existente de la aplicación, pero se le exigiría que se detuviera si la solución requiriera una migración de la base de datos. Un agente de investigación podría seguir recopilando pruebas públicas, pero se detendría cuando dos fuentes oficiales se contradijeran entre sí. Una tarea de gestión de archivos podría detenerse cuando se fueran a guardar dos archivos en la misma ubicación con el mismo nombre.
Esto permite que el agente trabaje de forma autónoma en las tareas rutinarias, al tiempo que se mantiene el control humano sobre las decisiones importantes.
El objetivo no es eliminar por completo la supervisión, sino reservarla para aquellos casos en los que realmente se requiera el criterio humano.
Utiliza un contrato de finalización para proyectos más complejos
Para una tarea sencilla, puede bastar con un objetivo sencillo. Los proyectos más amplios se benefician de una descripción más estructurada.
Hermes puede trabajar a partir de un contrato de ejecución en el que se establezcan el resultado previsto, el método de verificación, las restricciones, los límites y las condiciones de interrupción.
Un proyecto de búsqueda de productos, por ejemplo, podría definir el resultado como resultados fiables para nombres exactos de productos, nombres parciales y términos de categorías. La verificación podría requerir que un conjunto de búsquedas de muestra devolviera los productos esperados. Las restricciones podrían proteger los datos de precios, pago y categorías. El límite podría restringir los cambios en el servicio de búsqueda y en las pruebas relacionadas. Una condición de parada podría exigir la aprobación previa antes de incorporar un nuevo proveedor externo.
Esta estructura resulta útil porque evita dos fallos habituales.
La primera es la finalización prematura, en la que el agente modifica una parte visible del proyecto y da por terminado el trabajo. La segunda es la expansión descontrolada, en la que empieza a modificar sistemas adyacentes que nunca se incluyeron en el encargo.
En el caso de trabajos importantes, suele merecer la pena dedicar unos minutos más a preparar un contrato de finalización.
Facilita al agente las pruebas que necesite
Hermes solo puede evaluar el progreso en función de la información incluida en el objetivo.
Términos como “mejor”, “más rápido”, “más limpio” o “más profesional” son demasiado subjetivos a menos que se expliquen.
“Mejorar el rendimiento” podría significar tiempos de respuesta más rápidos, un menor consumo de memoria, una reducción de los costes de infraestructura o un mejor comportamiento ante un tráfico intenso. El agente debe saber cuál de estos aspectos es el más importante.
Una instrucción más útil consistiría en pedirle a Hermes que redujera el tiempo de procesamiento de un script de importación de 12 minutos a menos de ocho minutos en un conjunto de datos de muestra concreto, conservando al mismo tiempo el formato de salida actual y manteniendo el uso de memoria por debajo de un límite especificado.
El mismo enfoque sirve para los contenidos.
En lugar de pedirle a Hermes que “mejore el informe”, especifica que debe reducir las repeticiones, conservar todas las cifras verificadas, estructurar el contenido en torno a tres preguntas concretas y que el documento final no supere una extensión determinada.
Cuanto más clara sea la norma, menos margen tendrá el agente para declarar el éxito basándose en su propia interpretación.
Supervisa el proyecto sin tener que gestionar cada paso
El comando /goal reduce la necesidad de solicitar información repetidamente, pero el usuario sigue pudiendo comprobar y controlar el trabajo.
Utiliza /goal status para ver el objetivo activo y en qué punto se encuentra el proceso. Utiliza /goal show para consultar el objetivo actual o el contrato de finalización. Utiliza /goal pause cuando sea necesario detener el trabajo temporalmente, y /goal resume cuando estés listo para que Hermes continúe. Utiliza /goal clear cuando el objetivo ya no sea relevante y deba eliminarse.
La suspensión resulta útil cuando el proyecto sigue siendo válido, pero es necesario revisar el enfoque. La cancelación es más adecuada cuando el encargo ha cambiado sustancialmente o debe abandonarse.
Estos controles permiten al usuario supervisar a nivel de proyecto, en lugar de a nivel de respuesta.
No es necesario que dirijas cada paso. Lo que sí debes hacer es comprobar si el proyecto sigue avanzando hacia el resultado adecuado.
Reorientar el trabajo sin empezar de nuevo
Es posible que haya que realizar ajustes en un proyecto una vez que Hermes haya comenzado.
Quizás el objetivo original siga siendo el correcto, pero el agente está utilizando un enfoque que no te conviene. Es posible que tengas que impedir un cambio en la base de datos, añadir una prueba que falte o limitar las fuentes de investigación.
El comando /steer permite dar a Hermes una nueva dirección sin abandonar el objetivo actual. Por ejemplo, puedes indicarle que no modifique el esquema de la base de datos y que, en su lugar, busque una solución dentro de la aplicación.
El comando /subgoal permite añadir otro requisito de finalización. Por ejemplo, se podrían exigir pruebas para archivos de entrada vacíos o con formato incorrecto antes de que el objetivo principal pueda considerarse completado.
Estos comandos resultan útiles porque modifican el proyecto sin sustituirlo. El objetivo original se mantiene, mientras que la ruta o los criterios de aceptación se precisan más.
Eso es preferible a interrumpir repetidamente al agente con instrucciones que no vienen al caso y que, poco a poco, hacen que el proyecto resulte más difícil de seguir.
Evita malgastar turnos en procesos que tardan mucho en completarse
Algunas tareas incluyen compilaciones, conjuntos de pruebas, importaciones de datos u otros procesos que duran varios minutos.
Un agente que comprueba repetidamente si un comando en segundo plano ha finalizado puede consumir turnos innecesarios y generar confusión.
Hermes ofrece la opción /goal wait para esta situación. El comando indica al proceso «goal» que espere a que finalice un proceso en segundo plano concreto antes de continuar. El usuario puede añadir una breve explicación, como, por ejemplo, que se está esperando a que finalicen las pruebas de integración o la importación de datos.
Utiliza /goal unwait cuando el proceso se haya detenido, haya sido sustituido o ya no sea relevante.
Este control resulta especialmente útil cuando la verificación tarda más que el propio cambio. Hermes puede esperar a que se obtenga el resultado, en lugar de preguntar repetidamente al sistema si el proceso ha finalizado.
Solicita un informe de finalización conciso
Un proyecto que consta de varias fases debería concluir con un resultado que se pueda revisar rápidamente.
El objetivo original puede indicar a Hermes que informe de qué ha cambiado, qué archivos se han modificado, qué pruebas o comprobaciones se han ejecutado, si han superado dichas pruebas y qué limitaciones persisten.
En el ámbito de la investigación, el informe final podría indicar las fuentes utilizadas, los puntos de acuerdo, las contradicciones sin resolver y las hipótesis que aún deben confirmarse.
En cuanto a la gestión de archivos, podría indicar cuántos archivos se han procesado, cuántos se han movido correctamente, cuáles han quedado sin clasificar y si se han encontrado duplicados.
El informe no debe repetir toda la historia del proyecto. Su objetivo es que los resultados sean verificables.
Cuando Hermes ha completado numerosas rondas de conversación, este resumen final evita que el usuario tenga que reconstruir el resultado a partir de toda la conversación.
Una forma práctica de redactar un objetivo de Hermes
Un objetivo útil se puede preparar en siete pasos.
1. Indica el resultado final
Describe qué debe cumplirse una vez finalizado el proyecto.
En lugar de pedirle a Hermes que revise una solicitud, pídele que identifique y solucione la causa de un fallo concreto.
2. Determinar el alcance
Indica los archivos, carpetas, servicios o documentos que se incluyen en el trabajo.
3. Proteger las restricciones
Indica qué aspectos no deben modificarse, como una interfaz pública, el diseño, el formato de archivo o la redacción aprobada.
4. Definir la verificación
Especifica las pruebas, comprobaciones, comparaciones o elementos que demuestren que se ha completado la tarea.
5. Añadir una condición de parada
Identifica las decisiones que requieren la aprobación de una persona.
6. Deja que Hermes se encargue de los pasos intermedios
Comprueba el progreso con /goal status. Reorienta el proceso con /steer, añade requisitos con /subgoal o pausa el proceso cuando sea necesario.
7. Revisar las pruebas
Lee el informe final, revisa los cambios y confirma que se ha llevado a cabo la verificación acordada.
Este proceso es lo suficientemente sencillo como para utilizarlo a diario y lo suficientemente preciso como para evitar la mayoría de los errores evitables.
Errores habituales
El error más habitual es plantear a Hermes un objetivo demasiado amplio. “Mejorar la aplicación” ofrece un alcance casi ilimitado y carece de un punto final claro.
Otra opción es combinar varias tareas no relacionadas entre sí en un único objetivo. Corregir pruebas, rediseñar un panel de control, actualizar dependencias y preparar la documentación de lanzamiento suelen ser tareas que, por lo general, deben tratarse como proyectos independientes. Los objetivos más pequeños son más fáciles de verificar, revisar y revertir.
Las instrucciones subjetivas también plantean problemas. Frases como “mejóralo” o “dale un toque profesional” deberían sustituirse por requisitos observables.
La omisión de la verificación es otra deficiencia frecuente. El agente puede completar el trabajo visible, pero dejando atrás errores ocultos.
Un acceso amplio y sin límites entraña el mismo riesgo. Un agente persistente debe saber exactamente dónde puede actuar y cuándo debe detenerse.
El último error es utilizar /goal para tareas que solo requieren una respuesta. La iteración persistente requiere más tiempo y un mayor uso del modelo. Debería reservarse para tareas en las que resulte beneficioso repetir la ejecución y la comprobación.
Dónde resulta más útil el comando
El desarrollo de software es el caso de uso más claro, ya que los proyectos suelen incluir pruebas y criterios de finalización cuantificables. Hermes puede inspeccionar el código, realizar un cambio, ejecutar las pruebas, analizar los fallos y continuar hasta alcanzar el resultado acordado.
La investigación también puede dar buenos resultados cuando las fuentes, las preguntas y los resultados esperados están claramente definidos. El agente puede recopilar datos, compararlos, identificar lagunas y elaborar un informe final sin tener que esperar a que se apruebe cada etapa.
La revisión de documentos es otra de sus grandes fortalezas. Hermes puede examinar una carpeta de contratos, extraer las fechas de renovación y las cláusulas de rescisión, identificar las secciones ilegibles y elaborar un resumen consolidado.
La organización de los archivos se beneficia de esa misma persistencia. El agente puede examinar los metadatos, ordenar los archivos, detectar conflictos, verificar el número de archivos e informar de cualquier elemento que no se haya podido procesar de forma segura.
La característica común no es el tema en sí. Se trata de la presencia de varios pasos, un estado final claro y una forma fiable de comprobar el resultado.
El usuario sigue siendo el propietario del proyecto
El comando /goal permite gestionar la persistencia. No puede decidir si el proyecto en sí mismo merece la pena.
Hermes puede llevar a cabo con eficacia una tarea inadecuada si el objetivo no se ha elegido correctamente. Puede optimizar un informe que nadie lee, automatizar un proceso que debería eliminarse o mantener un requisito que ya no resulta útil para la organización.
El criterio humano sigue siendo lo más importante al principio y al final.
El usuario decide qué resultado es el que importa, qué concesiones son aceptables, qué aspectos puede modificar el agente y qué pruebas se considerarán como cumplimiento. Hermes se encarga de gran parte del trabajo intermedio. A continuación, el usuario revisa el resultado y decide si lo acepta, lo revisa o lo rechaza.
Esa división resulta más útil que la promesa de una autonomía total. Hermes garantiza la continuidad; el responsable del proyecto sigue asumiendo la responsabilidad.
Convertir una conversación en un proyecto gestionado
La principal ventaja de /goal es que ya no es necesario controlar una tarea de varios pasos mediante una larga cadena de indicaciones improvisadas sucesivas.
Un objetivo bien redactado da Hermes establece un objetivo duradero, una definición de finalización y margen suficiente para corregir resultados parciales. Los límites mantienen el trabajo dentro del ámbito previsto. Las restricciones protegen los sistemas y los requisitos que deben permanecer estables. La verificación evita que el proceso concluya con una afirmación sin fundamento. Las condiciones de parada reservan las decisiones importantes a una persona.
El comando funciona mejor cuando el destino ya está despejado.
Define qué debe cumplirse, cómo se comprobará y cuándo debe Hermes pedir ayuda. De este modo, el agente puede gestionar gran parte del proceso desde la instrucción inicial hasta el resultado verificado.
