Agentes de CLI modernos
Los agentes que se comparan a continuación reúnen el mismo conjunto de capacidades:
- un directorio de trabajo
- un conjunto de herramientas
- una memoria
- métodos opcionales de ejecución sin que una persona escriba activamente, como cron, tareas largas o trabajos en cola
- una red
El perfil de seguridad de cada agente depende de las capacidades abiertas de forma predeterminada y de si admite ejecución sin supervisión. El runtime subyacente también debe detener las llamadas incorrectas.
El Módulo 4a separó las decisiones que toma la aplicación de las políticas que aplica el sistema operativo. Los wrappers se sitúan por encima de ese límite. Los compararás antes de crear tu propio agente de CLI en el navegador.
El mismo bucle, distintos valores predeterminados de aplicación
Cada producto ejecuta un modelo en un bucle con herramientas. Sus valores predeterminados, capacidades integradas y detalles de implementación difieren. La combinación de coste y practicidad define el peso del entorno de ejecución utilizado a continuación.
- Claude Code (Anthropic). Utiliza
CLAUDE.mden la raíz del proyecto y~/.claude/CLAUDE.mdpara reglas globales del usuario. Ofrece capacidades de edición, bash, web, subagentes y tareas largas, con hooks que interceptan llamadas a herramientas y valores predeterminados conservadores: el acceso más amplio a archivos y red requiere autorización. - Codex CLI (OpenAI). Utiliza
AGENTS.md. El sandbox predeterminado funciona en modo de aprobación: cada escritura o comando de shell espera tu confirmación, salvo que utilices--full-auto. El conjunto de herramientas se centra en el shell; incluso la edición de archivos pasa por él. - Cursor (integrado en el IDE). Usa
.cursor/rules/*.mdc. El agente funciona mediante el editor; por tanto, la paleta de herramientas sigue el diseño del editor (por ejemplo «aplica este diff al archivo X») y el sandbox corresponde a los permisos que ya conceden el editor y el sistema operativo. - Hermes (Nous Research). Es un agente de terminal que mejora con el uso: crea skills a partir de la experiencia, conserva memoria entre sesiones, ejecuta un cron integrado y recibe mensajes de Telegram, Discord y Slack mediante su gateway. Tiene la misma forma general de aplicación que OpenClaw, con automodificación y una superficie de mensajería activadas.
- OpenClaw (en NVIDIA NemoClaw). Es el agente que has controlado durante el curso. Sus archivos de orientación están en la carpeta
workspace/, incluidos SOUL.md, AGENTS.md e IDENTITY.md. Admite operación sin supervisión mediante activadores administrados por el gateway. En el stack de referencia de NemoClaw, se ejecuta dentro del sandbox de OpenShell, por lo que su paleta de herramientas está regulada por una política del kernel sin importar lo que decida el modelo.
Hermes se diferencia de los CLI de editores porque la creación de skills, la memoria persistente, el cron y el gateway de mensajería son rutas habituales en su documentación pública. Otros agentes también pueden reescribir sus propios archivos de orientación o skills cuando se permiten ediciones de archivo, de modo que el riesgo no es exclusivo de Hermes.
Los grados de libertad constituyen la superficie de ataque
Cada uno de estos agentes se configura a lo largo de los mismos ejes, y cada eje define una capacidad que otorgas o retienes. La columna de NemoClaw procede directamente de la política de OpenShell que ejecuta el launchable y que leíste y comprobaste en el Módulo 4a.
| Grado de libertad | Control | Valor predeterminado de NemoClaw (política activa) |
|---|---|---|
| Sistema de archivos | qué rutas se pueden leer o escribir | escritura únicamente en /tmp, /sandbox/.openclaw, /sandbox/.nemoclaw y el directorio de trabajo; las rutas del sistema son de solo lectura. Landlock aplica la regla (best_effort). |
| Tráfico de egress | host + puerto + método/ruta HTTP, por binario | denegado de forma predeterminada; una lista breve de permitidos (inferencia de NVIDIA, inference.local, clawhub/npm), donde cada entrada se limita a una forma HTTP y a un binario concreto. |
| Identidad del proceso | con qué usuario se ejecuta el agente | usuario sandbox sin privilegios de root; ptrace, mount y setuid bloqueados por seccomp. |
| Identidad del binario | qué ejecutable puede usar una concesión | se resuelve mediante la ruta del ejecutable y el recorrido de los procesos ancestros, con un hash de confianza en el primer uso; argv[0] no se considera fiable porque se puede falsificar. |
| Persistencia | cron, skills y la personalidad de SOUL.md | se puede escribir dentro del workspace. El esquema de políticas no permite establecer un solo archivo como de solo lectura, por lo que la protección de SOUL.md con «shields up» utiliza DAC y chattr +i, no el sandbox. |
| Enrutamiento de inferencia | por qué endpoint de modelo salen las llamadas | se enruta mediante el gateway administrado inference.local; Privacy Router decide qué contexto puede salir según la política del operador, no la del agente. |
Prueba · la misma tarea en distintos entornos
El artefacto compara el peso de los entornos de ejecución en estos ejes:
- Abstracciones que el entorno oculta: escribes menos código, pero también ves menos de lo que se ejecuta.
- Suposiciones y valores predeterminados que incorpora: deciden hasta dónde llega antes de que se lo pidas.
- Funciones integradas que incorpora, frente a las capacidades que tendrías que implementar por tu cuenta.
Describe una tarea y compara cuánta maquinaria aporta cada entorno. La celda editable expone el prompt de sistema, la lógica de respuesta y los ejemplos. Vuelve a ejecutarla después de editar para reconstruir el artefacto.
Profundo · Navegador¿Construir un agente alrededor del runtime del navegador?
Crea un agente de CLI cuyo shell es este navegador
Los CLI anteriores conectan un agente con la terminal de una máquina real. Puedes reproducir esa estructura utilizando el runtime JavaScript del navegador como shell. El agente siguiente dispone de una herramienta, js, con la que escribe JavaScript que se ejecuta en esta página y devuelve un resultado antes de decidir el paso siguiente. El runtime ya está cargado, por lo que no necesitas preparar otro entorno. Su alcance sigue siendo amplio: puede leer el DOM, llamar a fetch y utilizar los helpers del curso dentro de la pestaña actual.
El Módulo 4c retoma este formato de navegador y separa la parte transferible—una interfaz web interactiva con estado y controles visibles—de los adaptadores de autenticación, almacenamiento, red y herramientas que proporciona cada host.
Aplicado · Shell¿Abrir la shell del launchable y el acceso directo al sandbox?
Abre un shell real en el launchable
Tu launchable de NemoClaw ofrece un shell real del host mediante la misma conexión /ws/terminal que utilizan las sondas de políticas del Módulo 4a. Ese host contiene el CLI openshell, la herramienta del operador que administra el agente en el sandbox. Cada línea que escribas debajo se ejecutará en el launchable y devolverá su propia salida.
Conecta primero el launchable en el Módulo 3a. Escribe un comando o pulsa Tab para autocompletar. En el host, openshell sandbox list muestra el agente y openshell status informa del gateway. El agente se ejecuta dentro de un sandbox; antepone agent a un comando para ejecutarlo allí: agent ls enumera sus archivos mediante openshell sandbox exec. Cada comando se ejecuta en un shell breve e independiente. Para conversar de forma interactiva con el agente, utiliza el panel siguiente en lugar de openclaw tui.
Chatea con tu agente
La openclaw tui es un chat interactivo a pantalla completa que una terminal de una sola ejecución no puede mantener abierto. El panel siguiente se comunica con el mismo agente activo mediante el gateway de OpenClaw, la conexión /cli/gateway que utilizan los Módulos 3b y 3c. Puedes conversar sin salir de la página. El panel transmite la respuesta y muestra cada herramienta o comando ejecutado por el agente. Conecta primero el launchable en el Módulo 3a mediante la URL y el token. Después escribe una pregunta, elige una sugerencia o pulsa Tab para autocompletar.
La terminal anterior pertenece al plano del operador. Desde el shell del host del launchable, openshell administra el agente en el sandbox. El host es el plano de control situado por encima de la política, el perímetro señalado en el Módulo 4a. Los comandos que envías al agente mediante agent <cmd> se ejecutan bajo su política de denegación predeterminada; el shell del host responde al operador.
- Coste de puesta en marcha. El launchable se provisionó para ti y ya está en ejecución. En tu propia máquina, un CLI necesita una instalación y un runtime configurado antes del primer turno.
- Alcance. Dentro del agente, la política del kernel controla cada llamada con las reglas de denegación predeterminada que leíste en el Módulo 4a. En tu propia máquina, el CLI puede leer y escribir tus archivos y alcanzar toda la red.
- Alcance del impacto. Una inyección de prompts dentro del agente alcanza ese sandbox y su registro de auditoría. La misma inyección en tu máquina actúa sobre tus archivos reales: es el argumento de los grados de libertad presentado al principio de la página, ahora en tus manos.
Un entorno más completo justifica su peso cuando una tarea exige persistencia y trabajo real que una pestaña no puede mantener. La capacidad que debes desarrollar es interpretar la tarea para elegir el peso necesario; el Módulo 4c cierra con esa visión por capas.