8 pontos por jeikei 2026-04-23 | Ainda não há comentários. | Compartilhar no WhatsApp

Olá.
Estou criando o Tenet, um harness para agentes de codificação com IA capaz de execução autônoma por longos períodos, e queria compartilhar.

Ao usar agentes de codificação com IA, tarefas curtas costumam funcionar muito bem, mas quando passamos para implementações que duram várias horas, muitas vezes a coisa rapidamente fica instável.
A especificação fica vaga, os testes até rodam, mas não dá para saber se são suficientes, mudar a direção no meio é complicado e, se a sessão cai, o contexto vai embora junto.

O Tenet é um harness criado para reduzir esse problema.
Mais do que simplesmente “um agente que roda por muito tempo”, ele é mais próximo de uma estrutura pensada para manter direção e qualidade mesmo em execuções longas.

Ele funciona, em linhas gerais, com o seguinte fluxo.

  1. Interview

    • Primeiro, os requisitos são detalhados por meio de uma entrevista.
    • Quando necessário, a pesquisa técnica também é feita junto.
  2. Visuals / Architecture

    • Cria diagramas de arquitetura ou mockups de UI.
    • Em trabalhos de UI, ele gera várias variações para que seja possível escolher antes qual direção seguir.
  3. Spec / Harness / Scenarios

    • A spec de implementação, o harness de teste/validação e os cenários ficam documentados.
    • Ele fixa não só “o que será construído”, mas também “com base em quê aquilo será considerado aprovado”.
  4. DAG decomposition

    • O trabalho é dividido em um grafo de dependências.
    • Jobs independentes podem ser executados em paralelo.
  5. Autonomous execution loop

    • Cada job é executado e, ao terminar, recebe uma avaliação.
    • Esse loop foi projetado para poder rodar por muito tempo.

Forma de avaliação

Cada job não segue para a próxima etapa assim que termina; antes disso, precisa passar por 3 critics.

  • code critic: se a implementação está alinhada com a intenção da spec
  • test critic: se os testes existentes são realmente suficientes para validar esse job
  • Playwright e2e eval: se funciona do ponto de vista de um usuário real

Um ponto importante foi fazer com que esses critics analisassem o resultado em um fresh context o mais separado possível do contexto do autor.
A ideia era reduzir os casos em que o agente que escreveu o código aprova o próprio resultado com facilidade demais.

Também está escrito no README, mas especialmente no lado dos testes, achei mais importante do que “existem testes?” a pergunta esses testes estão validando corretamente?

Steer no meio do processo

Em execuções longas, às vezes a pessoa quer mudar um pouco a direção no meio do caminho.

No Tenet, em vez de explicar toda a execução de novo desde o começo,
basta enviar uma steer message; ela é armazenada e depois refletida nos jobs relacionados.

Ou seja,

  • não é preciso interromper todo o loop naquele momento
  • e o sistema retoma isso novamente na etapa relevante

Dei muita importância a documentar e deixar rastros

O que considerei especialmente importante ao criar isso
foi não deixar apenas o resultado final, mas também registrar junto as decisões e o histórico do trabalho.

Os itens abaixo ficam armazenados em .tenet/.

  • interview
  • spec
  • harness
  • visuals
  • knowledge
  • journal
  • steer
  • status
  • SQLite state

Por isso, em vez de ser um agente baseado em sessão que roda uma vez e termina,
a proposta é mais uma estrutura que continua acumulando registros de desenvolvimento que podem ser consultados de novo nos próximos trabalhos.

Em termos de sensação,
é mais próximo de uma tentativa de levar para o lado dos agentes de IA
a estrutura de documentação/validação/handoff necessária quando você passa trabalho para um freelancer ou fornecedor externo.

Estado atual

Ainda está em estágio inicial.
Mesmo assim, o fluxo básico já está implementado, e no momento já inclui itens como os seguintes.

  • adaptadores para Claude Code / OpenCode / Codex
  • servidor MCP + CLI
  • orquestração de jobs baseada em DAG
  • estado persistente baseado em SQLite + WAL
  • recuperação de orphan jobs
  • pipeline de avaliação com 3 critics
  • tratamento de steer message
  • estrutura de documentação em .tenet/

Na prática, já usei isso em execuções bem longas,
e confirmei que, após mais de 6 horas rodando sem intervenção humana, o sistema gerou um resultado imediatamente utilizável.
Um dos artefatos de implementação que eu uso todos os dias hoje também foi produzido com o tenet.

Como é um projeto em estágio inicial, ainda há muitas partes brutas.
Ficarei muito grato por qualquer feedback.

Ainda não há comentários.

Ainda não há comentários.