Agent = Model + Harness (Martin Fowler). O modelo é não-determinístico e sem contexto. Tudo que vira o output dele em algo confiável — system prompts, retrieval, ferramentas, testes, guardrails, signals de feedback — é o harness. Em times sérios, o harness é onde mora 90% do trabalho de engenharia.

O que conta como "harness"

  • System prompts — instruções iniciais que definem comportamento
  • Tools / function calling — as ações que o agente pode tomar
  • Retrieval — RAG, code search, vector DB
  • Guardrails — validação de input/output, content filtering
  • Eval suite — testes que rodam continuamente medindo qualidade
  • Telemetry — observability específica de LLM (latency, tokens, custo, qualidade)
  • Loop control — quando parar, quando escalar pra humano
  • Memory — short-term (contexto) e long-term (vetor)

Por que harness importa mais que o modelo

Sem harnessCom harness
Output varia entre runsOutput validado e padronizado
Alucinação não é detectadaSensors flagam alucinação antes de chegar ao usuário
Sem contexto do código realRetrieval injeta contexto relevante
Sem garantia de formatoSchema forçado (JSON, tool call estruturado)
Custo descontroladoToken budget por sessão; modelo certo pra tarefa certa
Falha silenciosaEval contínuo; alarme em regressão de qualidade

Feedforward vs Feedback

Guides (feedforward): previne o problema. Docs, system prompt, exemplos few-shot, schema. Acontece antes da geração.
Sensors (feedback): observa a saída e age. Eval, linter, type checker, teste estrutural. Acontece depois.

Computacional vs Inferencial

TipoCaracterísticaExemplo
ComputacionalDeterminístico, rápido (ms-s)Linter, type check, schema validator, structural test
InferencialProbabilístico, mais lento, semânticoLLM-as-judge avaliando coerência; outro agente revisando código

Use computacional primeiro (cheap, rápido). Use inferencial onde só semântica resolve.

Por que o trabalho de engenharia em sistemas com LLM é majoritariamente harness?
O modelo é commodity intercambiável — Claude, GPT, Gemini fazem 80% das mesmas tarefas com qualidade similar. O diferencial vem do harness: como você dá contexto certo, como valida saída, como detecta regressão, como controla custo, como integra com o restante do sistema. Trocar modelo é uma linha de config; reescrever harness é projeto de meses. Investir em harness é investir no que dura.