stamatios
← Voltar ao feed
Mochila minúscula pendurada num terminal gigante, harness minimalista hip-agent para agentes de IA
Agentes · Open Source

hip-agent: um harness minimalista que cabe no prompt

resumo de ~3 min

A proposta do hip-agent

Jonathan Chang apresenta o hip-agent (harness in prompt), um harness de agente minimalista projetado não para humanos, mas para ser usado por outros agentes. A tese central: harnesses populares de código como Claude Code e Codex foram feitos para operação humana, e quando um agente tenta usá-los como subagente, gasta vários turnos apenas para descobrir as flags corretas da linha de comando ou para interpretar a saída - e, em casos mais customizados, precisa explorar o código-fonte do Codex CLI para entender detalhes de implementação.

O hip-agent se apoia em três ideias:

  • O harness cabe no prompt. O loop principal tem cerca de 200 linhas de Python, mais um módulo para a API do Codex. O modelo recebe apenas duas ferramentas, sh e view_image, e o próprio prompt instrui o modelo a ler o código-fonte para entender exatamente o que o harness faz.
  • O sistema operacional é o runtime. Configuração é feita por variáveis de ambiente, ações são comandos de shell e um subagente é um processo filho.
  • O restante usa protocolos e formatos existentes. Plugins seguem o padrão Agent Plugins, hooks usam o contrato do Claude Code e a conversa é um arquivo de sessão do Codex CLI, reaberto com codex resume.

Toda a configuração cabe em um .zshrc: a variável AGENT_MODEL define o modelo, e AGENT_PLUGINS lista plugins como environment, cwd e agentsmd. A execução é um simples ./agent "instrução".

Subagentes e reparabilidade

Nesse design, um subagente é o próprio agent executado a partir do shell: herda o ambiente, ganha conversa própria e é configurado pelo pai via variáveis de ambiente (por exemplo, AGENT_MODEL=... agent "..."). Por padrão, o pai vê apenas a saída final do filho, mas o estado pode ser lido no arquivo de sessão, e interações mais avançadas podem ser implementadas como plugins.

Duas consequências destacadas pelo autor: o harness é reparável, já que um modelo suficientemente capaz que leu o próprio harness pode contornar ou alterar seus limites; e o hip-agent pode ser colocado em um skill, permitindo que o agente que o usuário já usa gere subagentes por meio dele - o código é a própria documentação.

Por que não subagentes nativos?

Chang argumenta que modelos nem sempre performam melhor em um harness fixo e, conforme ficam mais capazes, um harness fixo pode se tornar a limitação. O hip-agent não é um harness fixo, mas uma implementação de referência, deliberadamente pequena para que um agente possa ler, modificar e adaptar. Modelos futuros poderiam ser treinados a seguir essa abordagem, construindo e editando seus próprios harnesses de subagente conforme a tarefa.

Resultados medidos

O código passou por algumas iterações no Terminal-Bench 2 com o gpt-5.6-luna em esforço máximo: melhorias no design do shell e no prompt, adição da ferramenta view_image e de timeouts de comando. O código final foi avaliado no DeepSWE (113 tarefas) contra o Codex CLI 0.147.0:

  • hip-agent: 73/113 resolvidas (64,6%), 187 chamadas de modelo por tarefa, 58 min de tempo de agente por tarefa.
  • Codex CLI: 72/113 (63,7%), 208 chamadas por tarefa, 52 min por tarefa.

O autor ressalva: uma execução de cada, sem barras de erro; as duas rodadas rodaram simultaneamente em máquinas locais com a mesma CPU e hardware diferente no restante. O consumo de tokens não foi comparado porque o hip-agent não o registra. A conclusão é que o hip-agent performa de forma comparável ao Codex CLI.

A crítica aos harnesses de fornecedores

Quase todo fornecedor de modelos hoje lança seu próprio harness com interface de terminal, mas ninguém tem tempo de testar todos - e isso também dificulta evals, porque uma rodada de benchmark mede o modelo e o harness juntos. Chang cita dois exemplos: a OpenAI constatou que o harness do ARC-AGI-3 derrubava o raciocínio do modelo entre movimentos, e ativar duas configurações que o Codex usa por padrão triplicou a pontuação. Do outro lado, a Anthropic documentou em um postmortem de abril como um harness voltado ao usuário pode degradar silenciosamente os resultados sem que o modelo mude.

A conclusão é que um harness de produto é um instrumento ruim para avaliar um modelo. O ideal seria que cada construtor de modelos fornecesse um harness de referência nativo e minimalista, semelhante a um parser de ferramentas ou chat template - descrevendo como o modelo foi treinado a interagir com o mundo, separado do produto final. Isso também facilitaria testar um modelo novo: o usuário pediria ao agente que já usa para executá-lo como subagente.

Trabalhos relacionados

O mini-swe-agent compartilha o princípio de usar apenas bash e tem um núcleo de ~100 linhas, mas é desenhado com abstrações para funcionar com qualquer modelo e ambiente; o hip-agent compromete-se com um fornecedor e um sistema operacional, o que reduz o código e permite recursos específicos do Codex, como compactação e sessões retomáveis. O Codex app server, interface de baixo nível usada pelas aplicações Codex, carrega muita lógica de aplicação e não serve como referência mínima para o loop do modelo - o autor precisou de um agente para explorar compaction e a API websocket.