El LLM decide.
El motor calcula.
Nadie miente.The LLM decides.
The engine computes.
Nobody lies.
petro-agent convierte registros de pozo (LAS) en informes petrofísicos completos — Vsh, porosidad, saturación, net pay, incertidumbre — sin intervención humana en el proceso. Cada número sale de código determinista; el modelo solo elige métodos, intervalos y análisis, y redacta. Cuando el resultado no es creíble, el informe lo dice en su portada. petro-agent turns well logs (LAS) into complete petrophysical reports — Vsh, porosity, saturation, net pay, uncertainty — with no human intervention in the process. Every number comes from deterministic code; the model only chooses methods, intervals and analyses, and writes prose. When the result isn't credible, the report says so on its front page.
El problemaThe problem
Un petrofísico que interpreta un pozo toma decenas de decisiones — qué método de arcillosidad, qué intervalo analizar, qué modelo de saturación — y las respalda con evidencia. Los LLM son buenos eligiendo y redactando, y pésimos calculando de forma fiable. La pregunta del proyecto: ¿puede un sistema producir el informe completo, con cada afirmación atada a evidencia trazable, si separamos con un muro las decisiones (LLM) de los números (motor determinista)? A petrophysicist interpreting a well makes dozens of decisions — which shale-volume method, which interval, which saturation model — and backs them with evidence. LLMs are good at choosing and writing, and terrible at reliable arithmetic. The project's question: can a system produce the full report, every claim tied to traceable evidence, if we wall off the decisions (LLM) from the numbers (deterministic engine)?
No promete "siempre correcto". Promete algo más útil: honesto sobre cuánto acierta, y demostrable — versiones, seeds, hashes de configuración y un ledger JSON por pozo que registra cada decisión y cada degradación. It doesn't promise "always right." It promises something more useful: honest about how much it gets right, and provably so — versions, seeds, config hashes, and a per-well JSON ledger recording every decision and every degradation.
El invarianteThe invariant
La prueba de que el muro aguanta: cuando dos modelos distintos toman la misma decisión (mismo método, mismo intervalo), el net pay resultante es bit-idéntico — 1,200 ft en el pozo Ken & Travis Schaben No. 1-31 (API 15-135-25945) para gemma-4-26b y nemotron-ultra, calculado dos veces por el mismo motor. La variación entre informes es 100% variación de criterio, nunca de aritmética. Proof the wall holds: when two different models make the same decision (same method, same interval), the resulting net pay is bit-identical — 1,200 ft on well Ken & Travis Schaben No. 1-31 (API 15-135-25945) for both gemma-4-26b and nemotron-ultra, computed twice by the same engine. Variation across reports is 100% variation in judgment, never in arithmetic.
MetodologíaMethodology
La mejor forma de entender el sistema es seguir el viaje de un pozo: entra como un archivo LAS crudo y sale como un informe donde cada cifra tiene un origen trazable. En cada parada del camino hay un responsable declarado — el motor determinista (azul) hace todo lo que se puede probar con un test, y el agente (ámbar) aporta lo único que el código no puede aportar: criterio. The best way to understand the system is to follow a well's journey: it enters as a raw LAS file and leaves as a report where every figure has a traceable origin. At each stop there is a declared owner — the deterministic engine (blue) does everything a test can prove, and the agent (amber) contributes the one thing code cannot: judgment.
Tres mecanismos hacen el loop medible y seguro: (1) el frontier de
acciones solo ofrece pasos físicamente válidos (PHIE exige Vsh; Sw exige PHIE) — la
física no es una opinión; (2) fallbacks deterministas señalizados: si el modelo calla,
el default canónico avanza un peldaño y queda registrado como default, no como mérito del
agente; (3) evidencia antes de elegir: el agente puede pedirle al motor la comparación
numérica de todos los métodos validados (compare_methods) antes de comprometerse
con uno.
Three mechanisms make the loop measurable and safe: (1) the action
frontier only offers physically valid steps (PHIE requires Vsh; Sw requires PHIE) —
physics is not an opinion; (2) signaled deterministic fallbacks: if the model goes
silent, the canonical default advances one rung and is recorded as a default, never as the
agent's merit; (3) evidence before choosing: the agent can ask the engine for the
numeric comparison of every vetted method (compare_methods) before committing
to one.
{
"sw_summary": { "method": "sw_simandoux", "method_source": "agent",
"methods": { "sw_archie": 0.62, "sw_simandoux": 0.56, "sw_indonesia": 0.58 } },
"run.analyst_loop": { "authored_core": 3, "default_steps": 0, "reclosed_steps": [] }
}
Extracto real de un ledger: la elección del agente, la evidencia que vio, y cuánto del trabajo fue suyo — todo auditable desde el artefacto persistido. Real ledger excerpt: the agent's choice, the evidence it saw, and how much of the work was its own — all auditable from the persisted artifact.
ResultadosResults
1 · El techo era el entorno, no los modelos 1 · The ceiling was the environment, not the models
Con la interpretación precomputada (modo revisor), cuatro familias frontier distintas convergían al mismo perfil: 1 elección por pozo, 0 análisis opcionales. Al quitar el precomputado (modo autor), los mismos modelos saltaron a autorar los 3 métodos core con evidencia comparativa y añadir 4 análisis opcionales: With the interpretation precomputed (reviewer mode), four different frontier families converged to the same profile: 1 choice per well, 0 optional analyses. Removing the precompute (author mode), the same models jumped to authoring all 3 core methods with comparison evidence and adding 4 optional analyses:
Ver como tablaView as table
| ModeloModel | reviewer (v7) | author (v8) | authored core | opcionalesoptionals |
|---|---|---|---|---|
| nemotron-ultra | 1.0 | 7.0 | 3/3 | 4 |
| nemotron-super | 1.0 | 5.25 | 3/3 | 0–4 |
| gemma-4-26b | n/a | 7.0 | 3/3 | 4 |
gemma-4-26b no tiene barra «revisor»: su corrida v7 nunca completó (429 upstream persistente del endpoint gratuito, documentado) — se muestra solo su modo autor.gemma-4-26b has no “reviewer” bar: its v7 run never completed (persistent upstream 429 on the free endpoint, documented) — only its author mode is shown.
2 · La identidad analítica es del modelo, no de la seed 2 · Analytical identity belongs to the model, not the seed
Re-corrimos los cuatro modelos de pago con seeds de decodificación distintas (13/101/777/2025 vs 42), motor pineado. Cada modelo repitió su cuaterna de pozos y su perfil de conducta; la seed solo agitó la elección dentro de la familia shaly-sand (gpt-5 flipeó Simandoux↔Indonesia en 3/4 pozos; qwen3-max fue 100% reproducible). Donde la elección se repitió, el número fue bit-idéntico. We reran the four paid models with different decoding seeds (13/101/777/2025 vs 42), engine pinned. Each model repeated its well quartet and behavioral profile; the seed only jittered the choice within the shaly-sand family (gpt-5 flipped Simandoux↔Indonesia on 3/4 wells; qwen3-max was 100% reproducible). Wherever the choice repeated, the number was bit-identical.
3 · La decisión que ningún modelo tomaba — medida limpiamente (estado a v10) 3 · The decision no model would make — cleanly measured (as of v10)
Restringir el intervalo de análisis (excluir el overburden que infla la porosidad) es la decisión madre — y ningún modelo free la tomó. Ejercimos las tres palancas del entorno en tres versiones sucesivas y el resultado aísla el límite: Restricting the analysis interval (excluding the overburden that inflates porosity) is the master decision — and no free model made it. We exercised all three environment levers across three successive versions, and the result isolates the limit:
| VersiónVersion | Información visibleInformation visible | Zona elegidaZone chosen | Fijación (pasos perdidos)Fixation (wasted steps) |
|---|---|---|---|
| v8 | objeciones invisibles (validación post-loop)objections invisible (post-loop validation) | 0/11 | ~1 |
| v9 | visibles, con una leyenda FALSA para este casovisible, with a legend FALSE for this case | 0/12 | ~3 |
| v10 | visibles y veraces por validadorvisible and truthful per validator | 0/8 | ~1 |
| v10 (frontier, pago)(frontier, paid) | mismo entorno verazsame truthful environment | 1/16 🎯 | ~1–3 |
Y el modo autor reveló personalidades analíticas nítidas en los frontier: gpt-5 explora hasta agotar el presupuesto (hit_max en 3/4 pozos); deepseek-r1 ejecuta directo (6–10 pasos, 3/3 métodos propios); qwen3-max equilibra — y zonifica; opus-4.8 observa obsesivamente (8× perfiles de profundidad + 5–7× lecturas de figuras por pozo) sin comprometer una sola elección. Author mode also revealed sharp analytical personalities across frontier models: gpt-5 explores until the budget runs out (hit_max on 3/4 wells); deepseek-r1 executes directly (6–10 steps, 3/3 own methods); qwen3-max balances — and zones; opus-4.8 observes obsessively (8× depth profiles + 5–7× figure readings per well) without committing a single choice.
4 · Calibración contra el mundo real (VOLVE) 4 · Calibration against the real world (VOLVE)
Contra la interpretación petrofísica pública de VOLVE (Mar del Norte): correlaciones VSH r=0.96, PHIE r=0.91, SW r=0.87; y tras incorporar la incertidumbre estructural de método, las bandas P10–P90 pasaron de sobreconfiadas (cobertura 2–35%) a calibradas (88–98% frente al 80% nominal). Against VOLVE's public petrophysical interpretation (North Sea): correlations VSH r=0.96, PHIE r=0.91, SW r=0.87; and after folding in structural method uncertainty, P10–P90 bands went from overconfident (2–35% coverage) to calibrated (88–98% vs the 80% nominal).
La evolución v7→v14: las condiciones naturales del ingeniero The v7→v14 evolution: a real engineer's working conditions
La segunda mitad del proyecto probó una tesis simple: dale al agente lo que un ingeniero real da por sentado — ver su data y su trabajo cuantas veces quiera, probar conjeturas, aprender de su propio fracaso, hacer borradores, pensar antes de responder — y mide qué cambia. Cada palanca fue honesta (hechos, nunca dirección) y cada una produjo su número: The project's second half tested a simple thesis: give the agent what a real engineer takes for granted — re-reading its data and its own work at will, testing conjectures, learning from its own failure, drafting, thinking before answering — and measure what changes. Every lever was honest (facts, never direction), and each produced its number:
| Fase experimentalExperimental phase | Condición añadidaCondition added | Efecto medidoMeasured effect |
|---|---|---|
| GA (v11) | estudio de campo + evidencia comparativa + notas entre pozosfield study + comparison evidence + cross-well notes | la zona aparece: 1/24 → 13/15 pozosthe zone appears: 1/24 → 13/15 wells |
| GB (v12) | journal de observaciones (memoria intra-pozo) + digest de análisisobservation journal (within-well memory) + analysis digest | relecturas desperdiciadas: ~80% → 0wasted re-reads: ~80% → 0 |
| GC (v13) | reintento con su propio fracaso + hipótesis + error localizadoretry on its own failure + hypotheses + localized error | las zonas se MUEVEN: gpt-5 cruza a 2,953–4,350 ft y refina a 3,412–4,265zones MOVE: gpt-5 crosses to 2,953–4,350 ft and refines to 3,412–4,265 |
| GD (v14) | ciclo de borradores (relee su informe) + thinking modedraft cycle (rereads its report) + thinking mode | 49 revisiones de prosa, 2 rechazadas por el verificador; ultra free: 0→3/3 zonas profundas; opus: 4/4, precisión 1.0049 prose revisions, 2 rejected by the verifier; free ultra: 0→3/3 deep zones; opus: 4/4, precision 1.00 |
Tres narrativas, un mismo datoThree narratives, one dataset
El proyecto completo se puede leer por tres puertas, cada una con su página dedicada: The full project reads through three doors, each with its own page:
Para el ingeniero petrofísicoFor the petrophysical engineer
Para el ingeniero de softwareFor the software engineer
El proceso (bitácora)The process (journal)
Informes finalesFinal reports
Todos los informes se publican íntegros, tal como los produjo cada analista. Una aclaración importante: aquí hay dos manos de Anthropic distintas. La vara (el summit) la escribió claude-fable-5 — el mismo modelo que construyó el sistema, y por eso su techo se declara CONTAMINADO. Los agentes evaluados (claude-opus-4.8, glm-5.2, nemotron-ultra) corrieron sin ese contexto: mismo logo en dos de las fichas, roles opuestos. Every report is published unabridged, exactly as each analyst produced it. One important clarification: there are two different Anthropic hands here. The yardstick (the summit) was written by claude-fable-5 — the same model that built the system, which is why its ceiling is declared CONTAMINATED. The evaluated agents (claude-opus-4.8, glm-5.2, nemotron-ultra) ran without that context: same logo on two of the cards, opposite roles. Nota de unidades: la narrativa de este sitio usa pies (ft); los informes por pozo enlazados abajo se presentan en metros (SI), tal como los produce el motor determinista, sin reconvertir. Units note: this site's narrative uses feet (ft); the per-well reports linked below are shown in metres (SI), exactly as the deterministic engine produces them, unconverted.
Informe de campo — el informe principalField report — the main report · claude-fable-5 · summit v3
claude-opus-4.8 · Anthropic — el mejor agente del proyecto (4/4 zonas, precisión 1.00)the project's best agent (4/4 zones, precision 1.00)
May Schneider No. 4 · claude-opus-4.8 + thinking 🏆
May Schneider No. 4 · claude-fable-5 · summit v3
glm-5.2 · Z.ai — la frontera calidad/costo (~$2 el batch)the quality/cost frontier (~$2 per batch)
KT Schaben No. 2-31 · glm-5.2 + thinking
nemotron-ultra · NVIDIA — el mejor gratuito ($0, co-líder bajo la vara hostil)the best free model ($0, co-leader under the hostile yardstick)
KT Schaben No. 2-31 · nemotron-ultra free + thinking
El veredicto: ¿junior o senior?The verdict: junior or senior?
Este proyecto tiene dos lectores técnicos, y el mismo dato les responde preguntas distintas. Al petrofísico: ¿me va a reemplazar una IA? Al desarrollador: ¿qué aprendimos construyendo un sistema de agentes que se puede medir? This project has two technical readers, and the same data answers a different question for each. To the petrophysicist: will an AI replace me? To the developer: what did we learn building an agent system that can actually be measured?
Si eres petrofísico: un junior sólido rozando mid — cuando el modelo puede If you're a petrophysicist: a solid junior nearing mid — when the model can
A mitad del proyecto este veredicto decía "no llegan a junior en lo decisivo": la zona de análisis apareció 1 vez en 47 pozos-corrida. El ciclo final lo cambió: con las condiciones de trabajo de un ingeniero real (memoria, conjeturas, aprender del propio fracaso, borradores, thinking), los mejores agentes zonean sistemáticamente el bloque productor — y el mejor (opus-4.8) eligió 4/4 ventanas 100% dentro de mi roca productora, más apretadas que las mías, con porosidad plausible y pays realistas de 7–43 ft. Su perfil es revelador: acepta los defaults de método del motor y concentra TODO el juicio en dónde está la roca — el patrón de un senior delegando lo mecánico. Mid-project this verdict read "they don't reach junior at what matters": the analysis zone appeared once in 47 well-runs. The final cycle changed it: given a real engineer's working conditions (memory, conjectures, learning from their own failure, drafts, thinking), the best agents zone the producing block systematically — and the best one (opus-4.8) chose 4/4 windows sitting 100% inside my producing rock, tighter than mine, with plausible porosity and realistic 7–43 ft pays. Its profile is telling: it accepts the engine's method defaults and pours ALL its judgment into where the rock is — the pattern of a senior delegating the mechanical work.
La calibración honesta, por competencia: zonar el reservorio = junior→mid (el logro del ciclo); elegir y defender métodos = junior alto (eligen bien, justifican raso — nadie habla de sistema de lodo ni de era de herramienta); calibrar Rw/m/n con datos duros = nadie (la evidencia SP→Rw existía y ningún agente la adoptó); síntesis de campo, correlación y criterio económico = solo el humano. Y una precisión clave: la honestidad senior del informe es del SISTEMA (trazabilidad, abstención, verificador de cifras), no del modelo — quita el andamiaje y el mismo modelo vuelve a promediar overburden. La respuesta corta sigue siendo: no te reemplazan; te multiplican — un senior con este sistema revisa 10× más pozos porque el trabajo junior llega hecho, honesto y auditado. The honest calibration, by competency: zoning the reservoir = junior→mid (the cycle's win); choosing and defending methods = high junior (they choose well and justify thinly — nobody mentions mud systems or tool eras); calibrating Rw/m/n with hard data = nobody (the SP→Rw evidence existed and no agent adopted it); field synthesis, correlation and economic judgment = still human. And one key precision: the report's senior-grade honesty belongs to the SYSTEM (traceability, abstention, claim verifier), not the model — remove the scaffold and the same model goes back to averaging overburden. The short answer still holds: they don't replace you; they multiply you — a senior with this system reviews 10× more wells because the junior work arrives done, honest and audited.
→ la narrativa petrofísica completathe full petrophysical narrative
Si eres desarrollador: seis lecciones de un sistema medible If you're a developer: six lessons from a measurable system
- El techo de conducta puede ser tu entorno. Cuatro familias frontier convergían al mismo perfil pobre — no porque los modelos no pudieran, sino porque el pipeline les presentaba un informe terminado. El A/B revisor↔autor con los MISMOS modelos (1→7 elecciones/pozo) es la prueba: antes de concluir "el modelo no da", audita qué le estás dando tú. Your behavior ceiling may be your environment. Four frontier families converged to the same poor profile — not because the models couldn't, but because the pipeline handed them a finished report. The reviewer↔author A/B on the SAME models (1→7 choices/well) is the proof: before concluding "the model can't", audit what you're feeding it.
- Actividad ≠ decisión — mide compromiso, no volumen. Un modelo
respondió los 16 pasos en todos los pozos sin comprometer una sola elección (8× el mismo
perfil de profundidad, 5–7× las mismas figuras). Sin trazabilidad por decisión
(
method_source, opcionales, zona), ese run parecería el más trabajado del leg. Activity ≠ decision — measure commitment, not volume. One model answered all 16 steps on every well without committing a single choice (8× the same depth profile, 5–7× the same figures). Without per-decision provenance (method_source, optionals, zone), that run would look like the leg's hardest worker. - Tu propio texto puede desinformar. Una leyenda escrita para una clase de objeción ("re-zonificar no lo arregla") era falsa para otra — y empujó a los modelos lejos de la acción correcta durante dos versiones. La honestidad de un prompt es una propiedad por caso, no un adjetivo global; y corregirla cambió conducta medible (fijación 3→1). Your own text can misinform. A legend written for one objection class ("re-zoning won't fix it") was false for another — and steered models away from the right action for two versions. Prompt honesty is a per-case property, not a global adjective; fixing it changed measurable behavior (fixation 3→1).
- El muro determinista es lo que hace todo lo demás legible. Como el LLM jamás produce un número, toda variación entre informes es variación de criterio — y por eso el mismo sistema sirve de benchmark conductual: seeds, entornos y modelos se comparan sobre aritmética idéntica. Separar decisión de cálculo no es solo seguridad; es lo que convierte al agente en objeto de medición. The deterministic wall is what makes everything else legible. Because the LLM never produces a number, all variation across reports is judgment variation — which is why the same system doubles as a behavioral benchmark: seeds, environments and models compare over identical arithmetic. Separating decision from computation isn't just safety; it's what turns the agent into a measurable object.
- La memoria no es una: son tres. Journal intra-ciclo (mató el 80% de relecturas), memoria entre pozos (dio consistencia y compuso hallazgos), y memoria de la CONSECUENCIA (ver su propio intento fallido, medido y localizado — la única que movió el juicio). Un agente sin las tres repite, se contradice y no aprende. Memory isn't one thing: it's three. A within-cycle journal (killed 80% of re-reads), cross-well memory (gave consistency and compounded findings), and memory of CONSEQUENCE (seeing its own failed attempt, measured and localized — the only one that moved judgment). An agent missing any of the three repeats itself, contradicts itself, and doesn't learn.
- El thinking transforma a los híbridos que corren apagados — y no añade nada a los que ya piensan. El A/B más limpio: qwen3-max sin thinking = 0 zonas profundas en 12 pozos; su variante thinking fue directa al Mississippiano. Y gpt-5, que ya razona por defecto, EMPEORÓ con reasoning explícito (precisión de zona 0.77→0.00). Antes de pagar más tokens de razonamiento, mide si tu modelo ya los estaba gastando. Thinking transforms hybrids running with it off — and adds nothing to models that already think. The cleanest A/B: qwen3-max without thinking = 0 deep zones across 12 wells; its thinking variant went straight to the Mississippian. And gpt-5, which reasons by default, got WORSE with explicit reasoning (zone precision 0.77→0.00). Before paying for more reasoning tokens, measure whether your model was already spending them.
→ la narrativa de ingeniería completathe full engineering narrative · el proceso día a díathe day-by-day process
Honestidad por diseñoHonesty by design
Ese banner es real y aparece en la portada de la mayoría de los informes de Kansas — porque el resultado no es creíble sin calibración de núcleo, y el sistema lo dice en vez de maquillarlo. La honestidad está cableada en el nivel más duro que puede expresarla: That banner is real and sits on the front page of most Kansas reports — because the result is not credible without core calibration, and the system says so instead of dressing it up. Honesty is wired at the hardest layer that can express it:
- Gate determinista sobre la cadena final: objeciones tipadas → tier de confianza degradado → abstención explícita.Deterministic gate on the final chain: typed objections → downgraded confidence tier → explicit abstention.
- Fallbacks señalizados: un informe cerrado por defaults se lee como tal (
fell_back,default_steps,reclosed_steps) — nunca como análisis del agente.Signaled fallbacks: a report closed by defaults reads as such (fell_back,default_steps,reclosed_steps) — never as the agent's analysis. - Verificador de afirmaciones: cada cifra de la prosa debe existir en el ledger; el LLM no puede inventar un número ni citarse a sí mismo.Claim verifier: every figure in the prose must exist in the ledger; the LLM can't invent a number or cite itself.
- Sin teatro: una sección opcional solo se renderiza si su tool_result existe; la completitud separa el piso del código de la contribución del agente.No theater: an optional section renders only if its tool_result exists; completeness splits the code's floor from the agent's contribution.
- Hasta la vara de medir fue estresada. Las ventanas del summit — el baseline (declaradamente contaminado) contra el que se mide a los agentes — pasaron 3 pruebas deterministas: perturbación ±328 ft, refutación física de bordes desde el LAS crudo, y leaderboard bajo la vara más hostil. El ranking del top no se reordena y las 6 bases coinciden con la física (Δ 0–20 ft); el matiz honesto que salió: la precisión se lee como banda (opus ≈0.68–1.00, sin solaparse con el pelotón ≈0.30–0.52) y bajo la vara ensanchada opus y ultra-free-thinking son co-líderes — el desempate depende de si la vara premia precisión o cobertura, nunca de la elección de roca. Even the measuring stick was stress-tested. The summit windows — the (declared-contaminated) baseline agents are measured against — passed 3 deterministic tests: ±328 ft perturbation, physical border refutation from raw LAS, and a leaderboard under the most hostile yardstick. The top ranking doesn't reorder and all 6 bases match the physics (Δ 0–20 ft); the honest nuance that emerged: precision reads as a band (opus ≈0.68–1.00, never overlapping the mid pack ≈0.30–0.52), and under the widened yardstick opus and free-ultra-thinking are co-leaders — the tiebreak depends on whether the stick rewards precision or recall, never on rock choice.
Mea culpa: lo que faltó — y el camino a futuroMea culpa: what was missing — and the road ahead
Un proyecto que presume de honestidad tiene que aplicársela a sí mismo. Estas son las deudas reales del trabajo — cada una con lo que haríamos para saldarla: A project that brags about honesty has to apply it to itself. These are the work's real debts — each with what we would do to settle it:
- Sin datos duros de calibración. No hubo núcleo, ni Rw medido, ni registros de producción atados a intervalos: por eso la abstención es el techo permanente de Kansas y la vara es un baseline declarado, no verdad de terreno. A futuro: cruzar contra la producción histórica por lease (KGS la publica) y conseguir un estudio de núcleo — cerraría el lazo que ninguna corrida pudo cerrar. No hard calibration data. No core, no measured Rw, no production tied to intervals: that's why abstention is Kansas's permanent ceiling and the yardstick is a declared baseline, not ground truth. Ahead: cross against historical per-lease production (KGS publishes it) and obtain a core study — it would close the loop no run could.
- La vara la escribió el constructor. La verificamos con tres ciclos deterministas, pero sigue siendo UNA interpretación. A futuro: un benchmark ciego con petrofísicos humanos independientes interpretando los mismos pozos — la vara dejaría de ser de la casa. The yardstick was written by the builder. We verified it with three deterministic cycles, but it remains ONE interpretation. Ahead: a blind benchmark with independent human petrophysicists on the same wells — the yardstick would stop being in-house.
- Se analiza ~25% de las curvas adquiridas. El canon usa 5–6 de las ~20–26 curvas por LAS; el SP entró al final (y confirmó el Rw), pero microlog, perfiles de invasión y el neutrón vintage quedaron a medio explotar. A futuro: explotar el censo completo — hay 50 pozos vintage esperando su método. ~25% of acquired curves get analyzed. The canon uses 5–6 of the ~20–26 curves per LAS; SP entered late (and confirmed Rw), but microlog, invasion profiles and vintage neutron remain half-exploited. Ahead: exploit the full census — 50 vintage wells are waiting for their method.
- Ningún agente adoptó la evidencia de calibración. La banda SP→Rw existía y ninguno la incorporó a sus parámetros: calibrar Rw/m/n con datos duros quedó en «nadie». A futuro: medir palancas de adopción de evidencia — el escalón exacto entre junior alto y mid. No agent adopted the calibration evidence. The SP→Rw band existed and none folded it into its parameters: calibrating Rw/m/n with hard data ended at “nobody”. Ahead: measure evidence-adoption levers — the exact step between high junior and mid.
- Huecos de batch por infraestructura. gpt-5 (v14 default) quedó en 2/4 pozos y qwen-thinking cerró 3/4 con su metrics reconstruido del log — cuotas y créditos agotados a mitad de corrida, documentados pero huecos al fin. A futuro: completar esos batches y re-emitir el leaderboard. Batch holes from infrastructure. gpt-5 (v14 default) ended at 2/4 wells and qwen-thinking closed 3/4 with metrics reconstructed from its log — quotas and credits died mid-run, documented but holes nonetheless. Ahead: complete those batches and re-issue the leaderboard.
- Un solo campo de desarrollo y promesas sin cuantificar. Schaben + VOLVE de regresión no prueban generalización a otras cuencas; y el «no te reemplaza, te multiplica» no tiene medición con humanos reales. A futuro: un tercer campo a ciegas, y un estudio de tiempo-ahorrado con petrofísicos usando estos informes como borrador. One development field and unquantified promises. Schaben + a VOLVE regression don't prove generalization to other basins; and “it doesn't replace you, it multiplies you” has no measurement with real humans. Ahead: a third field, blind, and a time-saved study with petrophysicists using these reports as a draft.
- El runtime local quedó atrás. El proyecto corre local por diseño (Ollama), pero todo el juicio medido vino de modelos frontier en la nube usada como instrumento. A futuro: destilar las conductas ganadoras (zonificar, reintentar, revisar borradores) hacia el modelo local — que la autonomía barata alcance el juicio caro. The local runtime fell behind. The project runs locally by design (Ollama), yet all the measured judgment came from frontier models used as an instrument. Ahead: distill the winning behaviors (zoning, retrying, draft revision) into the local model — let cheap autonomy reach expensive judgment.
ReproducibilidadReproducibility
Python · lasio · numpy · LangGraph (máquina de estados, no-LLM) · matplotlib · pytest (golden tests) · Ollama local para el runtime del informe (Qwen3-30B / Llama-3.1-8B) y OpenRouter solo como instrumento de medición de techo. Seeds pineadas, hash de configuración y versiones en cada ledger; los experimentos v5→v14 son re-corribles batch a batch. El código, los tests y la bitácora completa del desarrollo viven en el repositorio (y en la página del proceso). Python · lasio · numpy · LangGraph (state machine, non-LLM) · matplotlib · pytest (golden tests) · local Ollama for the report runtime (Qwen3-30B / Llama-3.1-8B) with OpenRouter only as a ceiling-measurement instrument. Pinned seeds, config hash and versions inside every ledger; experiments v5→v14 are re-runnable batch by batch. Code, tests and the full development journal live in the repository (and on the process page).
github.com/OilCoder/petro-agent · guía de estilos de esta páginathis page's style guide