Passei a maior parte da minha carreira como engenheiro de software girando uma manivela — implantando e operando software — ou criando software para girar essa manivela por mim.

Meu primeiro trabalho na OpenAI foi na equipe de infraestrutura de nuvem, colocando novos clusters Kubernetes em operação para as equipes de aplicativos. Eu passava uma semana preparando um lote de clusters, resolvendo problemas com links privados, cotas e Terraform. Assim que esses clusters ficavam prontos, eu começava outro lote.
Depois, fui para a equipe de API, onde executava avaliações dos nossos modelos mais recentes. Eu resolvia problemas com avaliadores, cotas, configuração e PyTorch. Quando as avaliações eram executadas com sucesso e o modelo era lançado, eu começava tudo de novo com o próximo modelo.
Agora uso o Codex para ajudar com esse trabalho repetitivo. Ainda desenvolvo software — ou, mais precisamente, o Codex me ajuda a desenvolvê-lo —, mas, em vez de criar uma automação separada para cada tarefa, estou desenvolvendo o Runme para:
- Reunir e fazer a curadoria do contexto de um fluxo de trabalho.
- Manter os limites adequados de revisão e aprovação.
- Melhorar as próximas execuções do Codex com o que foi aprendido nas anteriores.
Executando avaliações com o Codex
Na OpenAI, executamos avaliações ao lançar novos modelos e recursos para verificar se funcionam como esperado. Para executar uma avaliação, crio um notebook no Runme e escrevo um breve resumo da meta:
# 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.
Depois, peço ao Codex que use essa célula do notebook como meta:
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.
O Codex lê o notebook e o atualiza à medida que o trabalho avança. Quando o plano está pronto, eu o reviso e faço ajustes, se necessário. Muitas vezes, minha contribuição mais útil é ajudar o Codex a escolher entre alternativas: qual sistema de avaliação usar, se é preciso provisionar uma nova infraestrutura ou se os recursos existentes dão conta do trabalho.
Enquanto o Codex trabalha, acompanho seu progresso — às vezes pelo celular — e, de vez em quando, dou uma orientação quando ele fica sem saber como avançar. Se não for possível provisionar um ambiente de desenvolvimento porque uma cota se esgotou, por exemplo, posso sugerir a reutilização de um ambiente existente ou a busca por outra opção aprovada.
O resultado é um notebook que documenta as etapas necessárias para concluir a tarefa, além das tentativas que não deram certo. Antes de encerrar, trabalho com o Codex para registrar decisões que, de outra forma, se perderiam na conversa: por que uma opção foi escolhida, qual abordagem passou a ser a preferida e o que deve ser feito de forma diferente na próxima vez.

Colaborando em notebooks com o Codex
O projeto Runme é um aplicativo web de código aberto para criar notebooks com o Codex. Assim como o Jupyter e o Colab, ele oferece suporte a Markdown, células de código e HTML, o que permite criar documentos que combinam instruções, comandos, resultados, tabelas e gráficos.
Os notebooks podem ser salvos diretamente no Google Drive. Isso oferece às pessoas com quem trabalho uma maneira familiar de encontrar e compartilhar os artefatos resultantes, sem introduzir outro repositório de documentos.
Para cada notebook, o Runme também cria um índice complementar em Markdown chamado *.index.md. O Google Drive pode indexar esse arquivo, facilitando a descoberta de notebooks anteriores por um agente quando ele precisa de exemplos, contexto operacional ou do resultado de uma execução anterior.
Os agentes interagem com o Runme por meio do WebMCP. Quando o aplicativo é carregado, ele registra ferramentas no navegador que um agente pode usar para:
- Ler instruções sobre como trabalhar com o Runme e seus notebooks.
- Executar programas JavaScript de escopo delimitado que leem ou atualizam o conteúdo dos notebooks.
- Ler a documentação do aplicativo.
Essa arquitetura é importante porque o Runme é um aplicativo que roda no cliente e é servido como um site estático. Adicionar um servidor apenas para expor um endpoint MCP tradicional exigiria infraestrutura adicional, aumentaria a complexidade operacional e mudaria o local de processamento dos dados dos notebooks. Com o WebMCP, o aplicativo pode expor suas capacidades diretamente pelo navegador.
Reunindo e fazendo a curadoria de contexto útil
Cada vez que executo uma avaliação, tenho a oportunidade de documentar como o trabalho foi feito e facilitar a próxima execução. À medida que o fluxo de trabalho melhora, ele produz um contexto mais útil. Esse contexto, por sua vez, ajuda o Codex a lidar de forma mais eficaz com a próxima versão da tarefa.
Boa parte das informações que poderiam ajudar um agente já está presente no trabalho cotidiano, mas fica espalhada pelo histórico do terminal, pelo Slack, por guias operacionais, documentos e painéis. O difícil não é provar que a documentação é útil, mas reduzir o esforço necessário para criá-la a ponto de ser viável documentar enquanto o trabalho acontece.
O Runme reúne a intenção, as ações, as decisões e os resultados no mesmo artefato. Uma meta persistente mantém o Codex focado na tarefa, enquanto a revisão automática de aprovação pode revisar ações elegíveis sem alterar os limites de permissão existentes.
Continuo decidindo quando um plano está pronto e quando uma escolha de maior impacto exige julgamento humano. O Codex executa o trabalho repetitivo e registra o que aconteceu com mais detalhes do que eu registraria por conta própria. Como o notebook resultante é fácil de compartilhar, esse conhecimento prático não precisa ficar preso ao histórico de chat de uma única pessoa.
Recuperando um pouco do meu tempo de vida
Passei grande parte da minha carreira descobrindo as palavras mágicas que fazem máquinas cheias de exigências fazerem o que eu quero. A infraestrutura de nuvem e o Kubernetes deveriam facilitar a implantação e a operação de software. Mas também acabamos com um imenso ecossistema de ferramentas, bem retratado no panorama da CNCF. Resolver um problema muitas vezes cria outro: escolher, aprender a usar e operar as ferramentas necessárias para resolvê-lo.
Para mim, o atrativo do Codex é poder ajudar com esse trabalho operacional repetitivo e, ao mesmo tempo, me manter envolvido nas decisões que importam.
Espero recuperar um pouco desse tempo de vida e aproveitá-lo brincando com meus cachorros.