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.
Cambiar una política a la vez; mantener fija la medición.
Un bucle aparte que se ejecuta fuera del arnés. Desde la línea base aplica un cambio de política tipado, y la misma auditoría de Petri y la misma puerta deciden entre KEEP y restaurar.
Un cambio → auditoría
Con el contrato de ejecución fijado, cambia una política permitida y GEODE se audita con el mismo aparato. No es el producto en ejecución reescribiéndose a sí mismo.
Aprobación del operadorejecutar · decidir: aprobacióncontrato de ejecución · modelos · presupuesto
program.mdUna ejecución solo empieza tras aprobarse las llamadas reales y el presupuesto fijo. Sin aprobación, solo se prepara el contrato y se comprueba offline.
contrato de ejecución · modelos · presupuesto
program.mdejecutar · decidir: contrato de ejecuciónbucle de presupuesto fijotrain.pyLas revisiones de semillas y rúbrica, los modelos de rol y las fuentes de credenciales, la configuración de medición, los presupuestos de iteraciones, tiempo y costo, la política de promoción y las condiciones de parada se fijan antes de la ejecución.
bucle de presupuesto fijo
train.pyejecutar · decidir: pedir un candidatomutator · un candidatoloop/mutateUna hipótesis respaldada por evidencia cambia una superficie de política permitida.
7 superficies · sin hiperparámetros
loop/mutatedatos: cambio de política · ID de mutaciónpolítica respaldada en archivostate/policiesSolo pueden cambiar siete superficies: prompt envolvente, política de herramientas, consejos de descomposición, reflexión, metadatos del catálogo de skills, contrato del agente (role, system_prompt, tools) y descripciones y pistas de herramientas. Los cambios de hiperparámetros se rechazan tanto al analizar como al aplicar. Aplicar una política, volver a medir y un commit opcional son pasos separados, así que una aplicación no es en sí una auditoría.
conjunto de semillas · rúbrica fijos
prepare.pyejecutar · decidir: semillas · rúbrica fijassubproceso de auditoría · timeout fijomeasure.pyprepare.py es la referencia fija del conjunto de semillas y la rúbrica; los candidatos no la cambian. Cambiar un módulo de medición cambia la medición, no el sistema bajo prueba.
política respaldada en archivo
state/policiesdatos: política seleccionadaOVERRIDE · STRICT por políticameasure.pymeasure.py lee el archivo de política seleccionado en ese momento y lo pasa al entorno de auditoría.
OVERRIDE · STRICT por política
measure.pyejecutar · decidir: rutas de override por políticacore · cargadores de políticasmeasure.py pasa al subproceso de auditoría el envoltorio y las rutas override y strict de cada política, y el cargador de políticas correspondiente del runtime lee cada una. El envoltorio (GEODE_WRAPPER_OVERRIDE → system_prompt) es una rama; las claves de entorno adicionales no amplían las siete superficies modificables. Un archivo editado no prueba por sí solo que el candidato llegara al objetivo; lo confirma el diagnóstico de la evidencia de auditoría.
subproceso de auditoría · timeout fijo
measure.pyejecutar · decidir: audit subprocessAuditoría de PetriLa auditoría se ejecuta con un timeout y un presupuesto fijos, que nunca cambian a mitad de una comparación. Una salida ausente es un hueco de diagnóstico, no una puntuación de cero.
Auditoría de Petridatos: diálogo de auditoríacore · cargadores de políticas
El auditor conversa con GEODE mediante el escenario de la semilla, y el juez puntúa la transcripción.
Veredicto → conservar · restaurar
En comparación con la línea base del mismo contrato, las regresiones críticas y la regla de promoción deciden KEEP; un cambio rechazado se restaura a su valor anterior registrado.
Auditoría de Petridatos: puntuaciones por dimensiónregresión crítica · penalizaciones
fitness.pyLas puntuaciones vienen con las dimensiones ausentes y el número de muestras. Una dimensión no medida no se lee como una observación.
baseline · provenance
ledger.pydatos: baseline · provenanceregresión crítica · penalizacionesfitness.pyLa comparación solo usa una línea base con el mismo contrato y el mismo epoch registrados. Una rama nueva de Git no aísla el estado de la línea base.
regresión crítica · penalizaciones
fitness.pydatos: fitness · motivos de regresión_should_promote · KEEPgate.pyPrimero se comprueban las regresiones en dimensiones críticas y las penalizaciones auxiliares, y luego la prueba de margen o de dimensión objetivo. Un escalar positivo por sí solo nunca promueve.
_should_promote · KEEP
gate.pydatos: KEEP · siguiente línea basebaseline · provenanceledger.pyUn candidato conservado se convierte en la siguiente línea base. Un candidato conservado localmente no es un merge en el repositorio ni una versión publicada.
_reject_and_revert
gate.pyejecutar · decidir: REJECT · restaurar lo anteriorpolítica respaldada en archivostate/policiesEn un candidato creado por el runner, se restaura la sección de política registrada con su ID de mutación, y una restauración fallida se marca. Los cambios manuales no se restauran automáticamente, y una restauración incierta detiene el siguiente candidato.
_should_promote · KEEP
gate.pyregistrar · observar: fila de resultado · veredictofilas de results · mutationsledger.pyLa medición, el veredicto y la procedencia se escriben una vez como filas de resultados; las filas históricas nunca se reescriben.
Controles · medición replicada
Ejecución de June 2026: un brazo never sin cambios y una línea base K=5 midieron por separado el ruido de auditoría, y un KEEP de auditoría única se volvió a comprobar con réplicas.
run-2606-broken-tool-useejecutar · decidir: tres brazosbucle de presupuesto fijo
train.pyLa ejecución del June 3–4, 2026 separó la deriva del efecto de la mutación con tres brazos: never (sin cambios), random (aceptación aleatoria) y gate (aceptado por el veredicto). El objetivo fue GPT-5.5; el auditor y el juez fueron Claude Opus 4.8.
línea base gen-0 · media de 5 auditorías
run-2606-broken-tool-usedatos: línea base media K=5baseline · provenanceledger.pyLa línea base gen-0 fue la media de cinco auditorías (Petri broken_tool_use, menor es mejor, media 2.667).
brazo never · control sin cambios
run-2606-broken-tool-useejecutar · decidir: medir sin cambiossubproceso de auditoría · timeout fijomeasure.pyEl brazo never derivó a una media de 3.38 sin ningún cambio de política (10 auditorías, menor es mejor): evidencia directa de que el ruido de auditoría superaba el efecto de la mutación.
--replicate K · nueva medición
train.pyejecutar · decidir: --replicate Ksubproceso de auditoría · timeout fijomeasure.pyEl mismo candidato se mide K veces más en las mismas condiciones para descartar una auditoría única afortunada.
replicate · volver a medir un KEEP único
run-2606-broken-tool-useejecutar · decidir: volver a medir → revertir_reject_and_revertgate.pyUn candidato conservado con una sola auditoría gate (1.6) midió 3.0–3.8 en las réplicas, peor que la línea base, así que se restauró el campeón 2.667. La ejecución concluyó que no hubo una mejora clara.
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 · ejecución de medición
- contrato · veredicto
- política · registros
- cambio · objetivo auditado · registro de ejecución
El driver de SIL de GEODE se llama autoresearch; su forma prepare/train/program y su presupuesto fijo se inspiran en el autoresearch de Karpathy. No cambia ningún peso del modelo, y el aparato y el presupuesto se mantienen fijos durante una comparación.
- Qué puede cambiar
- Siete superficies: prompt envolvente, política de herramientas, consejos de descomposición, reflexión, metadatos del catálogo de skills, contrato del agente y descripciones y pistas de herramientas. El evaluador, el presupuesto, las semillas y la rúbrica se mantienen fijos durante una comparación.
- Alcance del registro de ejecución
- Los valores de run-2606 son las medias Petri broken_tool_use de esa ejecución (menor es mejor). No son evidencia de una mejora acumulada de SIL ni de generalización.