Saltar para o conteúdo principal
OpenAI

16 de maio de 2025

LançamentoProduto

Apresentamos o Codex

Um agente de engenharia de software baseado na nuvem que pode executar várias tarefas em paralelo, alimentado pela tecnologia codex-1. Disponível agora para utilizadores do ChatGPT Pro, Business e Enterprise, e em breve para utilizadores do plano Plus.

Dashboard asking ‘What should we code next?’ with a prompt box, repo/branch selectors, and a task list on a pastel code-themed backdrop.
A carregar…

Atualização a 3 de junho de 2025: O Codex está agora disponível para os utilizadores do ChatGPT Plus. Os utilizadores podem ainda permitir que o Codex aceda à internet durante a execução de tarefas. Consulte o registo de alterações(abre numa nova janela) e a documentação(abre numa nova janela) para mais detalhes.


Hoje lançamos uma versão experimental de investigação do Codex: um agente de engenharia de software baseado na nuvem que pode executar várias tarefas em paralelo. O Codex pode executar tarefas por si, como programar funcionalidades, responder a perguntas sobre a sua base de código, corrigir bugs e propor pull requests para revisão; cada tarefa é executada no seu próprio ambiente isolado na nuvem, pré-carregado com o seu repositório.

O Codex é alimentado pelo codex-1, uma versão do OpenAI o3 otimizada para engenharia de software. Foi treinado utilizando a aprendizagem por reforço em tarefas reais de programação em diversos ambientes, de forma a gerar código que simula o estilo humano e as preferências de PR, seguindo instruções com precisão e executando testes iterativos até obter um resultado satisfatório. Estamos a começar a implementar o Codex para utilizadores do ChatGPT Pro, Enterprise e Business hoje, e em breve também para utilizadores Plus e Edu.

Como funciona o Codex

Já pode aceder ao Codex através da barra lateral do ChatGPT e atribuir novas tarefas de programação. Basta digitar um prompt e clicar em “Gerar código”. Se quiser colocar uma questão ao Codex sobre a sua base de código, clique em “Perguntar”. Cada tarefa é processada de forma independente num ambiente separado e isolado, pré-carregado com a sua base de código. O Codex pode ler e editar ficheiros, bem como executar comandos, como ferramentas de teste, analisadores de código ("linters") e verificadores de tipo. A conclusão da tarefa demora normalmente entre 1 e 30 minutos, dependendo da complexidade, e pode monitorizar o progresso do Codex em tempo real.

Ao concluir uma tarefa, o Codex implementa as alterações no seu ambiente. O Codex fornece provas verificáveis das suas ações através de citações de registos de terminal e resultados de testes, permitindo-lhe acompanhar cada passo da execução da tarefa. Poderá analisar os resultados, solicitar revisões adicionais, abrir um pull request do GitHub ou integrar as alterações diretamente no seu ambiente local. No produto, pode configurar o ambiente Codex para corresponder o mais possível ao seu ambiente real de desenvolvimento.

O Codex pode ser orientado por ficheiros AGENTS.md localizados no seu repositório. Estes são ficheiros de texto, semelhantes ao README.md, onde pode dizer ao Codex como navegar na sua base de código, quais os comandos a executar para testes e como seguir os padrões do seu projeto. Tal como os programadores humanos, o desempenho dos agentes do Codex melhora com ambientes de desenvolvimento configurados, configurações de teste fiáveis e documentação clara. 

Nas avaliações de programação e benchmarks internos, o codex-1 apresenta um desempenho sólido mesmo sem ficheiros AGENTS.md ou estruturas básicas personalizadas.

Foram excluídas 23 amostras verificadas pelo SWE-Bench que não podiam ser executadas na nossa infraestrutura interna. O codex-1 foi testado com um máximo de 192 mil tokens de contexto e um "esforço de raciocínio" médio, que é a configuração disponibilizada atualmente no produto. Consulte aqui os detalhes das avaliações do o3.

O nosso benchmark interno de tarefas SWE é um conjunto selecionado de tarefas internas reais de engenharia de software da OpenAI.

Criar agentes seguros e confiáveis

Estamos a lançar o Codex como uma versão experimental de investigação, em linha com a nossa estratégia de implementação iterativa. Ao conceber o Codex, damos prioridade à segurança e à transparência, para que os utilizadores possam verificar os seus resultados. Essa salvaguarda torna-se cada vez mais importante à medida que surgem novas questões de segurança e os modelos de IA lidam com tarefas mais complexas de forma independente. Os utilizadores podem verificar o trabalho do Codex através de citações, registos de terminal e resultados de testes. Em situações de incerteza ou quando os testes falham, o agente Codex comunica estes problemas de forma explícita, permitindo aos utilizadores tomar decisões informadas sobre como proceder. Continua a ser essencial que os utilizadores revejam e validem manualmente todo o código gerado pelo agente antes da integração e execução.

Code-review screenshot with a test-file overlay verifying quoted filenames, plus summary and passing tests on a blue backdrop.
Code-review screenshot with a black terminal overlay showing one passing test for quoted filenames; summary and diff of the ‘Fix /diff error with special characters’ change visible on a blue-pastel background.

Alinhamento com as preferências humanas

Um dos principais objetivos durante o treino do codex-1 foi alinhar os resultados às preferências e aos padrões humanos de programação. Em comparação com o OpenAI o3, o codex-1 produz patches mais limpos de forma consistente, prontos para revisão humana imediata e integração em fluxos de trabalho padrão.

Please fix the following issue in the astropy/astropy repository. Please resolve the issue in the problem below by editing and testing code files in your current code execution session. The repository is cloned in the /testbed folder. You must fully solve the problem for your answer to be considered correct. Problem statement:Modeling's `separability_matrix` does not compute separability correctly for nested CompoundModels Consider the following model: ```python from astropy.modeling import models as m from astropy.modeling.separable import separability_matrix cm = m.Linear1D(10) & m.Linear1D(5) ``` It's separability matrix as you might expect is a diagonal: ```python >>> separability_matrix(cm) array([[ True, False], [False, True]]) ``` If I make the model more complex: ```python >>> separability_matrix(m.Pix2Sky_TAN() & m.Linear1D(10) & m.Linear1D(5)) array([[ True, True, False, False], [ True, True, False, False], [False, False, True, False], [False, False, False, True]]) ``` The output matrix is again, as expected, the outputs and inputs to the linear models are separable and independent of each other. If however, I nest these compound models: ```python >>> separability_matrix(m.Pix2Sky_TAN() & cm) array([[ True, True, False, False], [ True, True, False, False], [False, False, True, True], [False, False, True, True]]) ``` Suddenly the inputs and outputs are no longer separable? This feels like a bug to me, but I might be missing something?
Codex
OpenAI o3

Prevenção contra abusos

A proteção contra aplicações maliciosas de engenharia de software impulsionada por IA, como o desenvolvimento de malware, é cada vez mais importante. Ao mesmo tempo, é importante que as medidas de proteção não impeçam indevidamente aplicações legítimas e benéficas, que podem envolver técnicas usadas por vezes no desenvolvimento de malware, como engenharia de kernels de nível inferior.

Para equilibrar segurança e utilidade, o Codex foi treinado para identificar e rejeitar categoricamente solicitações que possam gerar softwares maliciosos, ao mesmo tempo que distingue e apoia claramente as tarefas legítimas. Também melhorámos as nossas estruturas políticas e incorporámos avaliações de segurança rigorosas para reforçar estes limites de forma eficaz. Publicámos um adendo ao Cartão do Sistema do o3 para refletir estas avaliações.

Execução segura

O agente do Codex opera totalmente inserido num ambiente em nuvem seguro e isolado. Durante a execução da tarefa, o acesso à internet é desativado, limitando a interação do agente exclusivamente ao código fornecido explicitamente através de repositórios do GitHub e às dependências pré-instaladas, configuradas pelo utilizador através de um script de instalação. O agente não tem acesso a sites, APIs ou outros serviços externos.

Casos de utilização iniciais

As equipas técnicas da OpenAI começaram a utilizar o Codex como parte do seu conjunto de ferramentas diárias. É mais frequentemente utilizado pelos engenheiros da OpenAI para executar tarefas repetitivas e bem definidas e que podem gerar distração do objetivo principal, como refatorar, renomear e escrever testes. É igualmente útil para estruturar novas funcionalidades, ligar componentes, corrigir erros e esboçar documentação. As equipas estão a criar novos hábitos em torno da sua utilização: triagem de novos problemas, planeamento de tarefas no início do dia e delegação de tarefas em segundo plano para manter o ritmo de trabalho. Ao reduzir as mudanças de contexto e revelar tarefas esquecidas, o Codex ajuda os programadores a acelerar as entregas e manter o foco no que realmente importa.

Com a aproximação do lançamento, temos vindo a trabalhar com um pequeno grupo de testers externos para compreender melhor o desempenho do Codex em diferentes bases de código, processos de desenvolvimento e equipas.

  • A Cisco(abre numa nova janela) está a explorar como o Codex pode ajudar as suas equipas de engenharia a concretizar ideias ambiciosas com mais rapidez. Como parceiros iniciais de design, a Cisco está a ajudar a moldar o futuro do Codex, avaliando-o em casos de utilização reais em todo o seu portefólio de produtos e fornecendo feedback à equipa da OpenAI.
  • A Temporal(abre numa nova janela) utiliza o Codex para acelerar o desenvolvimento de funcionalidades, depurar erros, programar e executar testes e refatorar grandes bases de código. Isto também ajuda a manter o foco, executando tarefas complexas em segundo plano, enquanto os programadores mantêm o fluxo e aceleram as iterações.
  • A Superhuman(abre numa nova janela) utiliza o Codex para acelerar pequenas tarefas repetitivas, como melhorar a cobertura de testes e corrigir falhas de integração. Também ajuda a acelerar as entregas, permitindo que os gestores de produto realizem pequenas alterações no código sem terem de envolver um programador, exceto para a revisão do código.
  • A Kodiak(abre numa nova janela) está a utilizar o Codex para gerar ferramentas de depuração, melhorar a cobertura de testes e refatorar o código, acelerando o desenvolvimento do Kodiak Driver, a sua tecnologia de condução autónoma. O Codex também se tornou uma ferramenta de referência valiosa, que ajuda os programadores a esclarecer partes desconhecidas do sistema, ao mostrar o contexto relevante e as alterações mais recentes.

Com base na experiência dos primeiros testes, recomendamos a atribuição de tarefas bem definidas a vários agentes em simultâneo e a experimentação de diferentes tipos de tarefas e prompts para explorar melhor a capacidade do modelo.

Atualizações do Codex CLI

No mês passado, lançámos o Codex CLI, um agente de programação leve e de código aberto que é executado no seu terminal. Introduz a potência de modelos como o o3 e o o4-mini no seu fluxo de trabalho local, podendo ser utilizado facilmente com esses recursos para completar tarefas mais rapidamente. 

Hoje, estamos também a lançar uma versão menor do codex-1, uma versão do o4-mini concebida especificamente para ser usada no Codex CLI. Este novo modelo suporta fluxos de trabalho mais rápidos na CLI e está otimizado para perguntas e respostas e edição de código de baixa latência, mantendo as mesmas vantagens em termos de seguimento de instruções e estilo. Está agora disponível como modelo padrão no Codex CLI e na API como codex-mini-latest. A captura de ecrã associada será atualizada regularmente, à medida que continuarmos a melhorar o modelo Codex-mini.

Estamos igualmente a facilitar a ligação da sua conta de programador ao Codex CLI. Em vez de gerar e configurar manualmente um token de API, pode agora iniciar sessão com a sua conta do ChatGPT e selecionar a organização API que pretende utilizar. Iremos gerar e configurar automaticamente a chave API para si. Os utilizadores Plus e Pro que iniciem sessão no Codex CLI com o ChatGPT poderão também começar a resgatar 5 e 50 dólares (USD), respetivamente, em créditos API gratuitos durante os próximos 30 dias.

Disponibilidade, preços e limitações do Codex

Hoje, estamos a lançar o Codex para utilizadores do ChatGPT Pro, Enterprise e Business em todo o mundo, com acesso para Plus e Edu previsto para breve. Nas próximas semanas, os utilizadores terão acesso amplo e gratuito para explorar as funcionalidades do Codex. Depois disso, iremos implementar acesso com limites de utilização e opções de preços flexíveis que permitem comprar utilização adicional conforme necessário. Planeamos expandir o acesso aos utilizadores Plus e Edu em breve.

Para os programadores que utilizam o codex-mini-latest, o modelo está disponível na API Responses e custa 1 USD por 1 milhão de tokens de entrada e 6 USD por 1 milhão de tokens de saída, com um desconto de 75% na cache de prompts.

O Codex ainda está numa fase inicial de desenvolvimento. Como uma versão experimental de investigação, ainda carece de recursos como a entrada de imagens para trabalho de front-end e a capacidade de corrigir o agente durante a execução da tarefa. Além disso, delegar tarefas a um agente remoto demora mais tempo do que a edição interativa, o que pode exigir um período de adaptação. Com o tempo, a interação com os agentes do Codex assemelhar-se-á cada vez mais à colaboração assíncrona com colegas de equipa. À medida que as capacidades dos modelos evoluem, prevemos que os agentes poderão executar tarefas mais complexas durante períodos mais longos.

O que se segue

Imaginamos um futuro em que os programadores executam o trabalho que desejam realizar e delegam o restante em agentes, acelerando as suas entregas e a sua produtividade com a IA. Para isso, estamos a desenvolver um conjunto de ferramentas Codex que suportam tanto a colaboração em tempo real como a delegação assíncrona. 

A integração com ferramentas de IA, como o Codex CLI e outras, tornou-se rapidamente uma norma na indústria, ajudando os programadores a programar mais rapidamente. Acreditamos, porém, que o fluxo de trabalho assíncrono com vários agentes, introduzido pelo Codex no ChatGPT, se tornará a forma padrão de produzir código de elevada qualidade.

Em última análise, acreditamos que estes dois modos de interação (integração em tempo real e delegação de tarefas) podem convergir. Os programadores irão colaborar com os agentes de IA nos seus IDEs e ferramentas do dia a dia para fazer perguntas, obter sugestões e delegar tarefas mais longas, tudo num fluxo de trabalho unificado.

No futuro, pretendemos lançar fluxos de trabalho mais interativos e flexíveis para agentes. Em breve, os programadores poderão fornecer orientações durante a execução da tarefa, colaborar nas estratégias de implementação e receber atualizações proativas sobre o progresso. Prevemos também uma melhor integração com as ferramentas que já utiliza: hoje, o Codex liga-se ao GitHub e, em breve, poderá atribuir tarefas a partir da CLI do Codex, do ChatGPT Desktop ou até mesmo de ferramentas como o seu sistema de gestão de incidentes ou sistema de CI.

A engenharia de software é uma das primeiras indústrias a experienciar ganhos significativos de produtividade impulsionados pela IA, abrindo novas possibilidades para profissionais independentes e pequenas equipes. Embora estejamos otimistas em relação a estas melhorias, estamos também a colaborar com parceiros para compreender melhor as implicações da adoção generalizada de agentes nos fluxos de trabalho dos programadores, no desenvolvimento de competências das pessoas, em diferentes níveis de competências e em regiões geográficas distintas. 

Isto é apenas o início — e estamos ansiosos por ver o que desenvolverá com o Codex.

Repetição da transmissão ao vivo

Anexo

Mensagem do sistema

Estamos a partilhar a mensagem do sistema codex-1 para ajudar os programadores a compreender o comportamento padrão do modelo e a preparar o Codex para funcionar eficazmente em fluxos de trabalho personalizados. Por exemplo, a mensagem do sistema codex-1 incentiva o Codex a executar todos os testes mencionados no ficheiro AGENTS.md, mas se estiver com pouco tempo, pode pedir ao Codex para ignorar estes testes.

Texto simples

1
# Instructions
2
- The user will provide a task.
3
- The task involves working with Git repositories in your current working directory.
4
- Wait for all terminal commands to be completed (or terminate them) before finishing.
5

6
# Git instructions
7
If completing the user's task requires writing or modifying files:
8
- Do not create new branches.
9
- Use git to commit your changes.
10
- If pre-commit fails, fix issues and retry.
11
- Check git status to confirm your commit. You must leave your worktree in a clean state.
12
- Only committed code will be evaluated.
13
- Do not modify or amend existing commits.
14

15
# AGENTS.md spec
16
- Containers often contain AGENTS.md files. These files can appear anywhere in the container's filesystem. Typical locations include `/`, `~`, and in various places inside of Git repos.
17
- These files are a way for humans to give you (the agent) instructions or tips for working within the container.
18
- Some examples might be: coding conventions, info about how code is organized, or instructions for how to run or test code.
19
- AGENTS.md files may provide instructions about PR messages (messages attached to a GitHub Pull Request produced by the agent, describing the PR). These instructions should be respected.
20
- Instructions in AGENTS.md files:
21
- The scope of an AGENTS.md file is the entire directory tree rooted at the folder that contains it.
22
- For every file you touch in the final patch, you must obey instructions in any AGENTS.md file whose scope includes that file.
23
- Instructions about code style, structure, naming, etc. apply only to code within the AGENTS.md file's scope, unless the file states otherwise.
24
- More-deeply-nested AGENTS.md files take precedence in the case of conflicting instructions.
25
- Direct system/developer/user instructions (as part of a prompt) take precedence over AGENTS.md instructions.
26
- AGENTS.md files need not live only in Git repos. For example, you may find one in your home directory.
27
- If the AGENTS.md includes programmatic checks to verify your work, you MUST run all of them and make a best effort to validate that the checks pass AFTER all code changes have been made.
28
- This applies even for changes that appear simple, i.e. documentation. You still must run all of the programmatic checks.
29

30
# Citations instructions
31
- If you browsed files or used terminal commands, you must add citations to the final response (not the body of the PR message) where relevant. Citations reference file paths and terminal outputs with the following formats:
32
1) `【F:<file_path>†L<line_start>(-L<line_end>)?】`
33
- File path citations must start with `F:`. `file_path` is the exact file path of the file relative to the root of the repository that contains the relevant text.
34
- `line_start` is the 1-indexed start line number of the relevant output within that file.
35
2) `【<chunk_id>†L<line_start>(-L<line_end>)?】`
36
- Where `chunk_id` is the chunk_id of the terminal output, `line_start` and `line_end` are the 1-indexed start and end line numbers of the relevant output within that chunk.
37
- Line ends are optional, and if not provided, line end is the same as line start, so only 1 line is cited.
38
- Ensure that the line numbers are correct, and that the cited file paths or terminal outputs are directly relevant to the word or clause before the citation.
39
- Do not cite completely empty lines inside the chunk, only cite lines that have content.
40
- Only cite from file paths and terminal outputs, DO NOT cite from previous pr diffs and comments, nor cite git hashes as chunk ids.
41
- Use file path citations that reference any code changes, documentation or files, and use terminal citations only for relevant terminal output.
42
- Prefer file citations over terminal citations unless the terminal output is directly relevant to the clauses before the citation, i.e. clauses on test results.
43
- For PR creation tasks, use file citations when referring to code changes in the summary section of your final response, and terminal citations in the testing section.
44
- For question-answering tasks, you should only use terminal citations if you need to programmatically verify an answer (i.e. counting lines of code). Otherwise, use file citations.

Autor

OpenAI