Masterclass de Agentes Hermes

@akshay_pachaar
INGLÊShá 2 meses · 13/05/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 de autoevolução via GEPA e como implantar agentes especializados para programação e pesquisa.

Tudo o que você precisa para entender e personalizar o Hermes Agent. Habilidades auto evolutivas, memória, 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 seu contexto e funcionam 24 horas por dia, 7 dias por semana.

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 se foi. 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 mesmo 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 em sua máquina: um programador (que usa seu Claude Code), um pesquisador profundo e um designer, cada um com sua própria personalidade, memória, habilidades e bot do Telegram.

Veja só:

<payloadbloco id="blk_1" type="upload" />

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

Nota: Todas as ilustrações deste guia foram projetadas por 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 pressa? Pule para a seção "Colocando em Funcionamento". Os comandos funcionam por si só.

Mas a teoria compensa. Saber como as habilidades evoluem, 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 pela frente:

  • O que é o Hermes Agent. 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 Auto Evolutória. Manuais criados pelo agente mais o Curador.
  • GEPA. Otimização de habilidades offline.
  • Colocando em Funcionamento. Instalação, Telegram, primeiro agente.
  • Executando Múltiplos Agentes. Perfis, três personas, resumos agendados.
  • Personalizando os agentes de acordo com suas necessidades.

O que é o Hermes e o que o torna arquitetural 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 residem em um único framework: aprendizado de habilidades em tempo de execução, memória persistente em várias camadas e um pipeline opcional de treinamento de peso. 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 arquitetônicas opostas.

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

<payloadbloco id="blk_2" type="upload" />

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: são todos pontos de entrada para o mesmo agente central.

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

<payloadbloco id="blk_3" type="upload" />

O loop central é do tipo ReAct e síncrono. Construa o prompt do 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.
  • Funciona com quase qualquer modelo. Uma camada de tradução roteia qualquer provedor através de um de três formatos de API. É por isso que você pode trocar de Claude para GPT para Gemini para Ollama local Ollama local com um comando e nada quebra.
  • O agente tem um limite máximo de 90 turnos por tarefa. Sem ele, 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 auto evolutória, há uma camada que fica acima de ambas: a identidade.

Memória é o que o agente sabe. 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 o slot #1 no prompt do 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.

O SOUL.md é escrito à mão 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 faltando, o Hermes usa uma identidade padrão embutida.

Por que isso importa para a história de auto aprimoramento? 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.

O 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

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

<payloadbloco id="blk_4" type="upload" />

Nível 1: Dois arquivos Markdown pequenos.

No centro estão dois arquivos armazenados em disco:

  • MEMORY.md (máx. 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áx. 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 do 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 do 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 do sistema), o agente precisa consolidar.

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

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

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

A compensação é clara: O Nível 1 está sempre está 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 conectá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 busca automaticamente 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.

<payloadbloco id="blk_5" type="upload" />

Habilidades Auto Evolutória: O Agente Escreve Seus Próprios Manuais

Memória lida com fatos. Habilidades lidam com procedimentos.

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:

<payloadbloco id="blk_6" type="upload" />

  • 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 auto aprimoramento.

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 completa uma tarefa complexa (5+ chamadas de ferramenta)
  • Ele encontra erros ou becos sem saída e encontra o caminho funcional
  • 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 → o resolve através de tentativa e erro → salva a abordagem bem sucedida como um arquivo SKILL.md → da próxima vez que encontrar um problema semelhante, ele 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 tokens), editar (reescrita completa), excluir, write_file e remove_file.

<payloadbloco id="blk_7" type="upload" />

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 lida com isso. 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 é iniciada com seu próprio cache de prompt, nunca tocando 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 exclui. O pior resultado é o arquivamento para ~/.hermes/skills/.archive/, que é recuperável com um comando.

Antes de cada passagem do Curador, o Hermes tira um instantâneo tar.gz de todo o diretório de habilidades. O rollback é um comando, e os rollbacks são reversíveis.

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

<payloadbloco id="blk_8" type="upload" />

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 habilidades automaticamente habilidades automaticamente também pode sobrescrever personalizações manuais com versões piores.

É aqui que entra o GEPA.

GEPA (Genetic-Pareto Prompt Evolution) não está embutido no tempo de execução 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.

O pipeline:

  1. Leia a habilidade atual do repositório Hermes
  2. Gere um conjunto de dados de avaliação 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 as variantes usando pontuação LLM-as-judge 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 devem ficar abaixo de 15KB, compatibilidade de cache é preservada, propósito semântico não se desvia
  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 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 →

<payloadbloco id="blk_9" type="upload" />

Recentemente escrevi um artigo sobre o GEPA.

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

<payloadbloco id="blk_10" type="upload" />

Ok, para resumir:

O SOUL.md define a identidade. O loop de 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á-lo em funcionamento 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 quiser falar com seu agente pelo seu agente pelo telefone 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 funcional:

O que Vive em ~/.hermes/

Logo após a instalação, seu diretório inicial recebe 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 atenta.

  • 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 valores com aparência de segredo para cá automaticamente.
  • SOUL.md é o slot #1 no prompt do sistema, antes de tudo. Camada de identidade, abordada anteriormente.
  • skills/ é onde todo o loop de aprendizado vive. Cada habilidade que o agente cria, mais tudo que você instala, vai parar aqui.
  • state.db é o banco de dados SQLite que dá suporte à pesquisa de sessão. Seguro no modo WAL, indexado com FTS5. É isso que faz "o que discutimos há três semanas?" realmente funcionar.

Você não 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 oficial 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)

<payloadbloco id="blk_11" type="upload" />

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 próprios. 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 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:

<payloadbloco id="blk_12" type="upload" />

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

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

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

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

É também assim que 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:

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

me ajuda com minhas tarefas diárias de codificação, e por baixo dos panos 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á-lo para execução de código. A partir da próxima mensagem, qualquer coisa relacionada a código (ler arquivos, escrever código, executar testes, commitar, fazer push) será roteada através do Claude Code por baixo dos panos.

Duas coisas que valem 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 (único, rápido, sem TUI) e um modo interativo (sessão tmux completo tmux). 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 para criar uma habilidade que gere novas imagens no mesmo estilo.

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

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 funciona.

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

A partir de então, pedir ao designer uma nova ilustração aciona a habilidade. Ele escreve um prompt informado por 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 específico. 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 funciona 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/.

<payloadbloco id="blk_13" type="upload" />

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 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 "Lembrar de verificar o build" é executado uma vez em 30 minutos.
  • Intervalos recorrentes. /cron add "a cada 2h" "Verificar status do servidor" é executado 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 de vários estágios onde você deseja que uma etapa de pesquisa alimente uma etapa de escrita.

É isso.

Obrigado por ler. Deixe 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!

Falou! :)

Save to YouMind

Use YouMind to read viral articles deeply

Save the source, ask focused questions, summarize the argument, and turn a viral article into reusable notes in one AI workspace.

Explore YouMind

Mais padrões para decifrar

Artigos virais recentes

Explorar mais artigos virais