O Codex é um software que se baseia no codex-1 O Codex é uma inteligência de engenharia de software baseada em nuvem e centrada em modelos, agora integrada ao ChatGPT. Em vez de ser uma simples ferramenta de geração de código, o Codex é um agente capaz de executar de forma autônoma tarefas de programação complexas, executadas em um ambiente de sandbox separado e seguro na nuvem, com a capacidade de pré-carregar a base de código do usuário. Ele executa tarefas como desenvolver novos recursos, corrigir bugs e responder a perguntas sobre a base de código com base em instruções de linguagem natural. Durante a execução, ele não apenas lê e grava arquivos, mas também executa testes, ferramentas de formatação de código e verifica iterativamente até que a tarefa seja concluída. Após a conclusão de uma tarefa, o Codex confirma as alterações no código e fornece um registro verificável da operação, incluindo logs de terminal e saída de teste, para análise do usuário.

Lista de funções
- Executar tarefas completas de engenhariaExecute tarefas específicas de engenharia de software, como correção de bugs ou implementação de novos recursos, em um ambiente separado baseado em nuvem, com base nas instruções do usuário.
- Interação com a base de códigoCapacidade de ler, editar e gravar arquivos diretamente em um ambiente de área restrita com uma base de código de usuário pré-carregada.
- Executar comandos do terminalVocê pode executar comandos em um ambiente isolado, como a execução de ferramentas de teste (
test runners), verificador de formato de código (linters) e o verificador de tipos (type checkers)。 - Testes automatizados e correçõesCapacidade de executar testes de forma autônoma para validar as alterações feitas e, se o teste falhar, ele tenta repetir as alterações até que o teste seja aprovado.
- Gerar solicitações de revisão e alteração de códigoQuando a tarefa é concluída, ela é enviada
git commitO GitHub Pull Request pode ser gerado para revisão manual com evidências da operação completa. - Conformidade com as especificações do projetoÉ possível ler as informações de um projeto
AGENTS.mddocumentação, aprender e seguir configurações específicas do ambiente de desenvolvimento, instruções de teste e procedimentos operacionais padrão do projeto. - Perguntas e respostas sobre a base de códigoOs usuários podem fazer perguntas ao Codex para obter informações e explicações sobre a base de código carregada no momento.
- Aplicação de segregação seguraTodas as tarefas são executadas em um contêiner seguro e isolado da rede externa, garantindo a segurança do código do usuário.
Usando a Ajuda
O Codex é usado como uma poderosa inteligência de engenharia de software que vai além da geração de código tradicional. Ele simula um engenheiro de software que colabora remotamente, a quem você delega tarefas e as revisa quando são concluídas.
Processo de uso principal
- Iniciar o Codex:
- 在 ChatGPT na barra lateral e selecione Codex.
- Siga as diretrizes para conectar o Codex à sua base de código do GitHub. O Codex clonará essa base de código em um ambiente sandbox separado baseado em nuvem para operação.
- executar algo:
- Executar tarefas de programaçãoSe você quiser que ele modifique o código, como corrigir um bug ou adicionar um novo recurso, digite um comando claro e clique no botão
CodeBotões. Um bom comando deve conter contexto suficiente, por exemplo, "Please fix theastropy/astropyUma pergunta na biblioteca:Modeling的separability_matrixNão é possível calcular o aninhamento corretamenteCompoundModelsde separabilidade". - Faça uma pergunta sobre a base de códigoSe quiser apenas entender algum aspecto da base de código, você pode inserir sua pergunta e clicar no botão
AskBotão. Por exemplo, "Por favor, explique onde está a lógica que lida com a autenticação do usuário neste projeto?"
- Executar tarefas de programaçãoSe você quiser que ele modifique o código, como corrigir um bug ou adicionar um novo recurso, digite um comando claro e clique no botão
- Monitorar e aguardar:
- Depois que a tarefa é iniciada, o Codex trabalha de forma autônoma em um ambiente sandbox em segundo plano. Dependendo da complexidade da tarefa, esse processo pode levar de 1 a 30 minutos.
- Você pode monitorar o progresso da execução do Codex em tempo real e ele mostrará o que está sendo feito, como leitura de arquivos, execução de comandos, etc.
- Resultados da análise:
- Após a conclusão da tarefa, o Codex confirma as alterações de código feitas no ambiente sandbox.
- Ele fornecerá um relatório detalhado com evidências verificáveis de sua operação, como registros de comandos de terminal executados e resultados de testes. Isso permite que você rastreie cada etapa da tarefa em sua totalidade, garantindo a transparência e a correção de sua operação.
- Você pode analisar cuidadosamente o código que ele modifica, as mensagens de confirmação e os resultados dos testes.
- operação de acompanhamento:
- Solicitações de modificações: Se os resultados não forem exatamente os esperados, você poderá continuar a solicitar alterações.
- Criação de uma solicitação de mudançaSe estiver satisfeito com os resultados, você pode fazer com que o Codex crie um Pull Request do GitHub com um único clique para facilitar a revisão do código pela sua equipe.
- localizaçãoVocê também pode optar por integrar as alterações diretamente em seu ambiente de desenvolvimento local.
fazer uso de AGENTS.md Arquivo Boot Codex
Para tornar o Codex mais eficiente e preciso, você pode criar um AGENTS.md arquivo. Esse arquivo é semelhante ao arquivo README.mdé um manual de instruções escrito especificamente para inteligências de IA.
- corresponde ao inglês -ity, -ism, -izationCódigo de segurança: Você pode informar ao Codex em um arquivo como navegar pela sua base de código, quais instruções de teste executar, quais convenções de codificação o projeto segue e como são os procedimentos operacionais padrão.
- Exemplo de conteúdo:
# AGENTS.md ## 如何运行测试 要运行完整的测试套件,请在项目根目录执行以下命令: `pytest` ## 编码规范 本项目遵循 PEP 8 编码规范。在提交代码前,请确保运行 `flake8 .` 并且没有错误报告。 ## 关键模块说明 - `src/core/auth.py`: 负责用户认证和会话管理。 - `src/api/v1/`: V1版本的所有API端点定义。
Assim como os desenvolvedores humanos, o Codex tem melhor desempenho quando o ambiente de desenvolvimento está bem configurado, a estrutura de testes é estável e a documentação é clara.
cenário do aplicativo
- Automação de tarefas de manutenção de rotina
Tarefas altamente repetitivas e de escopo claro, como refatoração de código, renomeação de variáveis ou funções e adição de testes de unidade ao código existente, podem ser deixadas inteiramente para o Codex, liberando os desenvolvedores para se concentrarem em um trabalho mais criativo. - Corrigir rapidamente os bugs conhecidos
Quando um relatório de bug claro é recebido, o desenvolvedor pode simplesmente passar o relatório como uma tarefa para o Codex, que localizará automaticamente o código problemático, escreverá um patch de correção, executará testes relevantes para verificar a eficácia da correção e, por fim, gerará uma solicitação de alteração. - Criar uma nova estrutura funcional
Ao desenvolver um novo recurso, o Codex pode ser instruído a desenvolver o código da estrutura subjacente, como a criação de novos pontos de extremidade de API, a definição do modelo de dados, a geração de arquivos de amostra para componentes e assim por diante, para acelerar o início do processo de desenvolvimento. - Aprimorar a qualidade da base de código
Os desenvolvedores podem delegar ao Codex a execução de tarefas de aprimoramento da qualidade do código, como "formatar todos os códigos não conformes no projeto", "criar um novo código para ouserOs módulos adicionam testes para obter uma cobertura de teste de 90% ou mais", etc.
QA
- É seguro vincular minha base de código privada ao Codex?
O Codex executa todas as tarefas em um contêiner sandbox de nuvem totalmente isolado e seguro. Durante a execução da tarefa, o acesso à rede é desativado, e as inteligências só podem acessar repositórios de código do GitHub e pacotes de dependências pré-instalados que você autorizar por meio de comandos, e não têm acesso a sites externos, APIs ou outros serviços. AGENTS.mdA documentação é necessária?
Não é obrigatório, mas contribui muito para melhorar o desempenho do Codex. Sem esse arquivo, o Codex tentará entender e manipular seu projeto com base em seu conhecimento geral de treinamento. No entanto, ao fornecer um arquivoAGENTS.mdA documentação, como um guia de projeto para um engenheiro novo na equipe, pode ajudá-lo a se adaptar mais rapidamente e a seguir os padrões e processos específicos do seu projeto.- Qual é a diferença entre o Codex e a solicitação de trechos de código diretamente no ChatGPT?
Esses são dois modos de trabalho completamente diferentes. A solicitação de código diretamente no ChatGPT é a "geração de texto", em que a IA gera um trecho textual de código com base em sua descrição. O Codex, por outro lado, é uma "inteligência de engenharia de software" que opera em toda a sua base de código em um ambiente de desenvolvimento real (mas isolado), lendo e gravando arquivos, executando comandos, executando testes e enviando para o controle de versão - um fluxo de trabalho automatizado completo. - Quanto tempo o Codex leva para executar uma tarefa? Por que ele é mais lento do que uma pergunta e resposta direta?
O Codex executa uma tarefa de delegação assíncrona que requer uma série de etapas, como clonar a base de código, analisar os requisitos, escrever o código, executar testes iterativamente, confirmar alterações etc. Isso imita o fluxo de trabalho de um desenvolvedor real e, portanto, leva mais tempo do que o Instant Q&A, geralmente entre 1 e 30 minutos. Isso é semelhante a delegar uma tarefa em segundo plano a um colega, que leva um certo tempo para ser concluída.
Dicas do sistema codex-1
# Instructions
– The user will provide a task.
– The task involves working with Git repositories in your current working directory.
– Wait for all terminal commands to be completed (or terminate them) before finishing.
# Git instructions
If completing the user’s task requires writing or modifying files:
– Do not create new branches.
– Use git to commit your changes.
– If pre-commit fails, fix issues and retry.
– Check git status to confirm your commit. You must leave your worktree in a clean state.
– Only committed code will be evaluated.
– Do not modify or amend existing commits.
# AGENTS.md spec
– 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.
– These files are a way for humans to give you (the agent) instructions or tips for working within the container.
– Some examples might be: coding conventions, info about how code is organized, or instructions for how to run or test code.
– 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.
– Instructions in AGENTS.md files:
– The scope of an AGENTS.md file is the entire directory tree rooted at the folder that contains it.
– For every file you touch in the final patch, you must obey instructions in any AGENTS.md file whose scope includes that file.
– Instructions about code style, structure, naming, etc. apply only to code within the AGENTS.md file’s scope, unless the file states otherwise.
– More-deeply-nested AGENTS.md files take precedence in the case of conflicting instructions.
– Direct system/developer/user instructions (as part of a prompt) take precedence over AGENTS.md instructions.
– AGENTS.md files need not live only in Git repos. For example, you may find one in your home directory.
– 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.
– This applies even for changes that appear simple, i.e. documentation. You still must run all of the programmatic checks.
# Citations instructions
– 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:
1) `[F:†L(-L)?]' '
– 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.
– `line_start` is the 1-indexed start line number of the relevant output within that file.
2) `[†L(-L)?]' '
– 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.
– Line ends are optional, and if not provided, line end is the same as line start, so only 1 line is cited.
– 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.
– Do not cite completely empty lines inside the chunk, only cite lines that have content.
– Only cite from file paths and terminal outputs, DO NOT cite from previous pr diffs and comments, nor cite git hashes as chunk ids.
– Use file path citations that reference any code changes, documentation or files, and use terminal citations only for relevant terminal output.
– 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.
– 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.
– 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.
































