4

🧬 Da API REST ao Harness: a evolução da interação com LLMs 2022-2026+ 🤖 Do chat solto ao agente soberano: API, RAG, contexto e harness

A forma como interagimos com Modelos de Linguagem de Grande Escala (LLMs) mudou radicalmente em poucos anos. O que começou como “escrever um bom prompt” virou disciplina de arquitetura de sistemas. A jornada passa por API REST direta + prompt engineering, RAG e context engineering, prompt loops / otimização programática (DSPy), harness engineering e aponta para test-time compute, programação por intenção e sistemas auto-corretivos.

Abaixo está um mapeamento atualizado (com base em posts de pesquisadores, papers e guias de 2025–2026), com exemplos concretos e o que os principais pensadores apontam para o futuro.

A Era da API REST Direta e Prompt Engineering (2022 – meados de 2025)

Paradigma
Você envia uma string (ou mensagens) via HTTP para endpoints como /v1/chat/completions. Técnicas clássicas: zero-shot, few-shot, chain-of-thought, role-playing.

Foco do pesquisador/engenheiro
“Como formular a frase para o modelo entender?” A distribuição de tokens e a ordem das palavras importavam muito. Uma palavra trocada podia quebrar o comportamento.

Gargalo
Fragilidade extrema. Otimização era quase exclusivamente empírica (tentativa e erro humana). Não havia métricas robustas nem loops de melhoria automática. Sistemas de produção sofriam com regressões silenciosas.

Exemplo simples

System: Você é um assistente útil.
User: Explique o que é RAG em 3 frases.

Funcionava bem para chat pontual. Em pipelines de produção (classificação, extração, agentes), falhava com frequência.

RAG e Engenharia de Contexto: o LLM como CPU e o contexto como RAM

Quando as janelas de contexto cresceram (de 4k–8k para 100k–1M+ tokens), a pergunta mudou de “como perguntar” para “o que o modelo vê”.

A virada de chave (junho de 2025)
Tobi Lütke (CEO da Shopify) e Andrej Karpathy popularizaram o termo context engineering. Karpathy escreveu:

“People associate prompts with short task descriptions you’d give an LLM in your day-to-day use. When in every industrial-strength LLM app, context engineering is the delicate art and science of filling the context window with just the right information for the next step.”

"As pessoas associam prompts a descrições breves de tarefas que seriam fornecidas a um LLM no uso cotidiano. No entanto, em qualquer aplicação de LLM de nível industrial, a engenharia de contexto constitui a arte e a ciência — que exigem grande sensibilidade — de preencher a janela de contexto exatamente com as informações adequadas para a etapa seguinte."

A analogia que pegou: o LLM é a CPU; o contexto é a RAM.

O que é Context Engineering
Não é só RAG clássico (buscar documentos e jogar no prompt). É curar todo o conjunto de tokens que o modelo vê em cada chamada:

  • Instruções de sistema
  • Definições de ferramentas (tools / MCP)
  • Documentos recuperados
  • Histórico de conversa e estado
  • Exemplos few-shot
  • Resultados de ferramentas anteriores
  • Memória de longo prazo

Anthropic formalizou: “the set of strategies for curating and maintaining the optimal set of tokens (information) during LLM inference”.

"o conjunto de estratégias para selecionar e manter o conjunto ideal de tokens (informações) durante a inferência de LLMs"

Técnicas práticas (taxonomia comum)

  • Write – gerar ou estruturar informação
  • Select – escolher o que entra
  • Compress – resumir / compactar histórico
  • Isolate – separar contextos (sub-agentes, sandboxes)

Problema residual
Mesmo com RAG avançado e bancos vetoriais, ainda havia alucinações estruturais porque o ambiente externo (ferramentas, permissões, execução) não era rigidamente controlado. “Lost in the middle” e poluição de contexto continuavam frequentes.

Exemplo
Em vez de um prompt estático, um sistema monta dinamicamente:

[System instructions]
[Tool schemas]
[Relevant docs from vector DB – top-k + re-rank]
[Compressed conversation history]
[Current user goal + constraints]

Harness Engineering, Prompt Loops e Automação (estado atual – 2026)

A comunidade percebeu que a capacidade do modelo isolado não garante confiabilidade em produção. Surgiu a camada seguinte:

Agent = Model + Harness

O harness é tudo o que envolve o modelo: loop de execução, ferramentas, gerenciamento de contexto, sandboxes, guardrails, verificação, observabilidade e orquestração. Em sistemas de agentes modernos, a maior parte do código de produção fica no harness, não na chamada ao LLM.

Componentes típicos de um harness

  • Ambiente de execução (sandbox / container isolado)
  • Registry de ferramentas (MCP, function calling)
  • Gerenciamento de contexto e memória
  • Loop (plan → act → observe → verify)
  • Guardrails e permissões
  • Verificação determinística (linters, testes, schemas)
  • Observabilidade e logs

Papers de 2026 (incluindo estudos de código-fonte de Claude Code, Codex CLI, Gemini CLI, OpenHands etc.) tratam harness engineering como disciplina própria. Um insight recorrente: um modelo mais fraco com harness melhor frequentemente supera um modelo mais forte com harness ruim.

Prompt Loops e otimização programática (DSPy e similares)
Em vez de reescrever prompts manualmente (“vibe-based”), define-se:

  • Um programa modular (signatures + modules)
  • Uma métrica de avaliação (evals)
  • Um conjunto de exemplos rotulados

Otimizadores (BootstrapFewShot, MIPROv2, GEPA etc.) rodam loops automáticos: geram candidatos, avaliam, selecionam, reescrevem. O resultado é um pipeline que se auto-melhora com dados reais.

Exemplo mental de loop

  1. Rode o programa em um conjunto de treino.
  2. Avalie com métrica (ex.: exact match + LLM-as-judge).
  3. Mantenha as melhores demonstrações / instruções.
  4. Compile um novo prompt/programa.
  5. Repita até convergência ou orçamento.

Comparativo rápido das três camadas

DimensãoPrompt EngineeringContext EngineeringHarness Engineering
O que controlaInstrução únicaTudo que entra na janelaAmbiente completo do agente
NívelMensagemSessão / multi-turnSistema
Era aproximada2022–meados 202520252026+
Falha típicaModelo “não entendeu”Contexto errado/poluídoAção inválida ou sem verificação
Onde está o códigoStrings de promptRetrieval + assembly80–90% do código de produção

Elas não se excluem: prompt está dentro de context, que está dentro de harness.

O que o futuro reserva (visões de pesquisadores e labs)

1. Computação em tempo de inferência (Test-Time Compute)
Modelos de raciocínio (série o1, DeepSeek-R1 e sucessores) mostram que o ganho de performance não vem só de escalar pré-treinamento. Dar mais “tempo de pensar” na inferência (gerar longos CoTs, explorar árvores, auto-corrigir, amostrar múltiplas vezes) rende melhorias grandes. Pesquisas apontam estratégias compute-optimal (adaptar o orçamento de tokens à dificuldade do problema) e até looping de camadas de transformers congelados.

2. Programação por intenção / Declarative AI
Em vez de escrever prompts textuais complexos, o engenheiro declara objetivos, restrições e métricas. Compiladores de IA (evolução do DSPy e frameworks similares) traduzem isso em grafos de execução otimizados automaticamente. O “código” se torna mais próximo de especificações de alto nível.

3. Gestão de entropia e sistemas auto-corretivos
Agentes geram código, documentação e dados em volume. O sistema acumula desalinhamentos (drift arquitetural, docs obsoletos, inconsistências). Pesquisadores falam em agentes de manutenção de segundo plano que auditam, refatoram contextos e limpam o ecossistema periodicamente. Também surgem self-harness: o próprio agente melhora o harness em que roda (Weakness Mining → Proposal → Validation).

4. Outras tendências emergentes

  • Harnesses que se auto-evoluem (papers de 2026 já mostram ganhos de 5–10+ pontos em benchmarks só melhorando o harness).
  • Meta-harnesses que orquestram vários harnesses de vendors.
  • Maior formalização (taxonomias de 6–7 camadas: Execution, Tooling, Context, Lifecycle, Observability, Verification, Governance).

Conclusão prática

  • 2022–2024: o diferencial era o prompt.
  • 2025: o diferencial passou a ser o contexto que o modelo vê.
  • 2026+: o diferencial é o sistema completo (harness) que controla o que o modelo vê, o que ele pode fazer e como o resultado é verificado.

Para quem está construindo hoje:

  1. Domine context engineering (curadoria de tokens).
  2. Invista pesado no harness (ferramentas, sandbox, verificação, loops).
  3. Trate prompts como parâmetros otimizáveis (DSPy ou equivalentes).
  4. Prepare-se para test-time compute e automações de segundo nível.

A maior parte do valor migrará cada vez mais para fora do modelo em si e para a infraestrutura que o torna confiável, observável e auto-melhorável. O modelo continua importante — mas o sistema ao redor dele é o que decide se a aplicação funciona em produção.

SDKs e Harnesses para construir agentes (2026)

NomeEmpresa / ProjetoLinguagensLink principal
Claude Agent SDKAnthropicPython, TypeScripthttps://code.claude.com/docs/en/agent-sdk/overview
Google Antigravity SDKGooglePythonhttps://antigravity.google/docs/sdk/overview
OpenAI Agents SDKOpenAIPython, TypeScripthttps://openai.github.io/openai-agents-python/
OpenAI Agents (overview)OpenAI—https://developers.openai.com/api/docs/guides/agents
Google ADKGooglePython, TS, Go, Javahttps://google.github.io/adk-docs/
Microsoft Agent FrameworkMicrosoftPython, .NEThttps://learn.microsoft.com/en-us/agent-framework/
LangGraphLangChainPython, TypeScripthttps://github.com/langchain-ai/langgraph
Deep AgentsLangChainPython, TypeScripthttps://docs.langchain.com/oss/python/deepagents/overview
OpenHands Software Agent SDKOpenHandsPythonhttps://docs.openhands.dev/sdk
Pydantic AIPydanticPythonhttps://ai.pydantic.dev/
Pydantic AI HarnessPydanticPythonhttps://pydantic.dev/docs/ai/harness/
CrewAICrewAIPythonhttps://docs.crewai.com/
MastraMastraTypeScripthttps://mastra.ai/
Vercel AI SDKVercelTypeScript / JShttps://ai-sdk.dev/
AiderAiderPythonhttps://aider.chat/
HermesNous Research—https://github.com/NousResearch/hermes-agent
PiEarendil / communityTypeScripthttps://github.com/earendil-works/pi-coding-agent
OpenCodeOpenCode—https://github.com/opencode-ai/opencode
Codex CLIOpenAIRust / CLIhttps://github.com/openai/codex
Gemini CLI / Antigravity CLIGoogleTypeScript / CLIhttps://github.com/google-gemini/gemini-cli

Instalação rápida (pip / npm)

PacoteComando
Claude Agent SDK (npm)npm i @anthropic-ai/claude-agent-sdk
Antigravitypip install google-antigravity
OpenAI Agents (Python)pip install openai-agents
OpenAI Agents (JS)npm i @openai/agents
Deep Agentspip install deepagents
OpenHands SDKpip install openhands-sdk openhands-tools
Pydantic AIpip install pydantic-ai
Pydantic AI Harnesspip install pydantic-ai-harness
CrewAIpip install crewai
LangGraphpip install langgraph

Meus projetos que se derivam desse pensamento

(Posso está esquecendo de alguns, e tem outros privados, que talvez abra no futuro distante)

https://www.tabnews.com.br/MrJ/a-jornada-do-crom-agente-como-estou-construindo-um-agente-de-ia-autonomo-do-zero
Artigo que conta a origem do crom-agente: por que construir um agente próprio em Go (independência de ferramentas de terceiros), o estudo de Antigravity, Claude Code e Void, e a arquitetura em camadas (daemon, SDK, CLI, app, IDE e cloud).

https://www.tabnews.com.br/MrJ/openheinerss-o-maestro-universal-de-ai-coding-agents-harness-orquestrador-de-clis-e-sdks-oficiais-agy-claude-code-codex-aider-opencode
Pitch do Openheinerss: o “maestro” que unifica CLIs e SDKs de coding agents (Claude Code, Codex, Aider, OpenCode, Antigravity/AGY) sob uma interface única, com MCP, checkpoints, multi-contas e execução offline.

https://github.com/crom-org/opencorp
OpenCorp — sistema operacional de empresas autônomas movidas por agentes. Orquestra workspaces isolados, Secretário Executivo, Kanban, fluxos estilo n8n, reuniões multi-agente e scheduler 24/7, usando harnesses como OpenCode, Claude Code e Antigravity.

https://github.com/crom-org/openheinerss
Repositório oficial do Openheinerss (Go): binário CLI + JSON-RPC (STDIO/WebSocket), adaptadores para claude-code, opencode, codex, agy e aider, hub MCP, missões com worktree/checkpoints e SDKs em TypeScript, Python e PHP.

https://github.com/MrJc01/crom-opencorp
Repositório de desenvolvimento ativo do OpenCorp (fork/manutenção em MrJc01): onde a evolução do “sistema operacional de empresas” continua em ritmo diário, com a mesma visão de workspaces governados e agentes especializadas.

https://github.com/MrJc01/crom-opencorp-claude
Variante/experimento do OpenCorp centrada no harness Claude (Claude Code / Agent SDK), explorando como o ecossistema CROM se comporta quando o motor principal é o stack da Anthropic.

https://github.com/MrJc01/crom-agente
Core do crom-agente: daemon em Go que roda o loop ReAct localmente, gerencia tools no terminal via PTY com sandbox, suporta múltiplos agentes em paralelo (goroutines) e fala com qualquer provedor OpenAI-compatible ou Ollama.

https://github.com/MrJc01/crom-agente-sdk
SDK do crom-agente (TypeScript e Go): camada que abstrai IPC, WebSocket e gRPC com o daemon, para que CLI, app desktop, IDE ou qualquer cliente da comunidade se conecte sem reinventar o protocolo.

https://github.com/MrJc01/crom-agente-app
Aplicação desktop do crom-agente (Tauri + React): interface visual com dark mode e acompanhamento do loop do agente, pensada para quem prefere UI em vez de só terminal.

https://github.com/MrJc01/crom-agente-cli
CLI/TUI do crom-agente (Charmbracelet — bubbletea/lipgloss): interface de terminal rica para enviar tarefas, acompanhar o loop ReAct e interagir com o daemon de forma nativa no shell.

Carregando publicação patrocinada...
4