O que é Harness?
DEV Community

O que é Harness?

A camada em volta da LLM

O harness é uma camada de software que constrói o que vai enviar para o modelo e também transforma a resposta do LLM em ação. O LLM não tem memória: apesar de superinteligente, ele não guarda histórico e não executa ações - apenas sinaliza o que fazer, e o harness executa. Podemos dizer que o harness decide o que vai para o modelo e como vai.

Se você leu o artigo anterior, vai lembrar que o modelo recebe texto, processa e devolve respostas de acordo com os pesos calibrados a partir do treinamento. Também fizemos uma tabela de Produto × Modelo: o produto implementa o Harness; ChatGPT, Claude Code, Cursor, Codex implementam toda a engenharia em volta do LLM.

O caminho da sua mensagem no ChatGPT

Você envia sua mensagem, mas ela não vai direto para o modelo. Existe uma engenharia de software em volta que monta o prompt para envio. Na prática, há um código comum que:

  • Monta as instruções
  • Lista as ferramentas disponíveis (nome, descrição e formato de argumentos de cada uma)
  • Junta o conteúdo e a memória da conversa inteira a cada interação, até a última mensagem

Exemplo: primeira interação

Usuário: "Vamos desenvolver um site"

Harness monta a estrutura (Bloco 01):

{
  "system": "Você é o GPT criado pela OpenAI. A data de hoje é 16/09/2026, localização...",
  "interação-01": "Vamos desenvolver um site",
  "tools": ["criar_arquivo", "buscar_web", "criar_diretorio"]
}

O LLM responde: "Sobre o que é o site?"

Exemplo: segunda interação

Usuário: "É sobre um portfólio de projetos de um desenvolvedor"

Harness monta novo bloco concatenando a segunda interação com o Bloco 01 (Bloco 02):

{
  "system": "Você é o GPT criado pela OpenAI. A data de hoje é 16/09/2026, localização...",
  "interação-01": "Vamos desenvolver um site",
  "resposta-chat-01": "Sobre o que é o site?",
  "interação-02": "É sobre um portfólio de projetos de um desenvolvedor",
  "tools": ["criar_arquivo", "buscar_web", "criar_diretorio"]
}

Perceba que na segunda interação o Bloco 01 vai inteiro para o LLM novamente, acompanhado da nova interação. A cada interação o bloco cresce, justamente porque o LLM não guarda memória e é necessário enviar tudo de novo - e quem faz isso é o Harness.

Por que isso importa?

Para usuários

É menos impactante, mas relevante: quanto mais você interage, mais texto vai para o LLM. No começo o conjunto de informações é pequeno; após várias interações fica maior. Se você mistura assuntos, a probabilidade de o modelo responder errado aumenta (pode confundir instrução antiga com nova). Com a evolução dos modelos isso é cada vez menos impactante, mas merece atenção.

Para desenvolvedores

É muito mais impactante. Você terá que:

  • Gerenciar esse contexto
  • Juntar as informações necessárias para enviar ao LLM
  • Orquestrar ações ao receber as respostas e devolver ao usuário

Tudo isso fica na responsabilidade de quem constrói aplicações integradas à IA. Por isso é tão importante saber o que ocorre em volta da IA.

Tools

O ponto central: uma tool é uma função no seu backend.

Nos pseudo-prompts acima, a lista tools contém nomes como criar_arquivo, buscar_web, criar_diretorio. Na realidade, não é passado só o nome - são incluídas descrição e parâmetros da função, tudo enviado junto ao LLM.

Exemplo prático: criando Post-its no Miro via Claude

Não gosto de criar Post-its manualmente no Miro; o Harness (com auxílio do LLM) faz isso por mim.

  1. Configuração prévia: Conectei o Miro no chat. A LLM não guarda essa informação - quem guarda é o Harness (o backend do Claude).
  2. Minha solicitação: Envio o que quero (poucas instruções). A LLM completa a maior parte para que o Harness execute.
  3. Tool board_show: O chat pede para usar a tool board_show e trava a execução solicitando minha permissão.
    • Isso mostra o loop entre Harness e LLM
    • Também envolve o MCP (Model Context Protocol) - assunto para outro post
  4. Execução: O modelo não executou nada; apenas escreveu um texto estruturado tipo "quero chamar board_show com essa URL". Quem executou foi o Harness, que pegou o retorno e jogou de volta no contexto como mais uma mensagem.
  5. Ciclo: O modelo é chamado de novo, agora sabendo o que aconteceu. O ciclo se repete até a tarefa concluir (no caso do Miro, várias idas e voltas até o fluxo ficar pronto).

Esse vai-e-vem é o loop - assunto do próximo post.

Harnesses diferentes, resultados diferentes

Você pode usar o mesmo modelo em harnesses diferentes - Cursor, GitHub Copilot, Claude Code - e ter resultados diferentes. Hoje há muita discussão sobre o melhor modelo, mas também sobre o melhor Harness.


Espero que esses dois primeiros posts sobre LLM e Harness, conceitos básicos de Inteligência Artificial, ajudem a compreender e seguir nos próximos. No próximo post falaremos de loop, MCP e uma breve introdução a agentes.

Read on DEV Community ↗ ← Back to News

Comments

No comments yet. Start the discussion.