Geodi, personagem oficial do GEODE em pixel art
Voltar à sala

GEODE

Autonomous Agent Harness

Da observação à próxima ação.

Um harness local de agentes autônomos ao qual se pode confiar pesquisa, trabalho com arquivos e tarefas agendadas.

2026.02.21 — present

Concepção, julgamento, verificação: Author · implementação: Claude · revisão: Codex

  • CLIPublicado · PyPI
  • Servidor MCPImplementado

Decision Offloading w. Jev

Quais das decisões intermediárias que um agente toma no meio de uma tarefa podem ser entregues ao Jev, um modelo só de decisão? Esta pesquisa verifica se a qualidade da tarefa, verificada de forma independente, se mantém depois disso, contando preparação, julgamentos repetidos, reparo e entrega final. Os primeiros pilotos não se explicavam apenas pela troca da chamada de julgamento, por isso o contrato de entrada, o contrato de decisão, a política de probabilidade e o consumo pelo agente de execução foram separados em experimentos próprios.

Mapa do Jev · runtime a partir do commit fixado 9e2c041, pesquisa a partir dos registros de September 2026
Caminhos de julgamento do Jev: integração ao runtime e pesquisaA parte superior é o caminho de julgamento opcional do runtime atual do GEODE. Só quando judgment_engine é definido como jev a verificação final e a reflexão chamam uma vez o Jev no TypeSafe SystemOne, e uma resposta só é usada após a admissão de tipo, intervalo e soma das probabilidades. Só supported passa na verificação final, e o resultado vai para a política PostVerify e Stop do capítulo “Conclusão”. A parte inferior é a pesquisa Jev v3 fora do runtime: um painel de estados fixos (U3) comparou os julgamentos do Astra e do Jev, execuções E/I no Harbor 0.22 mudaram só a via de julgamento e verificaram separadamente resultados e entrega com um oráculo de regras independente, e o pacote público separa os hashes de origem e públicos e oferece um recálculo sem modelo.TypeSafe SystemOnejev-1.13.0 · só julgamentoJuiz Astra · modelo atorgpt-6-astra/xhigh · assinaturaRelatório de pesquisa do Jevrelatório técnico públicocore/config/judgment.pyjudgment_engine · llm | jevauto → typesafe · openrouterloop/_lifecycle.pypolítica PostVerify · Stopcore/agent/verify.pyveredito final · uma pergunta Choicesó supported passa · só textoadapters/typesafe.pySystemOne · uma chamada · sem fallbackadmissão · tolerância de soma 1e-5loop/_reflection.pyreflexão · classificação de evidênciasmemory · observabilitytimeline · linhas de decisão do ledgerU3 · painel de estados fixos120 pares · 27 fontes · sem atorAstra · Jev · mesma perguntaE/I · Harbor 0.22ator Astra · ferramentas · reparovia de julgamento · Astra · Jev · Jev-firstrule oraclecorreção · entrega separadasjev-v3-20260927E2E-DATA · hashes de origem · públicosREPRODUCE · model-freeRuntime do GEODE · 9e2c041julgamento opcional · llm por padrãoPesquisa Jev v3 · Sept 2026fora do runtime · harness separado1escolher a via2 requisição · candidato · observações · veredito final · uma pergunta Choice → SystemOne · uma chamada · sem fallback23 uma chamada ao SystemOne · SystemOne · uma chamada · sem fallback → TypeSafe SystemOne34 Choice admitido · admissão · tolerância de soma 1e-5 → só supported passa · só texto45passed · reflection6linhas de veredito1mesma escolha2classificar evidências3 uma chamada ao SystemOne · SystemOne · uma chamada · sem fallback → TypeSafe SystemOne34 classificação · admissão · tolerância de soma 1e-5 → reflexão · classificação de evidências41Julgamento do Jev2Julgamento do Astra3resultados do painel · relatório1gerar · ferramentas · reparar2via de julgamento de conclusão3 verificação independente · E/I · Harbor 0.22 → correção · entrega separadas34linhagem de falha · reparo5recálculo sem modelo

Runtime · veredito final

Com o Jev selecionado, a verificação final chama o Jev uma vez com uma pergunta Choice, e só passa um veredito supported admitido.

  1. judgment_engine · llm | jevcore/config/judgment.pyexecutar · decidir: escolher a viaveredito final · uma pergunta Choicecore/agent/verify.py

    A via do Jev só é usada quando judgment_engine é definido como jev (padrão llm). provider auto escolhe TypeSafe e depois OpenRouter, o que tiver chave; sem chave, a via do juiz LLM permanece. Não é um fallback que repete em outro lugar uma requisição que falhou.

  2. veredito final · uma pergunta Choicecore/agent/verify.pydados: requisição · candidato · observaçõesSystemOne · uma chamada · sem fallbackadapters/typesafe.py

    A requisição original e o candidato são ocultados e limitados, depois enviados com as observações de ferramentas como uma única pergunta Choice (supported, contradicted, insufficient_evidence). A chamada de julgamento não recebe ferramentas (allow_tools=False). Um julgamento que precisa de imagens não é enviado ao Jev e vira verification_error.

  3. SystemOne · uma chamada · sem fallbackadapters/typesafe.pydados: uma chamada ao SystemOneTypeSafe SystemOne

    Uma chamada, direto ao TypeSafe ou via OpenRouter, sem salto para outro provedor. O Jev nunca é usado como modelo raiz de geração de texto.

  4. admissão · tolerância de soma 1e-5adapters/typesafe.pydados: Choice admitidosó supported passa · só textocore/agent/verify.py

    Uma resposta só é usada após a admissão de tipo, intervalo e soma das probabilidades (tolerância 1e-5). Só supported passa; contradicted e insufficient_evidence viram sinal de nova tentativa com uma próxima verificação fixa. Uma resposta que não é end_turn ou falha na admissão vira verification_error, que não é sinal de nova tentativa (should_retry=False). A pontuação é uma projeção binária, não uma probabilidade calibrada.

  5. só supported passa · só textocore/agent/verify.pydados: passed · reflectionpolítica PostVerify · Stoploop/_lifecycle.py

    O veredito vai para a política PostVerify e Stop do capítulo “Conclusão”. Um veredito é uma entrada dessa política, não uma autoridade; quando aguarda revisão, o candidato fica só como pending_text e a resposta final é vazia, então nada é entregue.

  6. política PostVerify · Stoploop/_lifecycle.pyregistrar · observar: linhas de vereditotimeline · linhas de decisão do ledgermemory · observability

    As decisões de veredito são registradas na timeline e no evidence ledger: registros do runtime, separados dos artefatos de pesquisa.

Runtime · reflexão

A mesma escolha conduz a classificação de evidências da reflexão; a frase da próxima verificação é definida pelo código.

  1. judgment_engine · llm | jevcore/config/judgment.pyexecutar · decidir: mesma escolhareflexão · classificação de evidênciasloop/_reflection.py

    A mesma escolha vale para a reflexão.

  2. reflexão · classificação de evidênciasloop/_reflection.pydados: classificar evidênciasSystemOne · uma chamada · sem fallbackadapters/typesafe.py

    A reflexão usa o Jev para classificar evidências limitadas e acrescenta uma próxima verificação definida pelo código. Não muda hipóteses de crença nem a autoconfiança.

  3. SystemOne · uma chamada · sem fallbackadapters/typesafe.pydados: uma chamada ao SystemOneTypeSafe SystemOne

    Uma chamada, direto ao TypeSafe ou via OpenRouter, sem salto para outro provedor. O Jev nunca é usado como modelo raiz de geração de texto.

  4. admissão · tolerância de soma 1e-5adapters/typesafe.pydados: classificaçãoreflexão · classificação de evidênciasloop/_reflection.py

    Só uma classificação admitida atualiza o estado de reflexão; em caso de falha, a próxima rodada tenta de novo a partir do mesmo estado anterior.

Pesquisa · painel fixo U3

Sem ator, os julgamentos do Jev e do Astra sobre o mesmo estado e a mesma pergunta foram comparados em pares.

  1. Astra · Jev · mesma perguntaU3 · painel de estados fixosdados: Julgamento do JevTypeSafe SystemOne

    U3 (commit do experimento original 2f2b494): 120 estados fixos · 27 grupos de fontes · 240 chamadas. Cada estado e pergunta foi ao Jev e ao Astra como um par; sem ator, ferramentas ou Harbor.

  2. Astra · Jev · mesma perguntaU3 · painel de estados fixosdados: Julgamento do AstraJuiz Astra · modelo ator

    Acertos na mesma amostra: Astra 90/120, Jev 84/120; mediana por chamada 10.446 s contra 0.253 s. É só a latência da chamada de julgamento, não tempo de tarefa nem economia de custo.

  3. U3 · painel de estados fixosdados: resultados do painel · relatórioRelatório de pesquisa do Jev

    Os resultados de acerto e latência do U3 aparecem no relatório técnico público. Aqui não se afirma se este painel faz parte do pacote público E2E.

Pesquisa · execuções E/I

Com o Astra como ator, só a via de julgamento mudou, e um oráculo de regras independente verificou separadamente resultados e entrega.

  1. ator Astra · ferramentas · reparoE/I · Harbor 0.22dados: gerar · ferramentas · repararJuiz Astra · modelo ator

    No E/I sobre o Harbor 0.22, o ator Astra cuida da geração, das chamadas de ferramenta e do reparo; só a via de julgamento muda.

  2. via de julgamento · Astra · Jev · Jev-firstE/I · Harbor 0.22dados: via de julgamento de conclusãoTypeSafe SystemOne

    E7 (commit do experimento original 1f65534): 12 tarefas sintéticas redigidas × 3 configurações × 2 execuções = 72 execuções, 24/24 por configuração. A configuração Jev-first teve 0/24 fallbacks reais, então seu efeito não foi medido.

  3. E/I · Harbor 0.22registrar · observar: verificação independentecorreção · entrega separadasrule oracle

    Um oráculo de regras independente verifica o resultado final, e a entrega final real é contada à parte. Nos 11 pares post hoc do U8n, interrompido, todos os candidatos passaram no oráculo, mas a entrega foi Astra 11/11 e Jev Noul 0/11.

  4. E/I · Harbor 0.22dados: linhagem de falha · reparoE2E-DATA · hashes de origem · públicosjev-v3-20260927

    O pacote público E2E mantém as linhagens de preparação, falha e reparo, com os hashes de origem e da cópia pública separados. Uma cópia pública com dados ocultados não substitui a validação da origem inalterada.

  5. REPRODUCE · model-freejev-v3-20260927dados: recálculo sem modeloRelatório de pesquisa do Jev

    Recalcular números a partir de respostas armazenadas e executar de novo são operações diferentes. O relatório é um relatório técnico público, não um artigo revisado por pares.

Todas as conexões com a mesma espessura. Escolha um fluxo para destacar só o caminho dele, com etapas numeradas.

  • Contínua · direção em que fluem requisições, candidatos e resultados
  • Tracejada · executar, decidir, autorizar, configurar
  • Traço longo e ponto · registros e observação, separados do veredito
  • Linha preta grossa · o fluxo selecionado; os números dão a ordem
  • Caixa · fronteira de código ou de registro, com o caminho no cabeçalho
  • Chip interno · componente dessa fronteira
  • Caixa tracejada · fora dessa fronteira
  • loop · harness de execução
  • escolha de via · veredito · oráculo
  • registros · pacote público
  • transporte · painel de julgamento

As partes superior e inferior são sistemas diferentes. As configurações e resultados da pesquisa não estão todos ativados no caminho atual do runtime; a única ligação comum é que ambas chamam o mesmo modelo Jev (jev-1.13.0).

Admissão no runtime
O runtime mantém estrita a tolerância da soma das probabilidades em 1e-5. Os chamadores de avaliação passam sua própria tolerância registrada em vez de afrouxar o parser do runtime.
Escopo da pesquisa
O U3 mede só chamadas de julgamento; o E/I inclui o ator e o reparo. Seus denominadores nunca se misturam, e os 11 pares do U8n são uma análise post hoc de um estudo interrompido.

Três contratos de decisão

Choice

Retorna
Probabilidade por categoria ou opção
Decide
Conclusão; a intenção e o alvo de uma requisição

Noul

Retorna
P(true) para cada condição
Decide
Contradição; evidência ausente

Score

Retorna
Valor esperado e distribuição em uma escala ordinal fixa
Decide
Ranking dos candidatos gerados

O valor esperado situa um candidato na escala; não é usado como confiança.

Avaliação e conexão

Cada contrato foi avaliado em seu próprio painel de entradas fixo, e alguns foram ligados ao caminho de execução do harness de experimentos para ver como o agente de execução consome o julgamento. No mapa acima, a parte de pesquisa mostra essas execuções; a parte do runtime é o caminho opcional do GEODE atual.

Observações que mudaram o desenho

  1. I5 → I6 · contrato de entrada
    1. Rastrear uma falha de entrega comum mostrou que a entrada do julgamento não tinha o contrato da tarefa e descrevia observações de ferramentas da mesma requisição como contexto passado
    2. O I6 entregou 6/6 em uma execução separada com o código revisado e uma conta nova
  2. U3 · os mesmos 120 pares de estados
    1. Mediana por chamada Astra 10.446 s · Jev 0.253 s; acertos na mesma amostra 90/120 · 84/120
    2. Velocidade e acerto são pesados juntos em cada decisão para definir o escopo de delegação
  3. U2 · probabilidades
    1. As probabilidades do Jev eram mais bem calibradas em magnitude, mas o Astra colocava seus julgamentos errados à frente com mais confiabilidade
    2. Calibração e seleção de erros são medidas separadamente, e o limiar é congelado na partição de seleção
  4. U6a · intenção e alvo
    1. Em 40 famílias redigidas pelo projetista, Jev 216/220 · Astra 220/220, dentro da margem pré-registrada de −5 pp
    2. A classificação fixa de intenção e alvo foi delimitada como a próxima candidata de aplicação
  5. U8n · entrega
    1. 11 pares post hoc de uma execução interrompida: os candidatos reparados passaram no oráculo nos dois braços; entrega Astra 11/11 · Jev Noul 0/11
    2. Julgamentos de evidência ausente bloquearam entregas corretas; a configuração atual do Noul não tem base para ser o único juiz de entrega