Despliega agentes de IA autoevolutivos para investigación rápida y segura
Los agentes de inteligencia artificial son herramientas potentes para sintetizar datos, acelerar procesos de investigación, resumir información y ayudar a los equipos a tomar decisiones con mayor agilidad. No obstante, combinar datos internos de la organización con fuentes públicas conlleva desafíos de seguridad significativos.
Esta publicación comparte un ejemplo de código abierto que utiliza Hermes Agent junto con NVIDIA NemoClaw para realizar investigación de productos a través de Outlook, Slack y GitHub. NVIDIA OpenShell impone un entorno de ejecución (runtime) aprobado por estándares de seguridad. El agente aprende preferencias y patrones, redactando nuevas memorias y habilidades. A medida que los usuarios colaboran con el agente, su desempeño mejora continuamente.
Aunque los puntos de integración son específicos para este caso de uso (Slack, Outlook y GitHub), el patrón de mezclar de forma segura datos públicos y privados en un agente que se automejora es fundamental para múltiples aplicaciones, incluyendo investigación de ventas, soporte al cliente, triaje de ingeniería, análisis competitivo y descubrimiento de conocimiento interno.
Usted aprenderá a:
- Implementar el stack de código abierto NemoClaw con un solo comando de instalación.
- Conectar el agente a dos canales de mensajería (Slack y Outlook) y a datos comunitarios (GitHub y los foros de desarrolladores de NVIDIA).
- Enseñar al agente un formato de informe recurrente directamente desde una conversación de chat, sin cambios de código ni reinicios de gateway.
- Guardar el estado aprendido del agente para que persista a través de despliegues.
Para seguir este tutorial, necesitará:
- Un host con un daemon de Docker en ejecución. El ejemplo está orientado a Ubuntu 24.04, pero funciona en cualquier distribución soportada por OpenShell.
- Una clave de API de build.nvidia.com para inferencia. El modelo predeterminado es nvidia/nemotron-3-super-120b-a12b. Hermes Agent funciona sin modificaciones contra un modelo NVIDIA Nemotron autohospedado en NVIDIA NIM, o vLLM cuando el tráfico debe permanecer en las instalaciones (on-prem).
- Credenciales para al menos una integración de mensajería: un tenant de Outlook más una aplicación registrada en Azure, o un espacio de trabajo de Slack más una aplicación de Slack.
Las instrucciones de configuración están disponibles en:
- Un token de GitHub para la extracción de datos.
Instalar y poner en marcha Hermes
- Clone el repositorio e instale OpenShell:
git clone https://github.com/NVIDIA/nemoclaw-community.git
cd nemoclaw-community/examples/personal-community-sentiment-triage
curl -LsSf https://raw.githubusercontent.com/NVIDIA/OpenShell/main/install.sh | OPENSHELL_VERSION=v0.0.38 sh- Copie la plantilla de variables de entorno (.env) y complete su clave de inferencia, además de al menos un canal de mensajería.
- Inicie los servicios del lado del host utilizando el script de shell host-services y luego ejecute el agente:
bash scripts/00-host-services.sh
bash scripts/bring-up.shEl script bring-up.sh inicia Hermes dentro del sandbox. El sandbox de OpenShell realiza dos funciones críticas.
- Gestiona las credenciales, asegurando que el agente Hermes nunca vea los tokens de Slack o Outlook; la autenticación ocurre a medida que las solicitudes salen del proxy del sandbox.
- Aplica políticas de acceso a la red. El agente tiene acceso a datos internos sensibles desde Outlook o Slack. Para proteger esta información, se prohíbe al agente acceder a la red pública de internet.
Los datos de GitHub y del foro de NVIDIA están disponibles a través de un proceso ETL separado que recupera la información y la almacena, otorgando al agente acceso de solo lectura. Esta configuración garantiza que incluso si un agente fuera comprometido, no podría publicar datos en sitios externos.
- Una vez que el script finaliza, verifique que el sandbox esté en estado saludable:
openshell sandbox list
# hermes-direct debería reportar Ready
openshell sandbox exec --name hermes-direct -- \
curl -sf http://localhost:8642/health
# {"status":"ok","platform":"hermes-agent"}- Envíe al agente un mensaje directo (DM) por Slack o un correo electrónico desde la dirección configurada en el archivo .env para confirmar que responde correctamente.
Enseñar una vez, recordar en cualquier lugar
Con el agente en funcionamiento, esta sección muestra cómo enseñarle una nueva habilidad y cómo esa capacidad se mantiene a través de diferentes conversaciones.
1. Solicite un resumen diario.
Enseñe al agente a resumir los issues de GitHub cada mañana. Comience solicitando la actualización diaria:
> Give me a daily update on important issues for NemoClaw.La respuesta es útil (algunos párrafos, algunas listas), pero no está en el formato correcto. Solicite un formato distinto:
> That's too long. Give me exactly 5 top issues and 3 discussions, each with the number, title, state, URL, and a one-line "why it matters". Open with a bold header and close with **Bottom line:** in 2-3 sentences.Ahora que la respuesta tiene el formato de resumen adecuado, utilice activadores de refuerzo positivo y dígale al agente que guarde este formato para uso futuro:
> Perfect, that's the format I want every day. Next time I ask for the daily NemoClaw issue digest, give me back exactly this shape—without me spelling it out again. And if a coworker emails the bot for the same thing, they should get the same shape, too.2. Hermes escribe una habilidad.
Cuando Hermes reconoce el patrón, escribe un archivo SKILL.md en el sistema de archivos. El archivo contiene un breve encabezado YAML (nombre y descripción) y el formato solicitado como cuerpo.
3. Snapshot, desmontar, reconstruir, restaurar.
Los agentes en producción se reconstruyen cuando se lanzan nuevos códigos o cambian las configuraciones. Si las habilidades aprendidas no sobreviven, el agente debería ser reentrenado cada vez. Para evitar esto, tome una instantánea (snapshot), destruya el sandbox, reconstruya desde la imagen y restaure desde el archivo tar para asegurar que la habilidad persista:
bash scripts/snapshot.sh # escribe .snapshots/<ISO-timestamp>.tar.gz
bash scripts/tear-down.sh # destruye el contenedor sandbox
bash scripts/bring-up.sh # reconstruye el sandbox desde la imagen
bash scripts/restore.sh # rehidrata /sandbox/.hermes-data/La instantánea captura el estado del agente, incluyendo habilidades, memorias, sesiones y cualquier trabajo programado. Un filtro de credenciales excluye archivos como .env, token y secret, por lo que el archivo tar es seguro para compartir.
4. Dispare la habilidad desde una conversación nueva.
Desde una nueva conversación, solicite el “resumen diario de issues de NemoClaw de los últimos 3 días”, y la habilidad devolverá la misma estructura de respuesta. Solo los números y títulos cambian para coincidir con los datos subyacentes. El formato reside en la habilidad, no en la memoria conversacional.
¿Por qué funciona la arquitectura? Modelo, harness y runtime
El agente se despliega con NVIDIA NemoClaw, un blueprint para agentes abiertos construidos con harnesses potenciados por modelos abiertos en un runtime seguro.
La figura 1 muestra cómo las capas encajan entre sí.

La política de red es código, no un prompt. policy.yaml declara cada destino permitido, puerto, verbo HTTP y binario. Este bloque autoriza la inferencia:
network_policies:
nvidia:
endpoints:
- host: integrate.api.nvidia.com
port: 443
rules:
- allow: { method: POST, path: /v1/chat/completions }
- allow: { method: POST, path: /v1/embeddings }
- allow: { method: GET, path: /v1/models }
binaries:
- path: /usr/local/bin/hermes
- path: /usr/bin/python3Si el agente intenta comunicarse con un host que no está en la lista de permitidos, el proxy devuelve un error 403 (Forbidden), y el agente Hermes lo trata como una falla de acceso.
Vía NVIDIA Developer.




