Clase · ingeniería de reservorios · 3 h 45 min

Un agente ajusta la función J

Un agente de terminal (Claude Code) maneja un simulador numérico abierto (OPM Flow) para encontrar la función J que reproduce la saturación de agua de los pozos del campo Volve perfilados antes de producir, con dos pozos posteriores como control: uno sin barrer y uno barrido.

Ver las diapositivas Repositorio en GitHub

Volve

Volve es un campo de petróleo del sector noruego del mar del Norte, cinco kilómetros al norte de Sleipner Øst, bajo 80 m de agua. Se descubrió en 1993 y produjo de 2008 a 2016 desde una plataforma autoelevable, con inyección de agua para sostener la presión. El reservorio es una arenisca del Jurásico Medio, la Formación Hugin, entre 2,700 y 3,100 m de profundidad.

En 2018 Equinor y sus socios liberaron el conjunto de datos del campo completo: unos 40,000 archivos, desde la sísmica hasta la producción diaria de cada pozo.

DatoValor
Descubrimiento y plan de desarrollo1993 y 2005
ProducciónDel 12 de febrero de 2008 a septiembre de 2016
Petróleo producido10.0 millones de Sm³
Agua producida y agua inyectada15.3 y 30.3 millones de Sm³
Pozos de desarrollo22, de los cuales 7 figuran en el archivo de producción

Sm³ es metro cúbico en condiciones estándar. Las fechas y la descripción vienen de la ficha del campo de la Norwegian Offshore Directorate (Sodir); los volúmenes salen de sumar el archivo de producción del operador.

Dónde están los pozos

Mapa del tope de la Formación Hugin con los siete pozos del ejercicio y la entrada de otros once pozos al reservorio
Tope de la Formación Hugin, en metros verticales bajo el nivel del mar (TVDSS, true vertical depth subsea). En color, los siete pozos del ejercicio con su tramo dentro del Hugin; cada uno conserva su color en todas las figuras. En negro, la entrada al Hugin de los otros pozos con tope.

La estructura es un alto de unos 1.5 por 2.5 km, con el tope cerca de 2,800 m en la cresta. Los tres pozos 19 son de exploración, perforados entre 1993 y 1998; los F salen de la plataforma.

Mapas de la discordancia de la base del Cretácico, el tope y la base de la Formación Hugin, y el espesor del Hugin
Los tres horizontes mapeados que hay en espejos públicos, en la misma escala de profundidad, y el espesor del Hugin entre tope y base. No hay superficies públicas de las formaciones que están debajo ni polígonos de falla.
Sección a lo largo de cada pozo con la discordancia, el tope y la base del Hugin, y la trayectoria coloreada por saturación de agua
Cada pozo contra su desplazamiento horizontal, entre los horizontes del mapa. El tramo dentro del Hugin va coloreado por la saturación de agua (Sw) del perfil: claro es petróleo, oscuro es agua.

Cuatro pozos cruzan el Hugin con petróleo, cada uno a una profundidad distinta, y entre los cuatro cubren de 2,818 a 3,101 m. 15/9-19 BT2 lo cruza entero en agua, de 3,149 a 3,275 m. 15/9-F-5 baja por el flanco este hasta 3,144 m. 15/9-F-11 B corre cerca del tope, con un tramo horizontal, y entra y sale del Hugin por fallas.

Qué pozos muestran el estado inicial

Producción mensual de petróleo y agua e inyección de agua del campo, de 2008 a 2016
Producción e inyección mensual del campo, con la fecha de perfilaje de los dos pozos de control y lo que el campo llevaba producido en cada una.

El ajuste usa solo los pozos perfilados antes del primer petróleo, el 12 de febrero de 2008. Dos pozos posteriores quedan como control: el modelo nunca ve su perfil. No son equivalentes, y la diferencia está en cuánto había producido el campo cuando se perforaron.

Pozo de controlPerfiladoPetróleo producidoAgua inyectadaQué controla
15/9-F-5Fines de julio de 20080.5 millones de Sm³, 5% del final0.5 millones de Sm³Estado inicial: el modelo tiene que predecirlo
15/9-F-11 BA mediados de 20137.75 millones de Sm³, 77% del final19 millones de Sm³Barrido: el modelo no puede poner más agua que la que tiene

Cuando se perfiló F-5 el pozo todavía no inyectaba, y el único inyector hasta entonces, F-4, está a 830 m. Cuando se perforó F-11 B el campo tenía un corte de agua del 85%: su saturación de agua es igual o mayor que la inicial, así que sirve para detectar un modelo que pone agua de más, y no para confirmar uno bueno.

PozoPerfiladoHugin (m TVDSS)Arena netaRol
15/9-19 SR19932,861 a 2,88023 mAjuste
15/9-19 A19973,013 a 3,10188 mAjuste
15/9-19 BT219983,149 a 3,275128 mAjuste, todo en agua
15/9-F-1220072,818 a 2,910126 mAjuste
15/9-F-47 y 11 de febrero de 20082,931 a 3,033165 mAjuste
15/9-F-5Fines de julio de 20083,000 a 3,144215 mControl inicial
15/9-F-11 BA mediados de 20132,829 a 3,171431 mControl barrido
Saturación de agua de la arena neta del Hugin contra profundidad en los cinco pozos de ajuste
Lo que el modelo tiene que reproducir. Hay petróleo hasta 3,101 m en 19 A y agua desde 3,149 m en 19 BT2: ningún pozo vio el contacto.

Lectura rápida de perfiles

Lectura rápida de 15/9-F-12: rayos gamma con arena neta, resistividad, densidad y neutrón, porosidad, saturación de agua y volumen de fluidos
15/9-F-12. De izquierda a derecha: dónde hay arena, qué dice la resistividad, cuánta porosidad y cuánta agua. La última pista separa el agua que la roca retiene (irreducible) de la que puede moverse.

Los pozos se perforaron con lodo base aceite, así que no hay potencial espontáneo: la arena se marca con rayos gamma y volumen de arcilla. BVW (bulk volume water) es porosidad por saturación, el agua por unidad de roca.

Lectura rápida de 15/9-F-4: la resistividad cae y el agua móvil crece hacia la base del Hugin
15/9-F-4. La resistividad cae desde unos 3,005 m y por debajo de 3,015 m la Sw media de la arena es 0.51: la zona de transición está dentro del pozo.
Gráfico de Buckles de los cinco pozos de ajuste y saturación de agua contra permeabilidad con la línea de agua irreducible del operador
Izquierda: los puntos sobre una línea de BVW constante tienen solo agua irreducible. Derecha: Sw contra permeabilidad con la relación de agua irreducible (Swirr) del operador.

Con el Swirr del operador hay agua móvil en el 17% de la arena de 19 A, el 27% de F-12, el 37% de F-4 y el 99% de 19 BT2. El agua irreducible depende de la roca; la móvil, de la altura sobre el contacto, y eso es lo que describe una función J.

Un dato de procedencia cambió el ejercicio: la permeabilidad de F-12 en el archivo de 2007 es unas 40 veces menor que la que el operador revisó en 2009. El modelo usa la revisión donde existe.

PVT y presiones

DatoValorFuente
Densidad del petróleo en reservorio720 kg/m³Ensayo de 19 A (1997) y laboratorio sobre el petróleo de F-4 (2008)
Densidad del agua de formación1,065 kg/m³Informe petrofísico del operador (2006)
Presión de burbuja213 a 236 barLaboratorio de F-4 y ensayo de 19 A
Presión inicial336.5 ± 0.5 barEnsayo de 19 A
Temperatura107 a 112 °CLos dos

El petróleo está subsaturado, unos 100 bar por encima de la burbuja, así que el modelo es de dos fases. La diferencia de densidades, 345 kg/m³, da 0.034 bar de presión capilar por metro sobre el nivel de agua libre.

Presión de formación contra profundidad: 16 puntos en agua de 19 BT2, el ensayo de 19 A y la muestra de F-4, con las líneas de agua y petróleo
Las presiones previas a la producción que hay en público. La línea de agua sale de 16 puntos de 19 BT2; la de petróleo pasa por el ensayo de 19 A con 720 kg/m³.
De dónde saleContacto
PerfilesPetróleo hasta 3,101 m, agua desde 3,149 m
Informe del operador (2006), por modelado con función J3,120 ± 15 m
Cruce de las líneas de presión3,196 ± 14 m
Modelo de campo de Equinor (2016)12 regiones de equilibrio: 3,200 m la principal, otras en 3,025 y 2,910 m

El punto de F-4 queda 6.7 bar por encima de la línea de petróleo de 19 A. O la presión del ensayo está referida a otra profundidad, o los dos pozos están en bloques distintos. El ajuste deja el nivel de agua libre (FWL, free water level) como parámetro, entre 3,100 y 3,220 m.

Qué trae el conjunto completo y qué usa la clase

En el conjunto de EquinorEn la clase
Sísmica 3D y 4DNo se usa
Modelo estático y modelo dinámico de simulaciónEl deck de campo, solo para leer cómo inicializa
Perfiles de pozo, crudos e interpretadosEl interpretado de 7 pozos y los crudos de 2
Trayectorias y diseño de pozos4 trayectorias; los pozos de exploración se ubican con sus topes
Datos geológicos y estratigráficos, superficies y grillasLos topes de formación y 3 horizontes
Producción diaria y mensual por pozoLa mensual, para el contexto
Presiones, ensayos e informesEl ensayo de presión de 19 BT2, el informe petrofísico y el de laboratorio

El conjunto completo tiene unos 40,000 archivos y cerca de 5 TB. La clase usa 27 archivos, 53 MB, bajados de espejos públicos y fijados por su hash.

La función J

En equilibrio, la presión capilar crece con la altura sobre el nivel de agua libre. Leverett la normaliza por la calidad de roca, J = Pc · √(k/φ) / (σ · cosθ), y si la roca es de una misma familia J contra Sw es una sola curva.

Tres perfiles de saturación contra altura para rocas de 10, 100 y 1,000 mD, y las mismas tres rocas colapsadas en una sola curva de J
Tres rocas dan tres perfiles de saturación y una sola curva de J. El ajuste son los parámetros de esa curva y el contacto.

El modelo es una fila de celdas, una por metro de pozo dentro del Hugin, cada una con su profundidad y su roca. Entre celdas no hay flujo: OPM Flow equilibra cada una con la función J y el contacto que le asigna el caso. Lo que se ajusta es lo mismo que después inicializa un modelo de campo.

Acercamiento a la base de F-4: el perfil promediado y el simulado dibujados en escalones, uno por celda
Tanto el perfil como el simulado son un valor por celda, constante en todo su espesor. En las figuras de pozo completo los escalones casi no se ven, porque cada celda mide entre 0.3 y 0.9 m verticales.

El modelo de campo de Equinor resuelve esto de otra forma: 12 regiones de equilibrio y presión capilar cero, con el agua inicial cargada como un valor de agua connata por celda. Honra el volumen del geomodelo y no tiene zona de transición.

Dónde vive el ajuste en el deck

-- ===== AJUSTE_GRID.INC
JFUNC
 WATER 2 1* 0.5 0.5 XY /          -- tensión, exponentes de φ y de k
-- ===== AJUSTE_PROPS.INC
SWOF
--   Sw        krw      kro      J
 0.064510 0.000000 1.000000 100000
   ...
 1.000000 1.000000 0.000000 0.298 /
-- ===== AJUSTE_SOLUTION.INC
EQUIL
 3150.000 330 3150.000 0 1* 1* 1* 1* 0 /      -- nivel de agua libre

El deck está partido para que el ajuste se vea. La grilla, la roca y los fluidos van en archivos que no cambian nunca; lo que decide un caso, en cinco archivos chicos. Pasar de un caso a otro es un diff que se lee.

Cómo se mide el ajuste

En cada celda de arena neta se resta la Sw del perfil a la que inicializa el simulador. El RMSE (root mean square error) es la raíz del promedio de esas diferencias al cuadrado, y queda en unidades de Sw. Cuanto más chico, mejor: cero sería calcar el perfil celda por celda, y 0.09 quiere decir que el modelo erra unos 9 puntos de saturación en una celda típica.

A la izquierda, el perfil y el simulado de F-4 sin ajustar y en el mejor caso, con el error sombreado; a la derecha, el RMSE de ajuste y de los dos controles de cada caso
Izquierda: el error es el área entre el perfil y el simulado, acá en F-4, sin ajustar y en el mejor caso. Derecha: el RMSE de cada caso de esta página, con los cinco pozos de ajuste y con los dos pozos de control.

El cuadrado castiga los errores grandes: un tramo con agua donde hay petróleo pesa más que muchos desvíos chicos. El RMSE no llega a cero, porque el perfil cambia metro a metro por cosas que ninguna función de la roca explica.

Cada caso lleva tres números. El de ajuste usa los cinco pozos que el caso ve; el del control inicial, F-5, que no ve y está sin barrer; el del control barrido, F-11 B. Si el primero baja y el segundo sube, el modelo está aprendiendo los pozos y no la roca.

Tres casos y nada más

CasoRMSE de ajusteF-4Control inicialControl barridoFWLParámetros
Base, sin ajustar0.1420.2010.2950.2053,120 m4
J1: una función J y un contacto0.1120.1470.0900.1223,150 m4
OP: el modelo del operador (2006), sin ajustar0.1220.1510.3020.1973,120 m0
J2: la forma del operador, reajustada0.1140.1490.0940.1423,151 m5

Los casos J1 y J2 se ajustaron con un optimizador clásico, de 250 a 400 corridas cada uno. El control inicial es F-5 y el barrido F-11 B; ninguno entra al ajuste.

Caso OP: perfil y simulado en los siete pozos y nube de J contra Sw normalizada
El modelo del informe de 2006, sin tocar un número: siete pozos en una escala de profundidad, el FWL como línea de trazos, y a la derecha la nube de J de cada pozo con la curva.
Caso J1: perfil y simulado en los siete pozos y nube de J contra Sw
Una sola función J con cuatro parámetros. F-5, que el caso nunca vio, queda predicho con 0.090, incluida la subida de Sw entre 3,100 y 3,144 m.

El loop, con las hipótesis a la vista

Diagrama del ciclo: una persona escribe program.md; el agente escribe una hipótesis, edita caso.py y hace commit; evaluar.py corre Flow y la métrica; el agente lee el resultado, decide si queda o se descarta, y todo se ve en bitacora.html
Una adaptación de autoresearch: una persona escribe las reglas, el agente edita un solo archivo, y la métrica y los datos no se tocan.

En el último tramo el agente trabaja solo, hasta 12 experimentos o 20 minutos. Cada experimento es un commit cuyo mensaje lleva la hipótesis, el mecanismo físico y la predicción, escritos antes de correr. Si mejora y es simple, queda; si no, se deshace. La bitácora guarda también lo descartado.

En el ensayo del 5 de octubre de 2026 el agente hizo 12 experimentos en 9 minutos y conservó 3. Terminó con una función J de dos parámetros, Sw = J^−0.284 y el contacto en 3,150 m, con RMSE de ajuste 0.112, 0.103 en el control inicial y 0.121 en el barrido: casi lo mismo que el caso de cuatro parámetros ajustado con optimizador. Las nueve hipótesis descartadas no llegaron al umbral de 0.004 por parámetro o empeoraron el ajuste.

El ensayo se hizo cuando el único control era F-11 B; los números de F-5 se calcularon después, corriendo de nuevo el caso de cada commit. Muestran algo que el ajuste solo no ve: los experimentos con el contacto en 3,120 m dan cerca de 0.29 en el pozo sin barrer, y los que lo ponen en 3,150 m, cerca de 0.10. Con los cinco pozos de ajuste la diferencia entre los dos contactos es de 0.001.

Su informe señala que la base de F-4 concentra la mitad del error y deja planteado, como hipótesis, que F-4 y 19 A tienen contactos distintos.

Cuadro del loop: hipótesis, perfiles, función J y error

Cada cuadro es un experimento: arriba la hipótesis, el mecanismo, la predicción y la lectura posterior; abajo los perfiles de los siete pozos y la nube de J con la curva del caso; a la derecha, el error de ajuste y el de los dos controles.

N.ºHipótesisPredicciónAjusteControl inicialControl barridoVeredicto
1base0.1420.2950.205Queda
2La curva J no tiene meseta de agua irreducible: Sw = a·J^-b (a = 0.68, b = 0.22), con el FWL del operador en 3,120 mrmse_ajuste de 0.1424 a 0.113 con un parámetro menos (3); F-4 de 0.201 a 0.146, 19 SR de 0.082 a 0.046, 19 BT2 queda en 0.1100.1120.2960.176Queda
3El nivel de agua libre está en 3,150 m, donde empieza el agua de 19 BT2, y no en los 3,120 m del operador (a = 0.83, b = 0.25)rmse_ajuste de 0.1125 a 0.1116, menos que el umbral de 0.002; 19 A de 0.082 a 0.075; si se cumple, los perfiles no distinguen un FWL entre 3,120 y 3,150 m0.1120.0930.120Se descarta
4El agua irreducible depende de la roca, como en el modelo del operador: Swirr = 0.156 − 0.038·log10(k), y sobre ella Swn = 0.48·J^-0.215rmse_ajuste de 0.1125 a 0.1116 con dos parámetros más (5): no llega a 0.004 por parámetro; 19 A de 0.082 a 0.067. Si se cumple, la función J ya lleva la dependencia con k y el Swirr por celda sobra0.1160.2830.182Se descarta
5La curva no necesita coeficiente: Sw = J^-b con b = 0.284, que llega a Sw = 1 en J = 1, y el FWL en 3,150 m, el tope del agua de 19 BT2rmse_ajuste de 0.1125 a 0.112 con un parámetro menos (2: b y FWL); 19 A de 0.082 a 0.087, F-4 de 0.145 a 0.1430.1120.1030.121Queda
6La saturación depende solo de la altura sobre el contacto: una curva de Pc en bar igual para toda la roca, sin JFUNC (Sw = (Pc/0.09)^-0.38)rmse_ajuste de 0.1121 a 0.1235 con un parámetro más (3); F-4 de 0.142 a 0.167 y F-12 de 0.092 a 0.100. Si se cumple, el escalado de Leverett vale 0.011 de RMSE0.1240.1400.130Se descarta
7Hay dos tipos de roca con curva J distinta: por debajo de 28 mD el exponente es 0.339 y por encima 0.275 (dos regiones SATNUM)rmse_ajuste de 0.1121 a 0.110 con dos parámetros más (4): 0.001 por parámetro, no llega a 0.004; 19 A de 0.088 a 0.0750.1100.0980.118Se descarta
8El agua irreducible es agua ligada a la arcilla: Swirr = 0.20·VSH por celda (SWL), y sobre ella Swn = J^-0.316rmse_ajuste de 0.1121 a 0.1115 con un parámetro más (3): menos que 0.004; F-4 de 0.142 a 0.141 y F-12 empeora de 0.092 a 0.093. Si se cumple, el agua de la base de F-4 no es agua de arcilla0.1130.0860.128Se descarta
9El nivel de agua libre es el del informe del operador, 3,120 m, con la misma curva Sw = J^-b (b = 0.30)rmse_ajuste de 0.1121 a 0.115, peor por 0.003; 19 A de 0.088 a 0.113 y F-4 de 0.142 a 0.141. Si se cumple, con esta curva los perfiles prefieren el contacto profundo0.1150.3140.177Se descarta
10La permeabilidad pesa menos que en Leverett: Pc = J·σ·φ^0.5/k^0.41 en JFUNC, con Sw = J^-0.309rmse_ajuste de 0.1121 a 0.1118 con un parámetro más (3): no llega a 0.002; F-12 de 0.092 a 0.090. Si se cumple, el 0.5 de Leverett alcanza y no hay que tocar JFUNC0.1120.1060.118Se descarta
11La arena arcillosa (VSH mayor que 0.215) tiene su propia curva, con exponente 0.259 contra 0.303 de la arena limpia (dos regiones SATNUM)rmse_ajuste de 0.1121 a 0.110 con dos parámetros más (4): 0.001 por parámetro, no llega a 0.004; F-4 de 0.142 a 0.134 y 19 A empeora de 0.088 a 0.0930.1100.1080.129Se descarta
12La curva tiene un umbral de entrada real y forma de hipérbola de Thomeer: Sw = 1 hasta J = 2.1 y después 1 − exp(−0.48/log10(J/2.1))rmse_ajuste de 0.1121 a 0.113, peor, con un parámetro más (3); 19 A de 0.088 a 0.075 y F-4 de 0.142 a 0.148. Si se cumple, la nube de J no muestra umbral de entrada y la ley de potencias queda0.1130.0920.125Se descarta

El contacto de F-4: ¿inclinado, o agua colgada?

En F-4 hay agua móvil desde unos 3,015 m: Sw 0.34 a 3,020 m en roca de 3,000 mD, que a esa altura sobre el contacto regional debería estar en agua irreducible. En 19 A, a 960 m de distancia, hay petróleo con Sw 0.26 hasta 3,101 m. Con un solo contacto, F-4 es el pozo peor ajustado en todos los casos.

Hipótesis 1: un contacto inclinado

RMSE de ajuste, de F-4 y de los dos controles contra la inclinación del nivel de agua libre
Cada punto es un ajuste completo con esa inclinación fija, de 19 A hacia F-4.

Con 90 m por kilómetro el RMSE de ajuste baja de 0.114 a 0.097. El control inicial pasa de 0.094 a 0.236 y el barrido de 0.142 a 0.193: el modelo pone agua donde F-5 tiene petróleo sin barrer y donde F-11 B todavía lo conserva. La respuesta de los controles es errática, porque depende de por dónde pasa el plano en cada pozo: con 120 m por kilómetro vuelven a 0.097 y 0.143. Sostener 90 m por kilómetro pediría unos 3 bar por kilómetro de gradiente en el acuífero.

Hipótesis 2: agua colgada en una cubeta

La otra lectura es que todo es una misma estructura y que un bajo local de la base del Hugin retuvo agua que el petróleo no pudo desplazar: un contacto local por encima del regional, como un lago en una montaña.

Mapa de la base del Hugin alrededor de F-4 con la cubeta contra la falla, y sección de oeste a este con el nivel de derrame, el nivel del modelo de campo y el del ajuste
La base del Hugin mapeada, llenada como un terreno. En negro, los escalones de más de 39 grados, tomados como falla sellante. En naranja, la cubeta que queda contra la falla.

La base del Hugin inclina hacia una falla justo donde la cruza F-4. Si la falla sella, queda una cubeta de 0.07 km² con nivel de derrame en 3,016 m. Tomando como falla solo los escalones de más de 45 grados, el derrame queda en 3,024 m; con 56 grados la cubeta no cierra. En los otros cuatro pozos de ajuste no aparece ninguna con esos umbrales.

RMSE de ajuste, de F-4 y de los dos controles contra el nivel de agua libre local bajo F-4
El mismo caso de una función J, con una segunda región de equilibrio para F-4 y su nivel de agua libre barrido de 2,990 a 3,100 m.
Caso P: perfil y simulado en los siete pozos con un nivel de agua local bajo F-4, y nube de J contra Sw
El mejor caso: una sola función J para los siete pozos, el contacto regional en 3,146 m y un nivel local en 3,033 m para F-4. La transición de la base de F-4 queda reproducida y sus puntos, en rosa, caen sobre la misma curva de J que el resto. El número bajo cada pozo es su RMSE.
HipótesisRMSE de ajusteF-4Control inicialControl barridoQué pide
Un contacto0.1120.1470.0900.122Nada
Contacto inclinado 90 m por km0.0970.1080.2360.1933 bar por kilómetro en el acuífero
Agua colgada en F-40.0900.0900.0750.131Una falla que selle y una base que no drene

Con el agua colgada, el pozo sin barrer queda predicho con 0.075, mejor que con un solo contacto: la función J ya no tiene que estirarse para explicar el agua de la base de F-4.

El perfil pide el nivel local en 3,033 m, la base del Hugin en F-4. Queda entre 9 y 17 m por debajo del derrame de la cubeta y 8 m por debajo del contacto de 3,025 m que el modelo de campo de Equinor le pone a una región propia, rotulada "purged water". Son tres estimaciones independientes dentro de 17 m.

Un solo pozo no distingue una cubeta dentro de la misma estructura de un bloque separado con su propio contacto: en los dos casos F-4 tiene un nivel local. Lo decide la presión del petróleo, que en una cubeta es la misma que en el resto del campo.

La clase, bloque por bloque

BloqueTiempoQué pasa
El campo y el dataset25 minMapa, superficies, secciones, producción y qué pozos sirven para ajustar
Lectura rápida de perfiles20 minArenas, porosidad, agua como BVW, agua irreducible y agua móvil
PVT y presiones15 minDensidades, gradientes y los contactos que circulan
Instalación20 minOPM Flow en un contenedor, el entorno de Python y Claude Code
Repaso de J y el deck25 minQué es la función J; el agente lee el deck y muestra dónde vive el ajuste
Ajuste de J40 minUna J, el modelo del operador y su forma reajustada; el pozo de control
Loop con hipótesis a la vista30 minEl agente prueba variantes solo y escribe cada hipótesis antes de correr
El contacto de F-415 minContacto inclinado contra agua colgada en una cubeta de la base
Controles y cierre15 minQué revisa y firma el ingeniero

Con dos pausas de 10 minutos. Todo corre en la máquina del docente; el repositorio queda para repetirlo.

Qué no se puede afirmar con esto

Para repetirlo

git clone https://github.com/mpodeley/clase-opm-agentes.git
cd clase-opm-agentes
instalacion/instalar.sh
instalacion/verificar.sh
uv run evaluar.py --fragmento

Hace falta Podman o Docker, uv, git y Claude Code. El detalle está en el README del repositorio.