O que é um agent harness? Tudo no agente que não é o modelo
Um agent harness é todo o código em volta de um modelo de IA que o transforma em agente: o loop, as ferramentas, o contexto e os controles. O que cada parte faz, harnesses reais lado a lado, e por que o harness decide mais que o modelo.
Um modelo consegue pensar. Não consegue abrir um arquivo, rodar um teste ou lembrar o que aconteceu ontem. Tudo o que permite essas coisas é o harness.
Um agent harness é todo o código em volta de um modelo de IA que o transforma em agente. Ele roda o loop que fica chamando o modelo, entrega ao modelo as ferramentas com que ele age, decide o que o modelo vê em cada turno e aplica o que o modelo tem permissão de fazer. O modelo produz texto. O harness é o que deixa esse texto tocar o seu repositório.
Claude Code é um harness. Codex CLI, OpenCode, pi, Kiro e Hermes Agent também são. Quando alguém diz que “o agente ficou melhor”, na maioria das vezes o que mudou foi o harness, e o modelo continuou o mesmo.
Eu rodo harnesses todo dia. Entreguei uma fintech cripto de 13 apps em 70 dias, sozinho, com agentes no loop. Construí um pipeline de sete agentes no OpenCode usando modelos abertos, escrevi meu próprio pacote de model-handoff para o pi, e mantenho um agente Hermes rodando num VPS. Esta página é a definição simples que eu queria ter encontrado primeiro.
A palavra vem dos cavalos
Um cavalo é forte. Sozinho num campo, essa força não move nada que importe para você. Coloque um harness nele, atrele a uma carroça, dê as rédeas a alguém, e a mesma força entrega uma carga no lugar que você escolheu.
O modelo é o cavalo. Ele traz a capacidade bruta: ler código, raciocinar sobre ele, escrever mais código. O harness é a coleira, as correias, a carroça e as rédeas. Ele aponta essa capacidade para um trabalho, carrega o resultado até um lugar útil e mantém uma mão humana na direção. Troque por um cavalo mais forte com um harness quebrado e você continua sem sair do lugar.
Agente é modelo mais harness
A LangChain resumiu a definição em quatro palavras. É a versão mais limpa que alguém já publicou, e é a que eu uso em harness engineering.
A definição
O teste no fim dessa caixa é a parte que importa. Você não pode tocar nos pesos. Pode tocar em todas as outras linhas. É por isso que é no harness que mora a sua alavancagem.
O loop é a parte menor
Essa é a surpresa quando você abre um harness de verdade: o loop do agente é minúsculo. Desmonte qualquer agente de código e você encontra as mesmas poucas linhas.
while the model asks for tools:
run the tools it asked for
append the results to the context
call the model again
Um estudo de 2026 que desmontou o Claude Code, Dive into Claude Code, diz isso sem rodeios: o núcleo é “um while-loop simples que chama o modelo, roda ferramentas e repete.” A maior parte do código vive em volta desse loop: um sistema de permissões com sete modos e um classificador, um pipeline de compactação de cinco camadas para o contexto, quatro mecanismos de extensão (MCP, plugins, skills, hooks), orquestração de subagents e armazenamento de sessão.
Então quando alguém diz que construiu um agente em cinquenta linhas, construiu o loop. O harness é os outros noventa e tantos por cento, e é a parte que decide se o agente entrega trabalho ou entrega lixo confiante.
As quatro partes de todo harness
Todo harness sério tem as mesmas quatro partes. Os nomes mudam de produto para produto. As funções não.
Do que um harness é feito
- 01
O loop
Chama o modelo, roda as ferramentas que ele pediu, devolve os resultados e repete até o trabalho terminar. Também decide quando parar: um limite de passos, uma ferramenta que o modelo chama para finalizar, ou uma checagem que passa.
pi: sem limite de passos, roda até o modelo parar de chamar ferramentas OpenCode: um orçamento de passos por agente
- 02
As ferramentas
As mãos do modelo. Ler um arquivo, editar um arquivo, rodar um comando de shell, chamar uma API. Toda definição de ferramenta custa tokens em cada turno, então menos e mais afiadas ganha de mais.
pi vem com quatro: read, write, edit, bash Claude Code vem com muitas, mais MCP servers
- 03
O contexto
O que o modelo vê em cada turno: o system prompt, os arquivos de instrução, o histórico, o output das ferramentas. Mais a memória, os arquivos que sobrevivem quando a sessão termina. É aqui que a maioria dos tokens morre.
AGENTS.md / CLAUDE.md carregados em toda sessão compactação quando a janela enche
- 04
Os controles
O que o agente pode fazer sem perguntar. Permissões por ferramenta, prompts de aprovação, hooks que rodam antes ou depois de uma ação, e o gate que um humano precisa abrir antes da próxima fase.
edit: ask, bash: allow para git, deny para rm um gate de revisão antes do merge
Se você quiser a versão aprofundada da terceira parte, context engineering cobre o que o modelo deveria ver, e AGENTS.md cobre o arquivo de memória. A quarta parte é onde o spec-driven development ganha seu lugar: a spec é o contrato que o gate confere.
Você já usa um
Todo agente de código que você já ouviu falar é um harness em volta do modelo de alguém. Eles diferem em qual das quatro partes deixam você mudar.
Seis harnesses, uma definição
| Harness | Modelos | O que se destaca no harness |
|---|---|---|
| Claude Code (Anthropic) | Claude, ou qualquer endpoint compatível com a Anthropic | Modos de permissão, hooks, skills, subagents, plugins, MCP |
| Codex CLI (OpenAI) | Modelos da OpenAI | Open source, execução em sandbox, modos de aprovação, AGENTS.md |
| OpenCode | 75+ provedores, modelos locais | Agentes com modelo, temperatura, passos e permissões próprios |
| pi | Qualquer provedor, traga sua própria chave | Quatro ferramentas, um system prompt de ~150 palavras, sessões em JSONL |
| Kiro (AWS) | Claude, GPT e modelos open-weight | Workflow de spec com gates de aprovação, arquivos de steering, hooks |
| Hermes Agent (Nous Research) | Backends de modelo plugáveis | Sempre ativo, memória persistente, escreve as próprias skills |
O Claude Code é um harness?
Sim. O Claude Code é o harness da Anthropic para os modelos da Anthropic, e esse pareamento é o ponto central do produto. O loop, o sistema de permissões, o pipeline de compactação, as skills e os hooks: tudo harness. O modelo do outro lado é o Claude.
Esse pareamento também tem um ângulo comercial. Um plano Claude cobre o uso dentro dos próprios harnesses da Anthropic (Claude Code, Cowork, os apps). Desde 4 de abril de 2026, um harness de terceiros que faz login com o seu plano cobra como uso extra. Então “qual harness” e “qual assinatura” viraram a mesma decisão. Eu escrevi sobre essa troca em vale a pena o Claude Max.
O jeito mais rápido de sentir o harness é manter o modelo fixo e mudar tudo o mais. Rode o mesmo modelo Claude no Claude Code e no pi. Mesmos pesos, system prompt diferente, ferramentas diferentes, regras de contexto diferentes. Você tem um agente diferente.
Harness, framework, modelo
Três palavras que se confundem o tempo todo. São três camadas.
Framework
- 01Um kit para construir agentes: LangChain, LangGraph, o Claude Agent SDK
- 02Você escreve código contra ele
- 03Entrega blocos de construção, não um agente pronto
Harness
- 01Um runtime de agente funcional: Claude Code, OpenCode, pi, Kiro
- 02Você configura e aponta para o trabalho
- 03Entrega o loop, as ferramentas, o contexto e os controles, já montados
O modelo fica embaixo dos dois. Você pode construir um harness com um framework, e alguns harnesses são construídos assim. Quando alguém busca por “LangChain agent harness”, geralmente quer dizer o harness que vai montar com as peças da LangChain.
Por que o harness importa mais que o próximo modelo
Todo laboratório lança um modelo melhor a cada poucos meses, e todo mundo recebe no mesmo dia. O harness é a parte que é sua, e ela acumula com o seu julgamento.
Vi isso mais claramente na minha própria configuração do OpenCode. Dei a revisão a um modelo aberto em temperatura zero, com edições negadas e um checklist de oito categorias. Ele só podia responder APPROVE ou REQUEST_CHANGES, então não dava para corrigir em silêncio o que deveria reportar. O planejamento foi para um modelo diferente, com o shell desligado. Nenhuma dessas regras veio dos modelos. Todas vieram do harness, e os mesmos modelos sem elas teriam sido um agente diferente. A configuração completa está em OpenCode vs Claude Code.
É também por isso que “qual é a melhor IA para programar” é a pergunta errada para começar. A melhor é qual harness, e depois qual modelo em cada fase do trabalho. Eu respondo isso em a melhor IA para programar.
Agent harness, respostas rápidas
O que é um agent harness?
Um agent harness é todo o código em volta de um modelo de IA que o transforma em agente: o loop que fica chamando o modelo, as ferramentas pelas quais ele age, o contexto que vê em cada turno, a memória que sobrevive à sessão, e os controles que decidem o que ele pode fazer. Agent = Model + Harness.
O Claude Code é um harness?
Sim. O Claude Code é o agent harness da Anthropic, construído em volta dos modelos Claude: o loop, os modos de permissão, a compactação, as skills, os hooks, os subagents, os plugins e o suporte a MCP são tudo harness.
Um plano Claude Pro ou Max cobre o uso dentro dos próprios harnesses da Anthropic. Harnesses de terceiros que fazem login com o plano cobram como uso extra desde 4 de abril de 2026.
Qual é a diferença entre um agent harness e um agent framework?
Um framework (LangChain, LangGraph, o Claude Agent SDK) é um kit contra o qual você escreve código para construir um agente. Um harness é um runtime de agente funcional que você configura e roda, como Claude Code, OpenCode, pi ou Kiro. Dá para construir um harness com um framework.
Qual é a diferença entre o modelo e o harness?
O modelo é a rede treinada que lê e escreve texto. O harness é tudo o mais: prompts, ferramentas, o loop, o gerenciamento de contexto, os arquivos de memória, as permissões e os hooks. Você não pode mudar os pesos do modelo, mas pode mudar cada parte do harness.
O que é harness engineering?
Harness engineering é a prática de melhorar tudo em volta do modelo em vez de esperar por um modelo melhor: defender o context window, manter as ferramentas poucas e afiadas, dar ao agente uma memória durável, e fazer o loop verificar o próprio trabalho. O guia completo está no artigo sobre harness engineering.
Posso usar qualquer modelo em qualquer harness?
Tecnicamente, muitas vezes sim. Harnesses abertos como OpenCode e pi aceitam muitos provedores, e o Claude Code pode apontar para endpoints compatíveis com a Anthropic, como o Ollama.
Comercialmente, não. Quem decide é a assinatura: um plano Claude cobre os harnesses da Anthropic, o ChatGPT Plus e o Pro podem ser usados em ferramentas de terceiros participantes desde 29 de setembro de 2026, e uma chave de API funciona em qualquer lugar a preço por token.
O que é o agent harness do pi?
pi é um agent harness de código open source da earendil-works, com quatro ferramentas (read, write, edit, bash), um system prompt de cerca de 150 palavras, sem MCP por padrão, e sessões salvas como JSONL. Ele roda contra qualquer provedor com a sua própria chave, o que faz dele o harness mais fácil de ler de ponta a ponta.
A newsletter
Don’t Code, Specify. Toda semana, agentes de IA em produção de verdade. Sem hype: o que funcionou e o que quebrou.
Assinar no Substack (abre em nova aba)