<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: José Roberto dos Santos</title>
    <description>The latest articles on DEV Community by José Roberto dos Santos (@jroberto1).</description>
    <link>https://dev.to/jroberto1</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3957120%2F39bcfe40-757b-414f-a4e8-076c0ccf8db1.jpeg</url>
      <title>DEV Community: José Roberto dos Santos</title>
      <link>https://dev.to/jroberto1</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jroberto1"/>
    <language>en</language>
    <item>
      <title>Harness Engineering: Como fazer agentes de IA funcionarem em produção</title>
      <dc:creator>José Roberto dos Santos</dc:creator>
      <pubDate>Thu, 28 May 2026 17:57:20 +0000</pubDate>
      <link>https://dev.to/jroberto1/harness-engineering-como-fazer-agentes-de-ia-funcionarem-em-producao-4gn2</link>
      <guid>https://dev.to/jroberto1/harness-engineering-como-fazer-agentes-de-ia-funcionarem-em-producao-4gn2</guid>
      <description>&lt;p&gt;Você já teve uma sessão perfeita com um agente de IA — ele entendeu&lt;br&gt;
tudo, fez exatamente o que você pediu — e na sessão seguinte ele&lt;br&gt;
esqueceu tudo e voltou a cometer os mesmos erros?&lt;/p&gt;

&lt;p&gt;Isso não é um problema do modelo. É um problema de harness.&lt;/p&gt;
&lt;h2&gt;
  
  
  Prompt Engineering vs Context Engineering vs Harness Engineering
&lt;/h2&gt;

&lt;p&gt;A maioria das pessoas fica no &lt;strong&gt;prompt engineering&lt;/strong&gt; — como formular&lt;br&gt;
a pergunta certa. Alguns chegam ao &lt;strong&gt;context engineering&lt;/strong&gt; — como&lt;br&gt;
estruturar o contexto para consistência.&lt;/p&gt;

&lt;p&gt;Mas existe uma terceira camada:&lt;br&gt;
Prompt Engineering  →  você funciona&lt;br&gt;
Context Engineering →  você é consistente&lt;br&gt;
Harness Engineering →  você é confiável em produção&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Harness Engineering&lt;/strong&gt; é o conjunto de arquivos, regras e automações&lt;br&gt;
que envolvem o agente e definem como ele deve se comportar — não só&lt;br&gt;
o que fazer, mas o que nunca fazer, como verificar o próprio trabalho,&lt;br&gt;
e como aprender com erros.&lt;/p&gt;
&lt;h2&gt;
  
  
  O experimento que mudou minha perspectiva
&lt;/h2&gt;

&lt;p&gt;A Anthropic publicou um resultado interessante: o mesmo modelo (Claude),&lt;br&gt;
a mesma tarefa, duas condições:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Sem harness&lt;/strong&gt;: $9, 20 minutos, não funcionou&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Com harness&lt;/strong&gt;: $200, 6 horas, entregou um jogo jogável&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Não é o modelo que faz a diferença. É o ambiente em que ele opera.&lt;/p&gt;
&lt;h2&gt;
  
  
  O que um harness resolve na prática
&lt;/h2&gt;

&lt;p&gt;Sem harness, um agente tende a:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pular etapas de verificação&lt;/li&gt;
&lt;li&gt;Inventar respostas quando não sabe&lt;/li&gt;
&lt;li&gt;Quebrar o que funcionava ao tentar melhorar&lt;/li&gt;
&lt;li&gt;Esquecer o contexto entre sessões&lt;/li&gt;
&lt;li&gt;Fazer o que foi pedido, não o que era necessário&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Com harness, você define:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Regras absolutas&lt;/strong&gt; — o que o agente nunca faz&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Protocolo PEV&lt;/strong&gt; — Plan → Execute → Verify antes de qualquer tarefa&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Memória de sessão&lt;/strong&gt; — o agente retoma de onde parou&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Directives&lt;/strong&gt; — SOPs carregados sob demanda para tarefas específicas&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Regra de Hashimoto&lt;/strong&gt; — cada erro vira uma melhoria permanente&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Bifrost — um harness para qualquer runtime
&lt;/h2&gt;

&lt;p&gt;Construí o &lt;strong&gt;Bifrost&lt;/strong&gt; como um framework de harness engineering&lt;br&gt;
que funciona com Claude Code, Antigravity, OpenCode e Cursor.&lt;/p&gt;

&lt;p&gt;Instalação em 1 minuto:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx harness-engineering
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;O que você recebe:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;AGENTS.md&lt;/code&gt; — regras canônicas do agente&lt;/li&gt;
&lt;li&gt;10 directives reais (session-memory, diagnose, testing, deployment...)&lt;/li&gt;
&lt;li&gt;8 skills reais (brainstorming, debugging-strategies, security-auditor...)&lt;/li&gt;
&lt;li&gt;Scripts de automação (sync, build, health-check)&lt;/li&gt;
&lt;li&gt;CI com 9 checks automáticos&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Para projetos existentes com detecção automática de stack:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx harness-engineering adopt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ele detecta Next.js, React, Python, Go, Rust, Prisma, Stripe e&lt;br&gt;
pré-configura o harness para a sua stack.&lt;/p&gt;

&lt;h2&gt;
  
  
  A estrutura em 3 camadas
&lt;/h2&gt;

&lt;p&gt;directives/          ← Camada 1: SOPs — o QUE fazer&lt;br&gt;
agente (você)        ← Camada 2: roteamento e decisão&lt;br&gt;
execution/           ← Camada 3: scripts determinísticos&lt;/p&gt;

&lt;p&gt;O agente é probabilístico. Scripts são confiáveis.&lt;br&gt;
O harness define quando usar cada um.&lt;/p&gt;

&lt;h2&gt;
  
  
  A Regra de Hashimoto
&lt;/h2&gt;

&lt;p&gt;A parte mais poderosa do harness não é o que já está lá —&lt;br&gt;
é o que você adiciona depois de cada erro.&lt;/p&gt;

&lt;p&gt;Quando o agente erra, você classifica o tipo:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;A&lt;/strong&gt; — trigger faltando (a directive existia mas não foi carregada)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;B&lt;/strong&gt; — directive incompleta (SOP não cobriu o edge case)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;C&lt;/strong&gt; — context overflow (janela cheia)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;D&lt;/strong&gt; — hallucination (inventou sem verificar)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;E&lt;/strong&gt; — permission violation (agiu sem autorização)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cada tipo tem um arquivo diferente para corrigir.&lt;br&gt;
Com o tempo, o harness fica cada vez mais difícil de quebrar.&lt;/p&gt;

&lt;h2&gt;
  
  
  Começando
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Projeto novo&lt;/span&gt;
npx harness-engineering

&lt;span class="c"&gt;# Projeto existente&lt;/span&gt;
npx harness-engineering adopt

&lt;span class="c"&gt;# Diagnóstico do ambiente&lt;/span&gt;
npx harness-engineering doctor

&lt;span class="c"&gt;# Verificar integridade&lt;/span&gt;
npx harness-engineering check
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Repositório: &lt;a href="https://github.com/JRoberto1/Bifrost_Harness-Engineering" rel="noopener noreferrer"&gt;https://github.com/JRoberto1/Bifrost_Harness-Engineering&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Se o conceito fizer sentido para você, ⭐ no repo ajuda outros&lt;br&gt;
desenvolvedores a descobrir.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>claudecode</category>
      <category>productivity</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
