He pasado la mayor parte de mi carrera como ingeniero de software dándole vueltas a una manivela (desplegando y operando software) o desarrollando software que la gire por mí.

Mi primer puesto en OpenAI fue en el equipo de infraestructura en la nube, donde ponía en marcha nuevos clústeres de Kubernetes para los equipos de aplicaciones. Pasaba una semana preparando un conjunto de clústeres y resolviendo problemas con enlaces privados, cuotas y Terraform. En cuanto esos clústeres estaban listos, empezaba con otro conjunto.
Mi siguiente puesto fue en el equipo de API, donde ejecutaba evaluaciones de nuestros modelos más recientes. Resolvía problemas con calificadores, cuotas, configuración y PyTorch. Cuando las evaluaciones se ejecutaban correctamente y se lanzaba el modelo, volvía a empezar con el siguiente.
Ahora uso Codex para que me ayude con ese trabajo repetitivo. Sigo desarrollando software o, más precisamente, Codex me ayuda a desarrollarlo, pero en lugar de crear una automatización independiente para cada tarea, estoy desarrollando Runme para:
- recopilar y seleccionar el contexto de un flujo de trabajo.
- mantener los límites adecuados de revisión y aprobación.
- mejorar las futuras ejecuciones de Codex con lo aprendido en las anteriores.
Ejecutar evaluaciones con Codex
En OpenAI, ejecutamos evaluaciones al lanzar nuevos modelos y funciones para comprobar que funcionan como se espera. Para ejecutar una evaluación, creo un notebook de Runme y escribo una breve descripción del objetivo:
# Goal: Run the evaluation against the current model
- Review a previous run to understand the workflow.
- Write a detailed plan in this notebook.
- Wait for me to review and approve the plan before beginning.
- Document the commands you run, their output, and how you interpret the results.
Luego le pido a Codex que use esa celda del notebook como objetivo:
Read the goal cell in the Runme notebook open in the browser. Treat it as the
goal, write your plan in the notebook, and wait for my approval before starting.
Codex lee el notebook y lo actualiza a medida que avanza el trabajo. Cuando el plan está listo, lo reviso y lo modifico si es necesario. A menudo, lo más útil de mi participación es ayudar a Codex a decidir entre distintas alternativas: qué sistema de evaluación usar, si conviene aprovisionar nueva infraestructura o si los recursos existentes bastan para la tarea.
Mientras Codex trabaja, superviso su progreso, a veces desde mi teléfono, y de vez en cuando lo oriento si se atasca. Por ejemplo, si no se puede aprovisionar un entorno de desarrollo porque se agotó una cuota, podría sugerir que reutilice un entorno existente o busque otra opción aprobada.
El resultado es un notebook que documenta los pasos necesarios para completar la tarea, junto con los intentos que no dieron resultado. Antes de terminar, trabajo con Codex para registrar decisiones que de otro modo se perderían en la conversación: por qué se eligió una opción, qué enfoque se prefiere ahora y qué debería hacerse de otra manera la próxima vez.

Colaborar en notebooks con Codex
El proyecto Runme es una aplicación web de código abierto para crear notebooks con Codex. Al igual que Jupyter y Colab, admite Markdown, celdas de código y HTML, lo que permite crear documentos que combinan instrucciones, comandos, resultados, tablas y gráficos.
Los notebooks se pueden guardar directamente en Google Drive. Eso les da a las personas con las que trabajo una forma conocida de encontrar y compartir los artefactos resultantes sin agregar otro repositorio de documentos.
Para cada notebook, Runme también crea un índice complementario en Markdown llamado *.index.md. Google Drive puede indexar ese archivo, lo que facilita que un agente encuentre notebooks anteriores cuando necesita ejemplos, contexto operativo o el resultado de una ejecución anterior.
Los agentes interactúan con Runme a través de WebMCP. Al cargarse, la aplicación registra herramientas del lado del navegador que un agente puede usar para:
- leer instrucciones para trabajar con Runme y sus notebooks.
- ejecutar programas de JavaScript de alcance limitado que lean o actualicen el contenido de los notebooks.
- leer la documentación de la aplicación.
Esta arquitectura es importante porque Runme es una aplicación del lado del cliente que se sirve como un sitio web estático. Agregar un servidor únicamente para exponer un punto de acceso MCP tradicional introduciría más infraestructura y complejidad operativa, y cambiaría dónde se manejan los datos de los notebooks. WebMCP permite que la aplicación exponga sus capacidades directamente desde el navegador.
Recopilar y seleccionar contexto útil
Cada vez que ejecuto una evaluación, tengo la oportunidad de documentar cómo se hizo el trabajo y facilitar la siguiente ejecución. A medida que mejora el flujo de trabajo, genera contexto más útil. Ese contexto, a su vez, ayuda a Codex a abordar la siguiente versión de la tarea con mayor eficacia.
Gran parte de la información que podría ayudar a un agente ya está presente en el trabajo cotidiano, pero está dispersa entre el historial de la terminal, Slack, guías operativas, documentos y paneles. Lo difícil no es demostrar que la documentación es útil, sino lograr que crearla requiera tan poco esfuerzo que pueda hacerse mientras se trabaja.
Runme reúne la intención, las acciones, las decisiones y los resultados en un mismo artefacto. Un objetivo persistente mantiene a Codex enfocado en la tarea, mientras que la revisión automática de aprobaciones puede revisar las acciones que cumplan los requisitos sin cambiar los límites de permisos existentes.
Yo sigo decidiendo cuándo está listo un plan y cuándo una decisión importante requiere criterio humano. Codex se encarga de la ejecución repetitiva y registra lo ocurrido con más detalle del que yo habría escrito. Como el notebook resultante es fácil de compartir, ese conocimiento práctico no tiene que quedar atrapado en el historial de chat de una sola persona.
Recuperar mis latidos
He pasado gran parte de mi carrera buscando las palabras mágicas para que unas máquinas quisquillosas hagan lo que quiero. Se suponía que la infraestructura en la nube y Kubernetes facilitarían el despliegue y la operación de software. Pero también terminamos con un inmenso ecosistema de herramientas, bien reflejado en el panorama de la CNCF. Resolver un problema suele crear otro: elegir las herramientas necesarias para resolverlo, aprender a usarlas y operarlas.
Para mí, el atractivo de Codex es que puede ayudar con ese trabajo operativo repetitivo y, al mismo tiempo, mantenerme involucrado en las decisiones que importan.
Ojalá pueda recuperar algunos de esos latidos y dedicarlos a jugar con mis perros.