Masterclass de Agentes Hermes

@akshay_pachaar
INGLÊShá 2 meses · 13 de mai. de 2026
2.7M
4.2K
470
65
15.7K

TL;DR

Esta masterclass aborda a arquitetura do Agente Hermes, incluindo seu sistema de memória de três níveis, habilidades autoevolutivas via GEPA e como implementar agentes especializados para codificação e pesquisa.

Tudo o que você precisa para entender e personalizar o Hermes Agent. Habilidades que evoluem sozinhas, memória de três níveis, otimização GEPA e como ir de 1 a 10 agentes que trabalham para você 24 horas por dia, 7 dias por semana.

O Hermes Agent ultrapassou 90.000 estrelas no GitHub em dois meses. Desenvolvedores estão construindo silenciosamente agentes de IA pessoais que aprendem seu fluxo de trabalho, lembram do seu contexto e funcionam 24 horas por dia, 7 dias por semana.

Akshay 🚀 - inline image

Todo agente de IA que você já usou tem o mesmo problema: ele esquece tudo no momento em que sua sessão termina.

Suas preferências de codificação, as convenções do projeto que você o corrigiu três vezes, a correção que ele levou 10 minutos para descobrir ontem. Tudo perdido. Na próxima sessão, você começa do zero.

O Hermes Agent, da Nous Research, adota uma abordagem fundamentalmente diferente. Ele vem com um loop de aprendizado que:

  • Lembra entre sessões
  • Escreve suas próprias habilidades reutilizáveis
  • As poda em segundo plano
  • E as valida offline por meio de um mecanismo evolutivo chamado GEPA

Nenhum outro agente de código aberto combina todos os três. Nem o OpenClaw.

Este guia aborda como esse loop de aprendizado funciona, o que cada camada de memória faz e como configurar tudo do zero.

Ao final, você terá três agentes totalmente isolados rodando na sua máquina: um programador (que usa seu Claude Code), um pesquisador profundo e um designer, e um designer, cada um com sua própria personalidade, memória, habilidades e bot do Telegram.

Veja só isso:

Akshay 🚀 - inline image

Toda a configuração leva minutos e tudo aqui é reproduzível no seu próprio hardware.

Nota: Todas as ilustrações neste guia foram projetadas pelo Pixel, um dos agentes Hermes que você aprenderá a construir ao final. Fique atento a elas enquanto lê.

Vamos começar!

Como Ler Este Guia

Duas partes: teoria primeiro, prática depois.

Com pouco tempo? Pule para "Colocando em Funcionamento". Os comandos funcionam sozinhos.

Mas a teoria compensa. Saber como as habilidades evoluem sozinhas, como a memória se compõe e quando o GEPA mostra seu valor é a diferença entre usar o Hermes como um chatbot com anotações e usá-lo como algo que se acumula.

O que vem por aí:

  • O que o Hermes Agent Realmente É. A proposta, mais uma comparação com o OpenClaw.
  • Como Ele É Construído. Arquitetura em um diagrama.
  • Antes da Memória: Quem É o Agente? SOUL.md, a camada de identidade.
  • O Sistema de Memória. Três níveis, três velocidades.
  • Habilidades que Evolem Sozinhas. Manuais escritos pelo agente mais o Curador.
  • GEPA. Otimização offline de habilidades.
  • Colocando em Funcionamento. Instalação, Telegram, primeiro agente.
  • Executando Múltiplos Agentes. Perfis, três personas, resumos agendados.
  • Personalizando os agentes conforme suas necessidades.

O que é o Hermes e o que o torna arquiteturalmente diferente

A proposta em uma linha: um agente que melhora quanto mais você o usa.

O que torna isso real é que três capacidades geralmente separadas estão em um único framework: aprendizado de habilidades em tempo de execução, memória persistente em várias camadas e um pipeline opcional de otimização estilo "weight-training". Nenhum outro agente de código aberto oferece todos os três.

A comparação mais próxima no ecossistema aberto é o OpenClaw. Ambos são persistentes e amigáveis para mensagens, mas fazem escolhas arquiteturais opostas.

Uma definição clara do blog Kilo captura bem: "O Hermes empacota um gateway em torno de um agente de aprendizado. O OpenClaw empacota um agente em torno de um gateway de mensagens."

Akshay 🚀 - inline image

Como Ele É Construído

Antes que o loop de aprendizado faça sentido, você precisa de uma ideia básica de como o Hermes é estruturado.

Tudo flui através de uma única classe AIAgent em um script run_agent.py. CLI, gateway de mensagens, executor em lote, integração com IDE: todos são pontos de entrada para o mesmo agente central.

É isso que torna a história de ser independente de plataforma realmente funciona.

Akshay 🚀 - inline image

O loop central é do tipo ReAct e síncrono. Construa o prompt de sistema, verifique se a compressão é necessária, faça uma chamada de API interrompível, execute quaisquer chamadas de ferramenta, repita o loop.

Alguns detalhes que importam mais tarde:

  • O agente pode executar comandos em seis lugares diferentes. Terminal local, Docker, SSH, Modal, Daytona ou Singularity. Mesmo código, apenas uma mudança de configuração. Mova a execução do seu laptop para um servidor GPU na nuvem sem tocar em mais nada.
  • Ele funciona com quase qualquer modelo. Uma camada de tradução roteia qualquer provedor por meio de um de três formatos de API. É por isso que você pode trocar de Claude para GPT, para Gemini, para Ollama local com um único comando e nada quebra.
  • O agente tem um limite máximo de 90 turnos por tarefa. Sem isso, um agente preso em um loop (repetindo uma API com falha, relendo o mesmo arquivo) queimaria seus créditos silenciosamente. Subagentes compartilham o mesmo orçamento, então uma cadeia de delegação descontrolada não pode passar despercebida.

Isso é andaime suficiente. Agora a parte interessante.

Antes da Memória: Quem É o Agente?

Antes de chegarmos à memória e às habilidades que evoluem sozinhas, há uma camada que fica acima de ambas: a identidade.

A memória é o que o agente sabe. As habilidades são como ele faz as coisas. Mas nenhuma delas diz quem ele é quando aparece. Sem uma camada de identidade, todo agente parece o mesmo agente usando chapéus diferentes.

O Hermes resolve isso com um único arquivo: SOUL.md.

Ele fica em ~/.hermes/SOUL.md e ocupa a posição #1 no prompt de sistema, antes de qualquer outra coisa carregar. Ele define a personalidade, o tom, o estilo de comunicação e os limites rígidos do agente.

SOUL.md é escrito manualmente e estático. Você o escreve uma vez, ajusta ao longo do tempo, e ele permanece consistente em todos os projetos e sessões. Se o arquivo estiver ausente, o Hermes usa uma identidade padrão embutida.

Por que isso importa para a história de autoaperfeiçoamento? Porque tudo que se segue (a memória que o agente escreve, as habilidades que ele cria, a forma como consolida o conhecimento) acontece através das lentes dessa identidade.

SOUL.md é o quadro fixo. Memória e habilidades são as partes móveis dentro dele.

O Sistema de Memória: Três Níveis, Três Velocidades

O Hermes não tem uma única "memória". Ele tem três camadas, cada uma projetada para um propósito diferente.

Akshay 🚀 - inline image

Nível 1: Dois pequenos arquivos Markdown.

No núcleo estão dois arquivos armazenados em disco:

  • MEMORY.md (máximo de 2.200 caracteres) contém as anotações do agente sobre seu ambiente, convenções do projeto, peculiaridades de ferramentas e lições aprendidas.
  • USER.md (máximo de 1.375 caracteres) contém seu perfil: nome, preferências de comunicação, nível de habilidade e coisas a evitar.

Ambos são injetados no prompt de sistema como um instantâneo congelado quando uma sessão começa. Se o agente escrever uma nova entrada de memória no meio da sessão, essa mudança persiste no disco imediatamente, mas não aparecerá no prompt de sistema até a próxima sessão.

Quando a memória fica cheia (~80% da capacidade, mostrada como uma porcentagem no cabeçalho do prompt de sistema), o agente precisa consolidar.

Ele mescla entradas relacionadas em versões mais densas e com mais informação, para que apenas informações úteis sobrevivam.

Nível 2: Pesquisa de texto completo na sessão.

Toda conversa (CLI e mensagens) é armazenada em SQLite com pesquisa de texto completo. O agente pode pesquisar semanas de conversas passadas a partir disso.

A compensação é clara: O Nível 1 está sempre no contexto, mas é minúsculo. O Nível 2 tem capacidade ilimitada, mas requer uma pesquisa ativa mais sumarização por LLM.

Fatos críticos vivem na memória. Todo o resto é pesquisável sob demanda.

Nível 3: Provedores de memória externa (8 plugins).

Para memória persistente mais profunda, o Hermes vem com 8 provedores plugáveis que funcionam junto com a memória embutida (nunca a substituindo). Apenas um pode estar ativo por vez.

Quando qualquer provedor externo está ativo, o Hermes automaticamente pré-busca memórias relevantes antes de cada turno, sincroniza os turnos da conversa após cada resposta e extrai memórias no final da sessão.

Akshay 🚀 - inline image

Habilidades que Evoluem Sozinhas: O Agente Escreve Seus Próprios Manuais

A memória lida com fatos. As habilidades lidam com procedimentos.

As habilidades são arquivos Markdown com frontmatter YAML e funcionam como a memória procedural do agente: não o que ele sabe, mas como ele faz as coisas.

Aqui está a anatomia de uma habilidade:

Para manter os custos de token baixos, as habilidades usam divulgação progressiva:

Akshay 🚀 - inline image
  • Nível 0: O agente vê apenas nomes + descrições (~3k tokens para o catálogo completo)
  • Nível 1: Ele carrega o conteúdo completo da habilidade quando realmente precisa de uma
  • Nível 2: Ele pode se aprofundar em arquivos de referência específicos dentro de uma habilidade

O loop de autoaperfeiçoamento.

Este é o diferencial central. O agente cria suas próprias habilidades autonomamente usando a ferramenta skill_manage. A criação de habilidades é acionada quando:

  • O agente conclui uma tarefa complexa (5+ chamadas de ferramenta)
  • Ele encontra erros ou becos sem saída e encontra o caminho que funciona
  • O usuário corrige sua abordagem
  • Ele descobre um fluxo de trabalho não trivial

Então o loop funciona assim: o agente encontra um problema → resolve por tentativa e erro → salva a abordagem bem-sucedida como um arquivo SKILL.md → da próxima vez que encontrar um problema semelhante, carrega a habilidade e segue o procedimento comprovado em vez de redescobrir a abordagem do zero.

A ferramenta suporta seis ações: criar, patch (correção direcionada, preferida por ser eficiente em termos de token), editar (reescrita completa), deletar, write_file e remove_file.

Akshay 🚀 - inline image

O Curador: coleta de lixo para habilidades.

Sem manutenção, as habilidades criadas pelo agente se acumulam. Você acaba com dezenas de manuais estreitos e sobrepostos que desperdiçam tokens e poluem o catálogo.

O Curador é um sistema de manutenção em segundo plano que cuida disso. Ele é executado em uma verificação de inatividade (não um daemon cron): se 7 dias se passaram desde a última execução e o agente ficou ocioso por 2+ horas, uma ramificação em segundo plano do agente em segundo plano é iniciada com seu próprio cache de prompt, sem nunca tocar na conversa ativa.

Ele opera em duas fases:

  1. Transições automáticas (determinísticas, sem LLM): Habilidades não usadas por 30 dias tornam-se obsoletas. Habilidades não usadas por 90 dias são arquivadas.
  2. Revisão por LLM (até 8 iterações): Um agente bifurcado pesquisa todas as habilidades criadas pelo agente e decide por habilidade se deve manter, corrigir, consolidar ou arquivar.

Duas restrições importantes:

  • O Curador nunca toca em habilidades empacotadas ou instaladas do hub. Apenas aquelas criadas pelo agente.
  • Ele nunca auto-deleta. O pior resultado é o arquivamento para ~/.hermes/skills/.archive/, que é recuperável com um comando.

Antes de cada passada do Curador, o Hermes tira um instantâneo tar.gz de todo o diretório de habilidades. Reversão é um comando, e as reversões são em si reversíveis.

Você também pode fixar habilidades críticas com hermes curator pin <skill> para protegê-las de arquivamento e exclusão. Correções e edições ainda passam, então o agente pode melhorar uma habilidade fixada sem exigir que você a desafixe primeiro.

Akshay 🚀 - inline image

GEPA: Evoluindo Habilidades Offline com Traços de Execução

Aqui é onde fica interessante.

O loop de aprendizado no agente (criação de habilidades + Curador) tem uma fraqueza conhecida:

  • O agente tende à autossatisfação. Ele quase sempre acha que se saiu bem, mesmo quando não se saiu. O feedback da comunidade confirmou isso.
  • O mesmo sistema que gera automaticamente habilidades também pode sobrescrever personalizações manuais com versões piores.

É aqui que o GEPA entra.

GEPA (Genetic-Pareto Prompt Evolution) não está embutido no runtime do Hermes. Ele vive em um repositório complementar (NousResearch/hermes-agent-self-evolution) e opera como um pipeline de otimização offline. Publicado como um artigo Oral do ICLR 2026, licenciado sob MIT.

A ideia central: em vez de perguntar ao agente "você se saiu bem?", o GEPA lê traços de execução para entender por que as coisas falharam e, em seguida, propõe melhorias direcionadas por meio de busca evolutiva evolucionária.

O pipeline:

  1. Leia a habilidade atual do repositório Hermes
  2. Gere um conjunto de dados de avaliação (casos de teste sintéticos via Claude Opus, histórico de sessão real do SQLite ou conjuntos dourados curados manualmente)
  3. Execute o otimizador GEPA: leia traços de execução → entenda pontos de falha → gere variantes candidatas
  4. Avalie os candidatos usando pontuação LLM-como-juiz com rubricas (não aprovação/reprovação binária)
  5. Aplique portões de restrição: conjunto de testes completo deve passar 100%, habilidades abaixo de 15KB, compatibilidade de cache preservada, propósito semântico não desvie
  6. A melhor variante sai como um PR contra o repositório Hermes. Nunca um commit direto.

Nenhuma GPU necessária. Tudo funciona através de chamadas de API. Custo: aproximadamente $2-10 por execução de otimização.

Isso é algo que pode ser pulado inicialmente, mas é altamente eficaz quando você encontra um obstáculo e não quer gastar tempo e dinheiro com ajuste fino (RL/GRPO)

Mais detalhes neste repositório →

Akshay 🚀 - inline image

Recentemente escrevi recentemente um artigo sobre o GEPA.

É uma ótima alternativa para tentar antes de partir para ajuste fino completo ou ajuste fino baseado em RL.

Akshay 🚀 - inline image

Ok, para resumir:

SOUL.md define a identidade. O loop de runtime captura a experiência. O Curador mantém a biblioteca limpa. O GEPA garante que o que está na biblioteca realmente funciona.

Essa é a teoria completa. Agora vamos colocá-la para funcionar na sua máquina.

Colocando em Funcionamento

Linux, macOS ou WSL2. Python 3.11+ vem com o instalador. 8GB de RAM é suficiente para uso baseado em API.

Instalação em uma linha:

Execute o assistente de configuração. Ele orienta sobre provedor, chave de API, modelo e ferramentas:

Comece a conversar no terminal:

Conecte-o ao Telegram:

Se você quiser falar com seu agente do seu celular em vez do terminal, aponte-o para um bot do Telegram.

Obtenha um token de bot do @BotFather (execute /newbot) e, em seguida, obtenha seu ID de usuário do Telegram do @userinfobot.

É isso. Você tem um agente funcionando:

O que Vive em ~/.hermes/

Logo após a instalação, seu diretório pessoal ganha uma nova pasta.

Vale a pena entender o layout porque tudo que você faz com o Hermes toca um desses caminhos.

Alguns arquivos merecem uma olhada mais de perto.

  • config.yaml é a fonte da verdade para tudo que não é segredo. Escolha do modelo, backend do terminal, ativação de ferramentas, servidores MCP, tudo fica aqui. Edite com hermes config edit ou defina valores um de cada vez com hermes config set <chave> <valor>.
  • .env guarda seus segredos. Chaves de API, tokens de bot, senhas. O Hermes roteia automaticamente valores com aparência de segredo para cá.
  • SOUL.md é a posição #1 no prompt de sistema, antes de tudo. Camada de identidade, coberta anteriormente.
  • skills/ é onde todo o loop de aprendizado vive. Toda habilidade que o agente cria, mais tudo que você instala, cai aqui.
  • state.db é o banco de dados SQLite que suporta a pesquisa de sessão. Seguro em modo WAL, indexado com índice FTS5. É isso que faz "o que discutimos há três semanas?" realmente funcionar.

Você não vai editar manualmente a maior parte disso. Mas conhecer o layout faz todo o resto se encaixar.

Adicionando Novas Habilidades

O Hermes mantém seu próprio Hub de Habilidades com 687 habilidades em 18 categorias. A divisão:

  • 87 habilidades embutidas que vêm com o agente
  • 79 habilidades opcionais que você pode ativar sob demanda
  • 16 da Anthropic (frontend-design, pdf, pptx, docx, mcp-builder, etc.)
  • 505 da LobeHub (contribuições mais amplas da comunidade)
Akshay 🚀 - inline image

Você também pode adicionar qualquer repositório GitHub como um tap personalizado:

É assim que você compartilharia habilidades em uma equipe ou manteria sua própria coleção privada.

Indo de 1 a 10 Agentes

Um agente é suficiente. Múltiplos agentes especializados é onde o Hermes fica interessante.

O Hermes tem um recurso de primeira classe para isso chamado perfis. Cada perfil é uma instância Hermes totalmente isolada com sua própria configuração, memória, habilidades, sessões e SOUL.md. Eles não compartilham nada por padrão.

Vamos configurar três: um designer, um programador e um pesquisador.

Criar uma equipe

--clone copia a configuração e o .env do seu perfil padrão como ponto de partida.

Dê a cada um seu próprio bot do Telegram

Cada perfil precisa de seu próprio bot do BotFather. O Telegram permite apenas uma conexão por token, então compartilhar quebra as coisas.

Execute /newbot três vezes com o BotFather e salve os três tokens. Em seguida, execute o assistente de gateway uma vez por perfil:

A configuração é exatamente a mesma de um agente regular, onde você pode novamente criar novos bots no BotFather e conectá-los aos seus respectivos agentes.

Dê a cada um uma personalidade via SOUL.md

É aqui que os agentes se tornam genuinamente diferentes uns dos outros. Edite o SOUL.md de cada perfil.

Designer em ~/.hermes/profiles/designer/SOUL.md:

Confira estes exemplos:

Akshay 🚀 - inline image

Programador em ~/.hermes/profiles/programmer/SOUL.md:

Pesquisador em ~/.hermes/profiles/researcher/SOUL.md:

Personalizando o programador: rotear execução através do Claude Code

O programador é mais interessante se ele não apenas escreve código, mas delega a execução para a CLI do Claude Code. O Hermes orquestra. O Claude Code faz as edições de arquivo, executa comandos, gerencia git. O Hermes lê o resultado e decide o que vem a seguir.

É assim que eu também executo o meu sobre minha assinatura do Claude Max. Nenhuma chave de API separada. O Claude Code usa as credenciais do Max automaticamente.

Inicie uma sessão e envie este único prompt de ativação:

Eu já tenho uma assinatura do Claude Max. Você é meu engenheiro sênior que

me ajuda com minhas tarefas diárias de codificação, e nos bastidores você usa

o Claude Code para todas as execuções. Configure-se de acordo.

O programador instalará a habilidade autonomous-ai-agents/claude-code por conta própria, verificará se o claude está no PATH e começará a usá-la para execução de código. A partir da próxima mensagem, qualquer coisa relacionada a codificação (ler arquivos, escrever código, executar testes, commitar, fazer push) será roteada através do Claude Code nos bastidores.

Duas coisas que vale a pena saber:

  • Certifique-se de que o claude esteja no seu PATH antes de ativar. which claude deve imprimir um caminho binário real.
  • O Claude Code tem um modo de impressão (rápido, sem TUI) e um modo interativo (sessão tmux completa). O programador escolhe com base na tarefa. Você não precisa pensar sobre isso.

Personalizando o designer: ensine seu estilo visual

O designer se torna genuinamente útil quando pode gerar imagens no seu estilo, e não uma saída de IA genérica. O padrão: alimente-o com designs de referência, deixe-o estudá-los, peça-lhe que crie uma habilidade que gere novas imagens no mesmo estilo.

Este é o loop de autoaperfeiçoamento sendo usado como um mecanismo de configuração. Em vez de escrever uma habilidade manualmente, você está mostrando ao agente bons exemplos e pedindo que ele codifique o padrão sozinho.

Inicie uma sessão com o designer e cole suas imagens de referência (arraste e solte no CLI, ou anexe no Telegram). Em seguida, envie este prompt:

O designer estudará as referências, escreverá o SKILL.md, gerará o script Python, salvá-lo-á em ~/.hermes/profiles/designer/skills/my-design-style/ e verificará se o script é executado.

Se você já executou hermes setup e escolheu e escolheu e escolheu OpenRouter como seu provedor, a chave já está no .env do perfil do designer graças a --clone. Se não, adicione-a uma vez:

A partir de então, pedir ao designer uma nova ilustração aciona a habilidade. Ele escreve um prompt informado pela sua impressão digital de estilo, chama o Nano Banana através do OpenRouter e salva a saída.

O mesmo padrão funciona para qualquer saída específica de estilo. Alimente conteúdo de referência, peça ao agente para construir uma habilidade que reproduza o padrão. Introduções de newsletter, threads no X, comentários de revisão de código, qualquer coisa onde a consistência importa.

Agendando Trabalho: Cron em Inglês Simples

O SOUL.md do pesquisador diz que ele é responsável por um resumo diário do Telegram. Isso implica um trabalho executado em sua própria programação, sem que você precise lembrar de pedir. É para isso que serve o Hermes cron.

O Hermes vem com um agendador embutido. O daemon de gateway "ticka" a cada 60 segundos, executa quaisquer trabalhos pendentes em sessões de agente isoladas e entrega a saída para qualquer plataforma de mensagens que você especificar. Os trabalhos sobrevivem a reinicializações. Eles vivem em ~/.hermes/cron/jobs.json e a saída vai para ~/.hermes/cron/output/.

Akshay 🚀 - inline image

A parte interessante: você não escreve expressões cron. Você descreve o que quer em inglês e o Hermes converte.

Configure o resumo diário do pesquisador

Abra

Abra uma sessão com o pesquisador e envie este prompt:

O pesquisador cria o trabalho usando sua ferramenta cronjob, o destino de entrega padrão é o chat atual (Telegram neste caso), e o agendador assume a partir daí. Verifique se foi criado:

Você deve ver o trabalho com seu próximo horário de execução agendado. Amanhã de manhã às 8h, seu Telegram acende com o resumo. Nenhuma ação adicional necessária.

Outros padrões úteis

A sintaxe cron é flexível. Algumas variações que vale a pena conhecer:

  • Atrasos únicos. /cron add 30m "Lembre-me de verificar o build" executa uma vez em 30 minutos.
  • Intervalos recorrentes. /cron add "a cada 2h" "Verificar status do servidor" executa a cada duas horas.
  • Expressões cron padrão. /cron add "0 9 \ \ 1-5" "..." para controle preciso. Dias de semana às 9h, neste caso.
  • Anexo de habilidade. /cron add "a cada 1h" "Resumir novos itens do feed" --skill blogwatcher carrega uma habilidade antes de executar o prompt.

Você também pode encadear trabalhos. A saída de um cron se torna a entrada do próximo cron através de um sinalizador context_from. Útil para automações em várias etapas onde você deseja que uma etapa de pesquisa alimente uma etapa de escrita.

Isso é um resumo.

Obrigado por ler. Deixe-me saber nos comentários o que você gostaria que eu abordasse em seguida.

Se você aprende melhor com vídeo, estou lançando um tutorial completo do Hermes Agent no YouTube e no X em alguns dias.

Fique ligado!

Saúde! :)

Salvar com um clique

Faça leitura profunda de artigos virais com IA no YouMind

Salve a fonte, faça perguntas específicas, resuma o argumento e transforme um artigo viral em notas reutilizáveis em um único espaço de trabalho com IA.

Explorar o YouMind
Para criadores

Transforme seu Markdown em um artigo 𝕏 impecável

Quando você publica seus próprios textos longos, formatar imagens, tabelas e blocos de código para o 𝕏 é uma dor de cabeça. O YouMind transforma um rascunho completo em Markdown em um artigo 𝕏 impecável e pronto para publicar.

Experimente Markdown para 𝕏

Mais padrões para decifrar

Artigos virais recentes

Explorar mais artigos virais