Consume una unidad de estado sólido al año: el bug de registro de Codex es criticado como 'software defectuoso'

marsbitPubblicato 2026-07-02Pubblicato ultima volta 2026-07-02

Introduzione

El artículo reporta un grave problema en la herramienta de programación Codex de OpenAI: su sistema de registro de logs (bitácoras) escribe aproximadamente 640 TB de datos al año en los discos SSD de los usuarios, agotando prematuramente su vida útil. Esto ocurre porque, por defecto, registra un nivel excesivo de información de depuración (TRACE) en una base de datos SQLite local, realizando constantes operaciones de inserción y borrado que desgastan el disco sin aumentar el tamaño final del archivo. Aunque el problema se conoce desde abril y hay múltiples informes similares, OpenAI solo lo corrigió parcialmente tras hacerse público, reduciendo en un 85% las escrituras. La comunidad critica esta práctica como ejemplo de "software deficiente" que consume recursos del usuario sin consentimiento, y señala que la competencia, como Claude Code, presenta fallos similares. El caso refleja una tendencia preocupante en el desarrollo de software con IA, donde la ineficiencia se enmascara con hardware más potente.

¿'Consumir' una unidad de estado sólido de 1TB en un año?

Codex, la herramienta de programación insignia de OpenAI, está desgastando tu unidad de estado sólido con una escritura de 640 TB al año.

Hace un tiempo, un desarrollador abrió un issue en GitHub. Este issue, ahora marcado como 'Closed' y con el número #28224, lleva el título:

Los registros de feedback de SQLite de Codex pueden escribir 640TB al año, agotando rápidamente la vida útil de las SSD.

Según las mediciones del informante, su SSD principal perdió 37 TB de escritura tras 21 días de funcionamiento continuo. Extrapolando, eso supone unos 640 TB al año, suficientes para acabar con una unidad de consumo con una resistencia total a escritura (TBW) de 600 TB.

Como evidencia, adjuntó dos tablas.

En la evidencia 1, esta base de datos de registros siempre ocupa solo 1.2 GB, aparentemente sin cambios; pero su ID de fila autoincremental ya ha superado los 5.5 mil millones, mientras que las filas realmente retenidas son apenas poco más de 500,000, una diferencia de diez mil veces.

La clave está en que el desgaste del disco se mide por la cantidad total escrita, independientemente de lo que quede ahora: esas 5.5 mil millones de filas se escribieron todas en el disco, y borrarlas no devuelve el desgaste ya incurrido. Así que al revisar el archivo solo ves esas 500,000 filas, pero el disco ya ha soportado la escritura de 5.5 mil millones.

La evidencia 2 revela la distribución de estas 5.5 mil millones de filas: más del 90% es ruido de depuración que ni los propios desarrolladores revisarían. Solo el hecho de copiar cada paquete completo de datos WebSocket supone la mitad.

El culpable es una configuración predeterminada de Level::TRACE, que trata la vida útil de escritura de tu disco como papel de borrador gratuito.

Un comentario muy votado en Hacker News definió la situación:

Este es uno de los ejemplos más notorios de 'software defectuoso' (slopware).

Este usuario también añadió con frustración:

Es realmente trágico. El mundo necesita competencia para Anthropic.

Lo más embarazoso es que el problema no era desconocido.

Desde abril de este año hubo reportes esporádicos, que se arrastraron durante más de dos meses, hasta que los usuarios hicieron sus propios cálculos, escribieron informes y lo llevaron a los titulares de Hacker News para que fuera tomado en serio. Incluso así, esta ronda solo eliminó aproximadamente el 85% de la escritura de registros.

Algunos intentaron solucionarlo por su cuenta, pero descubrieron que no podían: las versiones de escritorio de estas herramientas son de código cerrado.

Otro comentario ingenioso: ¿cómo es que el proceso de revisión no detectó un error tan obvio? Ah, cierto... @codex, revisa esto.

640TB, ¿cómo se llega a esa cifra?

¿Qué representa 640TB?

Las SSD de consumo convencionales tienen una vida útil de escritura (TBW) típica de 150 a 600 TB, suficiente para décadas de uso normal.

Y la función de registro de Codex, que simplemente 'anota lo que hace', puede alcanzar esa cifra en un año.

Todo comenzó cuando este usuario revisó su disco. Su máquina, encendida continuamente durante 21 días, había escrito 37 TB en su SSD principal.

A ese ritmo, unos 640 TB al año.

Pero lo más absurdo es el método de escritura.

Codex mantiene localmente una base de datos SQLite, logs_2.sqlite, específicamente para registros de feedback. Este usuario la monitoreó durante 15 segundos: se insertaron 36,211 filas, pero el número total de filas retenidas se mantuvo en 681,774 desde el principio hasta el final, sin aumentar.

Por cada fila insertada, otra era eliminada. El conteo de filas constante, pero el disco era reescrito decenas de miles de veces.

A este mecanismo se le conoce como 'insertar y podar' (insert-and-prune).

Y lo más ridículo es lo que registra: una serie de eventos inotify del sistema de archivos.

ld.so.cache fue registrado 128,764 veces, locale.alias 37,982 veces, passwd 23,843 veces.

El mismo archivo, por el mismo programa, registrado cientos de miles de veces.

El ID autoincremental en los registros supera los 5.5 mil millones, mientras que las filas realmente conservadas son solo unas 500,000.

Una diferencia de diez mil veces.

Esto no es un bug, parece que una herramienta de programación con IA está recitando un mantra a su propio disco duro.

El archivo pesa 1GB, pero la escritura es de 640TB

¿Qué tamaño tiene logs_2.sqlite, escribiendo y borrando constantemente? Aproximadamente 1 GB.

Esto lleva al punto más contraintuitivo de todo el asunto: la vida útil de una SSD se mide por la 'cantidad de escritura', no por el 'tamaño del archivo'. Un archivo de 1 GB reescrito 640 veces equivale a 640 TB de escritura para el disco.

SQLite utiliza el mecanismo WAL (Write-Ahead Logging): cada cambio se escribe primero en el archivo -wal, y luego se consolida (checkpoint) en la base principal. Codex realiza decenas de miles de inserciones y eliminaciones cada 15 segundos, cada una pasando por WAL, actualización de índices y checkpoint. La misma área de almacenamiento, sobrescrita una y otra vez.

Una analogía: un cuaderno de 1 GB donde cada día borras y reescribes 1,750 veces, durante un año. El cuaderno es el mismo, pero el papel está gastado.

Esta es también la razón por la que este bug pudo permanecer oculto tanto tiempo: no ocupa espacio, solo quema vida útil.

Revisar el espacio disponible en disco no muestra anomalías, el tamaño del archivo se mantiene estable. Solo al consultar los contadores de salud SMART del disco se puede ver la acumulación silenciosa de escritura.

La causa raíz: una línea RUST_LOG ignorada

¿Por qué se registra tanto?

La respuesta está en una línea de configuración del código fuente de Codex: el 'sink' (receptor) del registro de feedback SQLite se inicializa con Targets::new().with_default(Level::TRACE).

En resumen, el registro está configurado por defecto en el nivel TRACE, el más alto, verboso y que registra todo.

El framework de registro de Codex es 'tracing' del ecosistema Rust, cuya práctica estándar es leer la variable de entorno RUST_LOG. Los usuarios lo intentaron, ajustando RUST_LOG a info, warn, incluso desactivándolo.

Inútil.

with_default(Level::TRACE) fija rígidamente el nivel predeterminado global en TRACE. RUST_LOG no tiene efecto en esta ruta. Crees que has desactivado el registro, pero sigue escribiendo.

Lo más engañoso de este tipo de bug no es que 'olvidaras configurarlo', sino que 'lo configuraste, y lo ignoró'.

Otro dato revelador es una proporción.

Separando los registros retenidos por categoría, TRACE representa el 70.7%, unos 732.5 MB. Sumando los dos flujos de telemetría espejada codex_otel (log_only y trace_safe), se añade otro 25.3%.

El 70% de la escritura es ruido TRACE. Sumando la telemetría espejada, el 96% son detalles irrelevantes que nadie revisaría.

Solo el 4% es contenido realmente significativo.

No es el primero, al menos es el noveno

El informante revisó el repositorio de Codex y descubrió que hay al menos 9 issues sobre 'crecimiento ilimitado de registros'.

#17320, escritura frenética de WAL durante respuestas en flujo, misma causa raíz que esta vez: TRACE ignorando RUST_LOG.

#24275, logs_2.sqlite en la versión de escritorio crece descontroladamente.

#22444, WAL crece infinitamente y no libera espacio.

#26374, escribe 0.75 GB al día, sin rotación.

#27911, una base de datos goals_1.sqlite de 4 KB, escrita a 11 MB/s.

#20563, el proceso escribe frenéticamente en disco incluso inactivo.

#27020, actividad de disco al 100% en Windows.

El origen más temprano se remonta a #12969, el PR que introdujo el 'sink' del registro de feedback SQLite configurado en nivel TRACE.

Una base de datos de 4 KB escrita a 11 MB por segundo merecería un artículo por sí sola. Y es un síntoma del mismo producto, del mismo sistema de telemetría que el de los 640 TB.

Esto indica que el sistema de registro y telemetría de Codex, desde el principio, carecía del concepto de 'presupuesto de recursos'.

Toda la industria compite por presupuesto de tokens, longitud de contexto, capacidad del modelo.

Pero casi nadie pregunta: ¿quién controla el presupuesto de disco, memoria, CPU de un Agente que se ejecuta 7x24 en la máquina del usuario?

Se corrigió, pero de manera muy 'OpenAI'

Reportado en GitHub el 14 de junio. El 23 de junio, el informante actualizó: tres PRs fusionados. Según sus propias pruebas en Codex, reducen aproximadamente el 85% del registro, por lo que cerró el issue.

Primero, ese 85%: no es el 100%, y aún no está completamente implementado.

De las tres correcciones, #29432 y #29457 se lanzaron con la versión 0.142.0, eliminando los registros WebSocket línea por línea y objetivos de ruido; la tercera, #29599, desactiva otro tipo de registros redundantes introducidos por puente, y llegará con la versión 0.143.0.

Incluso con las tres implementadas, el 15% restante aún supondría escribir unos 96 TB al año, pasando de 'agotar el disco en un año' a 'agotarlo en seis años'.

Algunos defienden la postura: los registros TRACE se almacenan por diseño para depuración, no es un bug, y son útiles para que OpenAI investigue casos límite.

Pero el problema reside precisamente ahí: usar la vida útil de las SSD de usuarios que pagan, como almacenamiento gratuito para la depuración del fabricante. ¿Los usuarios dieron su consentimiento para eso?

El campo de batalla de la programación: lo que se agota no es solo la SSD

Curiosamente, no solo Codex recibió críticas.

En los comentarios rápidamente añadieron: Claude Code también escribe registros de depuración intensivamente en local, obligando a algunos a enlazar el directorio de registros a un disco en RAM (tmpfs) para salvar sus SSD.

Dos herramientas líderes, la misma clase de problema.

Los comentarios de la comunidad pronto pasaron de un bug específico a cuestionar la calidad general de las herramientas de programación con IA.

Algunos se quejan de que estos agentes mantienen la GPU al máximo, consumen 70 GB de memoria, otros acuñaron un nombre para esta generación de software: software defectuoso (slopware).

La sugerencia original del desarrollador era simple: establecer un límite para la aplicación, que no supere los 3 GB. Solo esa línea, Codex tardó 9 Issues y varios meses en trazarla.

La pregunta es: ¿por qué una empresa que siempre habla de 'AGI' tropieza con un problema que un ingeniero en prácticas podría detectar?

¿Por qué pudo permanecer oculto tanto tiempo? Un comentario dio en el clavo.

Hace una década, con el registro en TRACE, el programa se colgaría al instante y se corregiría el mismo día. Hoy, las CPUs son rápidas, la memoria es grande, los discos son potentes. Este defecto es absorbido silenciosamente por el rendimiento del hardware. El programa funciona, la interfaz responde, el usuario no nota nada, hasta que un día la SSD falla prematuramente.

En los últimos años, el software se llena de código generado por IA, las funciones se acumulan, las capas de abstracción se apilan, el consumo de recursos se dispara, sostenido solo por hardware más rápido cada año.

Así surge un ciclo absurdo: el software se escribe peor, el hardware se fabrica más potente. Los usuarios, con la ilusión de que 'no va más lento', pagan por máquinas nuevas, que apenas sostienen software peor.

Un pequeño bug no derribará a OpenAI. Pero la competencia entre Codex y Claude Code ya se extiende desde la capacidad del modelo hasta la entrada del flujo de trabajo del desarrollador.

En este frente, cambiar rápidamente y responder a las necesidades de los desarrolladores no es un punto a favor, es el precio de entrada.

Referencias:

https://github.com/openai/codex/issues/28224

https://news.ycombinator.com/item?id=48626930

Este artículo proviene del WeChat público '新智元' (Nueva Era de la Inteligencia), autor: ASI启示录

Crypto di tendenza

Domande pertinenti

Q¿Cuál es el principal problema reportado con Codex de OpenAI?

AEl principal problema es que la función de registro de comentarios de Codex escribe aproximadamente 640 TB de datos al año en el disco duro del usuario, utilizando un mecanismo 'insertar y podar' (insert-and-prune) en una base de datos SQLite. Esto agota rápidamente la vida útil de un SSD de consumo, que suele tener un límite de escritura total (TBW) de entre 150 y 600 TB.

Q¿Por qué el archivo de registro `logs_2.sqlite` no crece mucho en tamaño pero aún así daña el SSD?

AEl archivo `logs_2.sqlite` se mantiene alrededor de 1 GB porque usa un mecanismo de 'insertar y podar', donde constantemente se añaden y eliminan filas. Sin embargo, cada operación de escritura (inserción o eliminación) cuenta para el desgaste del SSD, independientemente del tamaño final del archivo. Es como reescribir constantemente las mismas páginas de un cuaderno, desgastándolas aunque el número de páginas no aumente.

Q¿Cuál fue la causa raíz de la generación excesiva de logs en Codex?

ALa causa raíz fue una configuración de código que establecía el nivel de registro por defecto en TRACE (`with_default(Level::TRACE)`), el nivel más detallado. Esta configuración anulaba las variables de entorno como `RUST_LOG`, haciendo que el software registrara grandes cantidades de datos de depuración irrelevantes (como eventos del sistema de archivos) las 24 horas del día, incluso si el usuario intentaba desactivar los logs.

Q¿Cómo respondió OpenAI al problema y cuál fue el resultado?

AOpenAI fusionó tres solicitudes de cambios (pull requests) en el código para abordar el problema. Estas correcciones redujeron aproximadamente un 85% la escritura de logs. Sin embargo, incluso después de las correcciones, se estima que el software aún escribirá unos 96 TB al año, lo que sigue siendo un desgaste significativo para el hardware del usuario.

QSegún el artículo, ¿qué término se utiliza para describir software de baja calidad como el que exhibe este bug?

AEl artículo menciona que en los comentarios de Hacker News, este tipo de software se describe como 'slopware' (una combinación de 'slop', que significa bazofia, y 'software'), traducido en el texto como 'software de baja calidad' o 'software chapucero'. Se critica que, a pesar de los avances en IA, se descuiden aspectos básicos de la ingeniería de software y la gestión de recursos.

Letture associate

Anthropic Creates an AI Jailbreak 'Penal Code': Your Requests, Four Ways to Die

Anthropic has publicly detailed its security measures and a new "Cyber Jailbreak Severity" (CJS) framework following the controversial takedown of its Fable 5 model. The incident, triggered by simple user requests like counting letters or stating a profession, highlighted overzealous safety filters. Anthropic classifies cybersecurity-related prompts into four tiers: malicious activities (blocked), high-risk dual-use (like pentesting, with strict limits), low-risk dual-use (often blocked by "safety margin" errors), and harmless tasks (theoretically allowed but still frequently flagged). The company admits its classifiers are tuned for high sensitivity, leading to many false positives. The newly proposed CJS framework aims to objectively score the severity of AI "jailbreaks" (prompts that bypass safety rules) on a 0-10 scale across four dimensions: Capability Gain (does it grant new attack abilities?), Breadth (does it work across multiple attack types?), Weaponization Ease (how hard is it to turn into a real attack?), and Discoverability (how easy is it to find?). The score determines the response, from no action (CJS-0) to a potential model takedown (CJS-4). The score is context-dependent; for example, discovering a major unknown vulnerability today scores high, while asking about a well-known one scores low. The article raises concerns about Anthropic's dual role: it is both creating powerful models (like the restricted Mythos 5) and defining the rules (CJS) for judging their misuse, potentially giving it disproportionate influence. This is set against the backdrop of U.S. export controls, which for the first time directly restricted API access to a model (Fable 5), creating a "tiered" system where public models are heavily filtered and advanced ones are limited to vetted partners. The CJS framework is portrayed as potentially providing regulators with a metric to justify future API shutdowns. For users, the advice is to carefully phrase prompts, watch for signs of being downgraded to a weaker model, and wait indefinitely for promised filter improvements.

marsbit26 min fa

Anthropic Creates an AI Jailbreak 'Penal Code': Your Requests, Four Ways to Die

marsbit26 min fa

$100M Annual Revenue, Two Berkeley Roommates in Their 20s Build the Most Profitable AI Business

Arena, the AI model ranking platform, has become a $100 million annual revenue business just eight months after launching its commercial service. Originally a UC Berkeley open-source research project called Chatbot Arena, it created a "battle arena" where users blind-test and vote on anonymous AI model responses. This has generated a highly trusted, community-driven leaderboard based on over 10 million user evaluations and 82 million votes. Major AI companies like OpenAI, Google, and Anthropic submit their flagship models to be ranked. The core monetization strategy is its AI Evaluations service, where model developers and large enterprises pay for in-depth performance analysis from Arena's massive user community. This provides real-world feedback on model strengths, weaknesses, and hallucinations—a critical service as models become more complex. The company, spun out from Berkeley in early 2025, quickly raised $100 million in seed funding at a $600 million valuation and later secured a $150 million Series A at a $1.7 billion valuation. The founding team includes CEO Anastasios Angelopoulos, a mathematician focused on rigorous model evaluation; CTO Wei-Lin Chiang, creator of the popular Vicuna chatbot; and co-founder Ion Stoica, a renowned Berkeley professor. Arena is now expanding beyond chat benchmarks into "Agent Mode," evaluating AI agents on complex, multi-step tasks like coding and research. The company's success illustrates the growing value and cost of independent, real-world AI model evaluation as the industry intensifies.

marsbit30 min fa

$100M Annual Revenue, Two Berkeley Roommates in Their 20s Build the Most Profitable AI Business

marsbit30 min fa

Racking Up 24,000 Stars: With One Command, AI Can Now Find Its Own Skills

Vercel, known for its developer tools like Next.js, has launched 'skills', a package manager for AI coding agents, garnering 24,000 GitHub stars. It allows developers to add specialized capabilities, such as React best practices, to AI assistants like Claude Code or Cursor with a single command: `npx skills add <package>`. Skills are shareable, reusable modules that define an AI agent's behavior for specific tasks, moving beyond one-off prompt engineering towards standardized 'capability engineering'. A key innovation is the 'find-skills' skill, which acts as an internal search engine, allowing an agent to autonomously find and install the right skill for a user's request. This lowers the barrier for non-developers to leverage advanced AI coding assistance. However, this 'npm moment' for AI brings significant security risks. Security audits of thousands of skills on platforms like skills.sh and ClawHub found over 30% contained security flaws, with about 13% classified as severe. Threats include malicious scripts that can access local files and credentials, and prompt injection hidden within skill documentation. Unlike traditional code packages, skills blend instructions, code, and system access, posing a direct risk to user machines and data. Experts advise treating skills like code—reviewing them carefully before installation, especially their scripts, and being wary of excessive permissions. Ultimately, Vercel's initiative represents a major shift towards modular, reusable AI capabilities, but its rapid adoption requires developers to bring the same caution used in managing traditional software dependencies.

marsbit31 min fa

Racking Up 24,000 Stars: With One Command, AI Can Now Find Its Own Skills

marsbit31 min fa

Claude Engineer Finally Unveils Fable 5's Ultimate Strategy, Teaching You How to Bridge the Information Gap with AI Models

This article, titled "Claude Engineer Finally Releases Fable 5 'Skill-Burning' Guide, Teaching How to Bridge the Information Gap with Models," details a blog post by Claude Code engineer Thariq Shihipar. The core concept is the "information gap" or "unknowns"—the disconnect between a user's instructions (the "map") and the actual task requirements (the "territory"). The article argues that with powerful models like Claude Fable 5, work quality depends on the user's ability to identify and clarify these unknowns. Shihipar categorizes unknowns into four types: Known Knowns (explicit instructions), Known Unknowns (awareness of gaps), Unknown Knowns (implicit, unstated knowledge), and Unknown Unknowns (unforeseen issues). The blog provides a framework for addressing these gaps throughout the workflow: * **Before Implementation:** Techniques include "Blindspot Scanning" to uncover Unknown Unknowns, brainstorming/prototyping for visual or complex tasks, having Claude ask clarifying questions, using reference code/examples, and creating implementation plans. * **During Implementation:** Maintaining an "implementation notes" file for Claude to document deviations and decisions made due to encountered edge cases. * **After Implementation:** Creating summary documents for review and having Claude generate quizzes to ensure the user fully understands the completed changes. The article concludes that as models become more capable, the key to success is systematically discovering and defining these unknowns through low-cost methods like prototyping and planning, allowing for more effective collaboration.

marsbit35 min fa

Claude Engineer Finally Unveils Fable 5's Ultimate Strategy, Teaching You How to Bridge the Information Gap with AI Models

marsbit35 min fa

Trading

Spot

Articoli Popolari

Come comprare T

Benvenuto in HTX.com! Abbiamo reso l'acquisto di Threshold Network Token (T) semplice e conveniente. Segui la nostra guida passo passo per intraprendere il tuo viaggio nel mondo delle criptovalute.Step 1: Crea il tuo Account HTXUsa la tua email o numero di telefono per registrarti il tuo account gratuito su HTX. Vivi un'esperienza facile e sblocca tutte le funzionalità,Crea il mio accountStep 2: Vai in Acquista crypto e seleziona il tuo metodo di pagamentoCarta di credito/debito: utilizza la tua Visa o Mastercard per acquistare immediatamente Threshold Network TokenT.Bilancio: Usa i fondi dal bilancio del tuo account HTX per fare trading senza problemi.Terze parti: abbiamo aggiunto metodi di pagamento molto utilizzati come Google Pay e Apple Pay per maggiore comodità.P2P: Fai trading direttamente con altri utenti HTX.Over-the-Counter (OTC): Offriamo servizi su misura e tassi di cambio competitivi per i trader.Step 3: Conserva Threshold Network Token (T)Dopo aver acquistato Threshold Network Token (T), conserva nel tuo account HTX. In alternativa, puoi inviare tramite trasferimento blockchain o scambiare per altre criptovalute.Step 4: Scambia Threshold Network Token (T)Scambia facilmente Threshold Network Token (T) nel mercato spot di HTX. Accedi al tuo account, seleziona la tua coppia di trading, esegui le tue operazioni e monitora in tempo reale. Offriamo un'esperienza user-friendly sia per chi ha appena iniziato che per i trader più esperti.

438 Totale visualizzazioniPubblicato il 2024.12.10Aggiornato il 2026.06.02

Come comprare T

Discussioni

Benvenuto nella Community HTX. Qui puoi rimanere informato sugli ultimi sviluppi della piattaforma e accedere ad approfondimenti esperti sul mercato. Le opinioni degli utenti sul prezzo di T T sono presentate come di seguito.

活动图片