Agentes de CLI modernos
Os agentes comparados abaixo reúnem o mesmo conjunto de recursos:
- um diretório de trabalho
- um conjunto de ferramentas
- uma memória
- formas opcionais de execução sem alguém digitando ativamente, como cron, tarefas longas ou trabalhos em fila
- uma rede
O perfil de segurança depende dos recursos abertos por padrão e da possibilidade de execução autônoma. O runtime subjacente também precisa conter chamadas indevidas.
O Módulo 4a separou as decisões da aplicação da imposição de regras pelo sistema operacional. Os wrappers da aplicação ficam acima desse limite. Você vai compará-los antes de criar seu próprio agente de CLI no navegador.
Mesmo ciclo, diferentes padrões da aplicação
Cada produto executa um modelo em um ciclo com ferramentas. Os padrões e recursos nativos variam, assim como os detalhes de implementação. O custo e a conveniência combinados formam o peso do harness usado abaixo.
- Claude Code (Anthropic). Usa
CLAUDE.mdna raiz do projeto e~/.claude/CLAUDE.mdpara regras do usuário. Oferece um conjunto amplo de recursos (edição, bash, web, subagentes e tarefas longas), com hooks que interceptam chamadas de ferramentas, e padrões conservadores: o acesso mais amplo a arquivos e à rede exige sua autorização. - Codex CLI (OpenAI). Usa
AGENTS.md. O sandbox padrão opera com aprovações: cada gravação ou comando de shell aguarda sua confirmação, a menos que você passe--full-auto. O conjunto de ferramentas se concentra no shell; até a edição de arquivos passa por ele. - Cursor (integrado ao IDE). Usa
.cursor/rules/*.mdc. O agente funciona por meio do editor; por isso, as ferramentas seguem essa forma ("aplique este diff ao arquivo X"), e o sandbox corresponde às permissões que o editor e o sistema operacional já concedem. - Hermes (Nous Research). É um agente de terminal que evolui com o uso: cria skills a partir da experiência, mantém memória entre sessões, executa cron nativo e pode ser acessado por Telegram, Discord e Slack através do gateway. Tem a mesma forma de aplicação do OpenClaw, com automodificação e interface de mensagens ativadas.
- OpenClaw (no NVIDIA NemoClaw). É o agente usado neste curso. Seus arquivos de orientação ocupam toda a pasta
workspace/(SOUL.md, AGENTS.md, IDENTITY.md e os demais). Ele aceita operação autônoma por gatilhos gerenciados pelo gateway. Na stack de referência do NemoClaw, é executado dentro do sandbox OpenShell; assim, uma política do kernel restringe suas ferramentas independentemente do que o modelo decida.
O Hermes se diferencia das CLIs de editores porque criação de skills, memória persistente, cron e gateway de mensagens são fluxos normais de operação em sua documentação pública. Outros agentes também podem reescrever seus próprios arquivos de orientação ou skills quando têm permissão para editar arquivos. Portanto, esse risco não é exclusivo do Hermes.
Os graus de liberdade formam a superfície de ataque
Todos esses agentes são configurados pelos mesmos eixos, e cada eixo representa um recurso que você concede ou restringe. A coluna do NemoClaw abaixo vem diretamente da política do OpenShell executada no launchable, que você leu e testou no Módulo 4a.
| Grau de liberdade | Controle | Padrão do NemoClaw (política ativa) |
|---|---|---|
| Sistema de arquivos | quais caminhos permitem leitura ou gravação | gravação somente em /tmp, /sandbox/.openclaw, /sandbox/.nemoclaw e no diretório de trabalho; caminhos do sistema somente para leitura. O Landlock impõe a regra (best_effort). |
| Saída de rede | host + porta + método/caminho HTTP, por binário | bloqueada por padrão; uma lista curta de permissões (inferência NVIDIA, inference.local, clawhub/npm), cada uma limitada a um formato HTTP e vinculada a um binário específico. |
| Identidade do processo | com qual usuário o agente é executado | usuário sandbox sem privilégios de root; ptrace, mount e setuid bloqueados por seccomp. |
| Identidade do binário | qual executável pode usar uma permissão | resolvida pelo caminho do executável e por uma inspeção dos processos ancestrais, com hash de confiança no primeiro uso; argv[0] não é considerado confiável porque pode ser falsificado. |
| Persistência | cron, skills e a persona em SOUL.md | permite gravação dentro do workspace. O esquema de política não torna um arquivo isolado somente para leitura; por isso, com "shields up", a proteção de SOUL.md usa DAC e chattr +i, não o sandbox. |
| Roteamento de inferência | por quais endpoints de modelo as chamadas saem | roteado pelo gateway gerenciado inference.local; o Privacy Router decide qual contexto pode sair segundo a política do operador, não a do agente. |
Experimente · a mesma tarefa, ponderada entre diferentes harnesses
O artefato compara o peso dos harnesses nestes eixos:
- Abstrações ocultadas pelo harness: você escreve menos código, mas também enxerga menos do que é executado.
- Suposições e padrões incorporados: eles determinam até onde o agente chega antes de você pedir.
- Recursos nativos já incluídos, em contraste com o mesmo recurso que você teria de implementar.
Descreva uma tarefa e compare quanto cada harness fornece. A célula editável expõe o prompt de sistema e a lógica de resposta, além de mostrar exemplos. Execute-a novamente após uma edição para reconstruir o artefato.
Profundo · NavegadorConstruir um agente em torno do runtime do navegador?
Crie um agente de CLI cujo shell é este navegador
As CLIs acima conectam um agente ao terminal de uma máquina real. Você pode criar a mesma estrutura usando o runtime JavaScript do navegador como shell. O agente abaixo tem uma ferramenta, js, que executa JavaScript nesta página e devolve um resultado ao agente antes da próxima decisão. Como o runtime já está carregado, não há harness adicional para configurar. O alcance continua amplo: o agente pode ler o DOM, chamar fetch e usar os helpers do curso, tudo dentro desta aba.
O Módulo 4c retoma esse formato no navegador e separa a parte transferível—uma interface web interativa, com estado e controles visíveis—dos adaptadores de autenticação, armazenamento, rede e ferramentas fornecidos por cada ambiente.
Aplicado · ShellAbrir o shell do launchable e o atalho para o sandbox?
Abra um shell real no launchable
Seu launchable do NemoClaw fornece um shell real do host pela mesma conexão /ws/terminal usada pelas sondas de política do Módulo 4a. Esse host contém a CLI openshell, ferramenta do operador que gerencia o agente em sandbox. Cada linha digitada abaixo é executada no launchable, que devolve sua própria saída.
Primeiro, conecte o launchable no Módulo 3a. Digite um comando ou use Tab para completar. No host, openshell sandbox list mostra o agente e openshell status informa o estado do gateway. O agente roda dentro do sandbox; prefixe um comando com agent para executá-lo ali: agent ls lista os arquivos por meio de openshell sandbox exec. Cada comando usa um shell breve e independente. Para conversar interativamente com o agente, use o painel abaixo em vez de openclaw tui.
Converse com seu agente
O openclaw tui é um chat interativo em tela cheia que um terminal de comando único não consegue manter aberto. O painel abaixo conversa com o mesmo agente pelo gateway do OpenClaw, a conexão /cli/gateway usada nos Módulos 3b e 3c. Assim, você pode conversar sem sair da página. O painel transmite a resposta e mostra cada ferramenta ou comando executado. Primeiro, conecte o launchable no Módulo 3a com URL e token. Faça uma pergunta, clique em uma sugestão ou pressione Tab para completar.
O terminal acima é o plano do operador. No shell do host do launchable, o openshell gerencia o agente em sandbox. Portanto, o host é o plano de controle acima da política, o perímetro destacado no Módulo 4a. Comandos enviados ao agente por agent <cmd> são executados sob a política de bloqueio por padrão; o shell do host responde ao operador.
- Custo de configuração. O launchable foi provisionado e já está em execução. Em sua máquina, uma CLI exige instalação e um runtime configurado antes do primeiro turno.
- Alcance. Dentro do agente, a política do kernel controla cada chamada segundo as regras de bloqueio por padrão lidas no Módulo 4a. Em sua máquina, a CLI pode ler e gravar seus arquivos e acessar toda a rede.
- Raio de impacto. Uma injeção de prompt dentro do agente atinge aquele sandbox e sua trilha de auditoria. A mesma injeção em sua máquina alcança arquivos reais: é o argumento dos graus de liberdade apresentado no início da página, agora em suas mãos.
Um harness mais completo justifica seu peso quando a tarefa exige persistência e trabalho real que uma aba não comporta. A habilidade central é interpretar a tarefa para escolher o peso necessário; essa é a visão em camadas concluída no Módulo 4c.