GEODE
Autonomous Agent Harness
De la observación a la siguiente acción.
Un arnés local de agentes autónomos al que se pueden encargar investigación, trabajo con archivos y tareas programadas.
Decision Offloading w. Jev
¿Cuáles de las decisiones intermedias que un agente toma a mitad de una tarea pueden delegarse en Jev, un modelo solo de decisión? Esta investigación comprueba si la calidad de la tarea, verificada de forma independiente, se mantiene una vez delegadas, contando la preparación, los juicios repetidos, la reparación y la entrega final. Los primeros pilotos no se explicaban con solo cambiar la llamada de juicio, así que el contrato de entrada, el contrato de decisión, la política de probabilidad y el consumo por parte del agente de ejecución se separaron en experimentos propios.
Runtime · veredicto final
Con Jev seleccionado, la verificación final llama una vez a Jev con una pregunta Choice, y solo pasa un veredicto supported admitido.
judgment_engine · llm | jev
core/config/judgment.pyejecutar · decidir: elegir la víaveredicto final · una pregunta Choicecore/agent/verify.pyLa vía de Jev solo se usa cuando judgment_engine se fija en jev (por defecto llm). provider auto elige TypeSafe y luego OpenRouter, el que tenga clave; sin clave se mantiene la vía del juez LLM. No es un fallback que reintente en otro lugar una solicitud fallida.
veredicto final · una pregunta Choice
core/agent/verify.pydatos: solicitud · candidato · observacionesSystemOne · una llamada · sin fallbackadapters/typesafe.pyLa solicitud original y el candidato se ocultan parcialmente y se acotan, y luego se envían con las observaciones de herramientas como una sola pregunta Choice (supported, contradicted, insufficient_evidence). La llamada de juicio no recibe herramientas (allow_tools=False). Un juicio que necesita imágenes no se envía a Jev y se convierte en verification_error.
SystemOne · una llamada · sin fallback
adapters/typesafe.pydatos: una llamada a SystemOneTypeSafe SystemOneUna llamada, directa a TypeSafe o a través de OpenRouter, sin salto a otro proveedor. Jev nunca se usa como modelo raíz de generación de texto.
admisión · tolerancia de suma 1e-5
adapters/typesafe.pydatos: Choice admitidosolo pasa supported · solo textocore/agent/verify.pyUna respuesta solo se usa tras la admisión de tipo, rango y suma de probabilidades (tolerancia 1e-5). Solo supported pasa; contradicted e insufficient_evidence se convierten en una señal de reintento con una siguiente comprobación fija. Una respuesta que no es end_turn o no supera la admisión se convierte en verification_error, que no es una señal de reintento (should_retry=False). La puntuación es una proyección binaria, no una probabilidad calibrada.
solo pasa supported · solo texto
core/agent/verify.pydatos: passed · reflectionpolítica PostVerify · Stoploop/_lifecycle.pyEl veredicto va a la política PostVerify y Stop del capítulo “Finalización”. Un veredicto es una entrada de esa política, no una autoridad; cuando espera revisión, el candidato solo queda como pending_text y la respuesta final está vacía, así que no se entrega nada.
política PostVerify · Stop
loop/_lifecycle.pyregistrar · observar: filas de veredictotimeline · filas de decisión del ledgermemory · observabilityLas decisiones de veredicto se registran en la timeline y el evidence ledger: registros del runtime, aparte de los artefactos de investigación.
Runtime · reflexión
La misma elección guía la clasificación de evidencia de la reflexión; la frase de la siguiente comprobación la fija el código.
judgment_engine · llm | jev
core/config/judgment.pyejecutar · decidir: misma elecciónreflexión · clasificación de evidencialoop/_reflection.pyLa misma elección se aplica a la reflexión.
reflexión · clasificación de evidencia
loop/_reflection.pydatos: clasificar la evidenciaSystemOne · una llamada · sin fallbackadapters/typesafe.pyLa reflexión usa Jev para clasificar evidencia acotada y añade una siguiente comprobación definida por el código. No cambia las hipótesis de creencia ni la autoconfianza.
SystemOne · una llamada · sin fallback
adapters/typesafe.pydatos: una llamada a SystemOneTypeSafe SystemOneUna llamada, directa a TypeSafe o a través de OpenRouter, sin salto a otro proveedor. Jev nunca se usa como modelo raíz de generación de texto.
admisión · tolerancia de suma 1e-5
adapters/typesafe.pydatos: clasificaciónreflexión · clasificación de evidencialoop/_reflection.pySolo una clasificación admitida actualiza el estado de reflexión; si falla, la siguiente ronda reintenta desde el mismo estado anterior.
Investigación · panel fijo U3
Sin actor, se compararon en pares los juicios de Jev y Astra sobre el mismo estado y la misma pregunta.
Astra · Jev · misma pregunta
U3 · panel de estados fijosdatos: Juicio de JevTypeSafe SystemOneU3 (commit del experimento original 2f2b494): 120 estados fijos · 27 grupos de fuentes · 240 llamadas. Cada estado y pregunta fue a Jev y a Astra como un par; sin actor, herramientas ni Harbor.
Astra · Jev · misma pregunta
U3 · panel de estados fijosdatos: Juicio de AstraJuez Astra · modelo actorAciertos en la misma muestra: Astra 90/120, Jev 84/120; mediana por llamada 10.446 s frente a 0.253 s. Es solo la latencia de la llamada de juicio, no tiempo de tarea ni ahorro de costos.
U3 · panel de estados fijosdatos: resultados del panel · informeInforme de investigación de Jev
Los resultados de exactitud y latencia de U3 aparecen en el informe técnico público. Aquí no se afirma si este panel forma parte del paquete público E2E.
Investigación · ejecuciones E/I
Con Astra como actor, solo cambió la vía de juicio, y un oráculo de reglas independiente comprobó por separado resultados y entrega.
actor Astra · herramientas · reparación
E/I · Harbor 0.22datos: generar · herramientas · repararJuez Astra · modelo actorEn E/I sobre Harbor 0.22, el actor Astra se encarga de la generación, las llamadas a herramientas y la reparación; solo cambia la vía de juicio.
vía de juicio · Astra · Jev · Jev-first
E/I · Harbor 0.22datos: vía de juicio de finalizaciónTypeSafe SystemOneE7 (commit del experimento original 1f65534): 12 tareas sintéticas redactadas × 3 configuraciones × 2 ejecuciones = 72 ejecuciones, 24/24 por configuración. La configuración Jev-first tuvo 0/24 fallbacks reales, así que su efecto no se midió.
E/I · Harbor 0.22registrar · observar: comprobación independientecorrección · entrega por separado
rule oracleUn oráculo de reglas independiente comprueba el resultado final, y la entrega final real se cuenta aparte. En los 11 pares a posteriori de U8n, interrumpido, todos los candidatos superaron el oráculo, pero la entrega fue Astra 11/11 y Jev Noul 0/11.
E/I · Harbor 0.22datos: linaje de fallo · reparaciónE2E-DATA · hashes de origen · públicos
jev-v3-20260927El paquete público E2E conserva los linajes de preparación, fallo y reparación, con los hashes de origen y de copia pública separados. Una copia pública con datos ocultos no sustituye la validación de la fuente sin cambios.
REPRODUCE · model-free
jev-v3-20260927datos: recálculo sin modeloInforme de investigación de JevRecalcular cifras a partir de respuestas guardadas y ejecutar de nuevo son operaciones distintas. El informe es un informe técnico público, no un artículo revisado por pares.
Todas las conexiones con el mismo grosor. Elija un flujo para resaltar solo su recorrido, con pasos numerados.
- Continua · dirección en que fluyen solicitudes, candidatos y resultados
- Discontinua · ejecutar, decidir, autorizar, configurar
- Raya larga y punto · registros y observación, aparte del veredicto
- Línea negra gruesa · el flujo seleccionado; los números dan el orden
- Recuadro · frontera de código o de registro, con su ruta en la cabecera
- Chip interior · componente de esa frontera
- Recuadro discontinuo · fuera de esa frontera
- bucle · arnés de ejecución
- elección de vía · veredicto · oráculo
- registros · paquete público
- transporte · panel de juicio
La parte superior y la inferior son sistemas distintos. Las configuraciones y resultados de la investigación no están todos activados en la ruta actual del runtime; el único vínculo común es que ambas llaman al mismo modelo Jev (jev-1.13.0).
- Admisión en el runtime
- El runtime mantiene estricta la tolerancia de la suma de probabilidades en 1e-5. Quienes llaman desde la evaluación pasan su propia tolerancia registrada en lugar de relajar el analizador del runtime.
- Alcance de la investigación
- U3 solo mide llamadas de juicio; E/I incluye el actor y la reparación. Sus denominadores nunca se mezclan, y los 11 pares de U8n son un análisis a posteriori de un estudio interrumpido.
Tres contratos de decisión
Choice
- Devuelve
- Probabilidad por categoría u opción
- Decide
- Finalización; la intención y el objetivo de una solicitud
Noul
- Devuelve
- P(true) para cada condición
- Decide
- Contradicción; evidencia faltante
Score
- Devuelve
- Valor esperado y distribución en una escala ordinal fija
- Decide
- Clasificación de los candidatos generados
El valor esperado sitúa a un candidato en la escala; no se usa como confianza.
Evaluación y conexión
Cada contrato se evaluó en su propio panel de entradas fijo, y algunos se conectaron a la ruta de ejecución del arnés de experimentos para ver cómo el agente de ejecución consume el juicio. En el mapa de arriba, la parte de investigación muestra esas ejecuciones; la parte del runtime es la ruta opcional del GEODE actual.
Observaciones que cambiaron el diseño
- I5 → I6 · contrato de entrada
- Rastrear un fallo de entrega común mostró que a la entrada del juicio le faltaba el contrato de la tarea y describía las observaciones de herramientas de la misma solicitud como contexto pasado
- I6 entregó 6/6 en una ejecución aparte con el código revisado y una cuenta nueva
- U3 · los mismos 120 pares de estados
- Mediana por llamada Astra 10.446 s · Jev 0.253 s; aciertos en la misma muestra 90/120 · 84/120
- Para cada decisión se sopesan juntas la velocidad y la exactitud para fijar el alcance de la delegación
- U2 · probabilidades
- Las probabilidades de Jev estaban mejor calibradas en magnitud, pero Astra ordenaba primero sus juicios erróneos con más fiabilidad
- La calibración y la selección de errores se miden por separado, y el umbral se congela en la partición de selección
- U6a · intención y objetivo
- En 40 familias redactadas por el diseñador, Jev 216/220 · Astra 220/220, dentro del margen preregistrado de −5 pp
- La clasificación fija de intención y objetivo se acotó como siguiente candidata de aplicación
- U8n · entrega
- 11 pares a posteriori de una ejecución interrumpida: los candidatos reparados superaron el oráculo en ambos brazos; entrega Astra 11/11 · Jev Noul 0/11
- Los juicios de evidencia faltante bloquearon entregas correctas; la configuración actual de Noul carece de base para ser el único juez de entrega