Lançámos o modo de objetivo (ou /goal) como uma forma de ajudar o Codex a trabalhar para um resultado concreto. Quando defines um objetivo, o Codex continuará a trabalhar até que o objetivo seja alcançado, quer demore horas ou dias. Algumas pessoas usaram o Codex para trabalhar num único objetivo durante mais de 120 horas.
O modo de objetivo é incrivelmente poderoso, e há algumas coisas que podes fazer para tirar o máximo partido dele. Aqui estão 7 coisas a ter em mente quando usares /goal.
1. Critérios claros *verificáveis
O prompt que defines quando ativas o modo de objetivo pode funcionar como o teu prompt inicial, mas, mais importante, servirá como critério de saída para o objetivo. O Codex verificará após uma iteração se o objetivo foi ou não alcançado. Como resultado, o teu prompt de objetivo não deve ser excessivamente longo e deve focar-se num critério claro sobre quando o objetivo foi alcançado.
Na maioria dos casos, um bom objetivo contém um número claro\* para o modelo atingir antes de o objetivo ser considerado completo. Bons exemplos:
- "Reduzir o tempo de build e deployment em 30%."
- "Migrar esta funcionalidade de TypeScript para Rust e atingir 100% de paridade de testes."
- "Melhorar o scaffolding da aplicação para que o maior contentful paint em produção fique abaixo de 2,5s."
\O prompt nem sempre tem de ser um número, mas geralmente ajuda com as dicas seguintes.*
Se não tiveres a certeza de como definir melhor o teu objetivo ou quiseres primeiro trabalhar com o Codex para debater o projeto, não precisas de iniciar um thread com o modo de objetivo.
O Codex pode definir um objetivo sozinho, por isso podes começar uma conversa e, quando estiveres pronto para o Codex começar a trabalhar, podes pedir ao Codex para definir o objetivo com base na tua conversa.
Também podes sempre editar o objetivo a qualquer momento, pressionando o botão de editar na aplicação Codex ou usando /goal novamente na CLI.
2. Fornece orientação, se possível
Enviar um prompt como "Reduzir o tempo de build e deployment em 30%" pode ser fixe e até encontrar algumas soluções criativas. Também pode levar o Codex numa busca infrutífera se tiveres uma ideia de onde o problema pode estar.
Quando possível, dá ao Codex um ponto de partida para começar a trabalhar, que ferramentas pode usar para alcançar o objetivo, ou quaisquer outras indicações para evitar que o Codex siga o caminho errado.
O meu colega @reach_vb, por exemplo, fez isso numa das suas experiências, dizendo ao Codex que podia usar o navegador Chrome para aceder ao Google Colab e limitações aceitáveis, como gerar o seu próprio conjunto de dados quando mandou o Codex treinar um modelo.
Da mesma forma, se estás à procura de reduzir os tempos de build e sabes onde a maior parte do tempo é gasta, tenta apontar o Codex para essa área primeiro como parte do teu prompt.
Alternativamente, podes até fazer com que o Codex faça alguma pesquisa inicial no modo de plano e crie um plano como um ficheiro que possa usar para documentar opções potenciais. Depois, faz com que o teu objetivo faça referência a esse plano.
3. Torna o progresso mensurável
Se o teu objetivo é ambicioso ou se há várias maneiras de o Codex se aproximar do objetivo, é importante que dês ao Codex ferramentas para medir o progresso.
No caso de algumas tarefas, isso pode ser algo dado como certo, como melhorar os tempos de build ou aumentar a cobertura de testes, porque o Codex muitas vezes já tem as ferramentas ou cria-as naturalmente.
Para outros objetivos, vale a pena debater com o Codex quais as ferramentas que seriam úteis ou dar-lhe pistas sobre maneiras de saber como está a progredir. Por exemplo, ter ferramentas para calcular diferenças visuais entre duas capturas de ecrã ou criar um conjunto de avaliação para um agente que estás a tentar ajustar.
Quando fiz o Codex recriar alguns componentes de um vídeo, fiz com que o Codex criasse uma ferramenta para si próprio para poder comparar as capturas de ecrã e inspecionar as diferenças. Ele optou por evoluir a ferramenta ao longo do tempo para ter diferentes modos de comparação.

Uma captura de ecrã que o Codex gerou para comparar visualmente dois frames
Dependendo da tua tarefa, também deves considerar se existem critérios adicionais que queres medir/verificar que podem fazer o Codex pensar que a tarefa foi concluída, mas que tu considerarias incompleta. Por exemplo, implementar uma UI recortando a inspiração de design e incorporando-a para ficar "pixel perfeito" ou atingir uma taxa de 100% de testes aprovados reduzindo a cobertura de testes.
4. Cria um ambiente realista
Para que o Codex faça verdadeiramente progresso em direção ao objetivo, ele precisa de operar num ambiente realista. Na prática, isso significa que, se estás a tentar melhorar os tempos de deployment ou problemas de latência, ele deve ter acesso a ambientes de deploy e teste que imitem a produção. Ou seja, a mesma stack, os mesmos flags, uma base de dados semelhante.
Como exemplo, estávamos a depurar algumas melhorias no tempo de build e deployment para developers.openai.com. Já estávamos a usar pré-visualizações de deploy, por isso o Codex conseguia usá-las para fazer deploy e rever os logs associados, mas os nossos deploys de pré-visualização tinham alguns caminhos de build desativados em comparação com as execuções completas de produção. Então, o Codex teve de fazer deploys manuais para os mesmos ambientes com configurações de produção semelhantes para inspecionar o ambiente.
Da mesma forma, podes fazer com que o Codex use computer use para testar a aplicação real. Para trabalhar em algumas melhorias de desempenho no iOS, o @dimillian usou até um dispositivo físico para o ambiente mais preciso.
5. Tem cuidado com objetivos visuais
Dar ao Codex um objetivo visual como "Implementar esta UI 100% pixel perfeita com base nesta imagem" é tentador, mas dependendo da configuração, pode causar alguns problemas.
Se não lhe deres a orientação e as restrições corretas, ele pode acabar por se perder em alguns problemas, ignorando o objetivo geral. Por exemplo, se a referência incluir gráficos que se espera que o Codex gere, sejam ícones SVG ou imagens, ele pode perder-se a tentar torná-los precisos em vez de dissecar o problema adequadamente.
Além disso, o Codex precisará de ferramentas para fazer a comparação visual corretamente, o que significa mais entradas de imagem e maior uso geral de tokens, sem necessariamente dar ao Codex uma maneira fácil de identificar oportunidades.
Em vez disso, as imagens podem muitas vezes servir como contexto útil para impulsionar o objetivo, mas deves encontrar outras maneiras de o Codex identificar que o objetivo foi alcançado, como listas de verificação de funcionalidades, especificações para implementar, adesão ao sistema de design, etc.
6. Acompanhar o progresso
Se o Codex acabar por trabalhar durante horas ou dias em segundo plano (ou até noutra máquina), é fácil perder o controlo de quão longe o Codex está ou que trabalho foi feito. Há algumas coisas que achei úteis, dependendo do objetivo, para acompanhar:
- Pede ao Codex para fazer commit em passos significativos e fazer push para um draft PR. Isto é útil especialmente se trabalhares num site com pré-visualizações de deploy.
- Faz com que o Codex atualize um artefacto para executivos. Pode ser um ficheiro HTML que podes manter aberto no navegador na aplicação ou até mesmo fazer deploy para a tua equipa usando Sites, uma imagem de um gráfico renderizado que acompanha o progresso ou até um ficheiro markdown simples.
- Instrui o Codex a publicar atualizações. Também podes pedir ao Codex, como parte do objetivo, para comunicar progressos importantes de volta a um canal do Slack ou outros locais onde queiras que o progresso seja documentado.
- Usa outros chats para pedir atualizações de estado. Se quiseres apenas uma verificação rápida do estado atual, podes executar /side para iniciar um novo chat lateral e fazer perguntas lá. Como ele bifurca o thread atual, tem todo o contexto até este ponto, mas também é de curta duração. A alternativa na aplicação Codex é pedir ao Codex num novo chat normal para ler o outro thread de objetivo e responder às tuas perguntas. Isto pode ser especialmente poderoso se pedires ao Codex para agendar uma automação para verificar regularmente.
7. Limpar e finalizar os resultados
Ótimo, o objetivo foi finalmente alcançado! Hora de simplesmente $yeet para a equipa e dar o dia por encerrado?
Geralmente, achei útil, especialmente para tarefas de otimização, que o Codex reflita sobre o trabalho feito e o reveja. Podes começar com um /review para executar uma revisão de código local, mas também pode valer a pena fazer com que o Codex reflita mais profundamente sobre as diferentes tentativas que fez para resolver o objetivo e limpar em conformidade.
Como o Codex continuará até atingir o objetivo, pode ter tentado várias coisas que não funcionaram suficientemente bem ou que não funcionaram de todo e que podem ter permanecido nas alterações.
Hora de definir o objetivo para a tua próxima tarefa
A funcionalidade de objetivo no Codex é uma ferramenta incrivelmente poderosa para resolver alguns dos desafios mais significativos que encontras, mas fornecer o ambiente e as instruções corretas levar-te-á ao teu objetivo de forma mais eficiente.
Para que já usaste /goal?
https://x.com/OpenAIDevs/status/2057530209470210453





