Como testar se o GPT-6 Astra respeita as convenções do seu projeto (e não só se o código roda)

Testar o GPT-6 Astra nas convenções do projeto é diferente de testar se o código roda: o CI já diz se passa, o que ninguém mede é se o modelo respeita pasta, nome, camada e estilo da casa. O caminho é escrever as regras em AGENTS.md (raiz e aninhados), rodar uma tarefa-controle pequena com modelo e esforço fixados, olhar o /diff e revisar contra as próprias regras com /review ou @codex review. Depois repete sem o AGENTS.md e variando reasoning.effort, anotando o custo (US$ 10 por milhão de tokens de entrada e US$ 50 de saída).
Código que passa em todos os testes e mesmo assim volta na revisão é o retrabalho mais chato que existe
CI verde, teste unitário ok, e aí o revisor abre o PR e vê arquivo na pasta errada, nome fora do padrão, regra de camada furada, helper duplicado que já existia em outro lugar 😅
O GPT-6 Astra é o modelo mais recente da OpenAI, lançado em 03/09/2026, posicionado para raciocínio complexo, código, uso de computador, pesquisa e criação de documentos
A OpenAI afirma que ele é melhor em manter o foco, respeitar os limites da tarefa, entender a intenção do usuário e completar fluxos de várias etapas
Beleza, mas isso é claim de anúncio
O que decide a sua migração é outra coisa: se ele respeita as convenções do SEU repositório, com as suas pastas, os seus nomes e a sua arquitetura
E isso nenhum benchmark de terceiro responde por você, só o seu diff
Bora montar esse teste?
O que você precisa antes de testar o GPT-6 Astra no seu projeto
Antes de sair rodando, junta essas peças
- Codex CLI na versão 0.153.0 ou mais nova, porque o Astra exige isso
- Acesso ao modelo: pelos planos do ChatGPT (o Plus inclui o Astra no ChatGPT Work e no Codex conforme o rollout avança, e o GPT-6 Pro, movido pelo Astra, está sendo liberado para Pro US$ 100, Pro US$ 200, Business e Enterprise) ou pela API, com o model id
gpt-6-astraem Chat Completions, Responses e Batch - Um repositório Git com convenções que existem de verdade, não convenção que mora na cabeça do time
- Ciência do custo: US$ 10 por milhão de tokens de entrada e US$ 50 por milhão de tokens de saída
Formação Claude Code
Domine Claude Code do absoluto zero até o avançado
- 120 aulas
- 4 projetos
- 9h 45min
Sobre cota, vale o detalhe que muda o seu ritmo de teste: o uso do Astra consome a cota de Work e Codex já inclusa no plano
Pro US$ 100, Pro US$ 200 e assentos Business Premium podem usar a cota cheia, enquanto Plus e Business Standard têm uso limitado do Astra, com créditos opcionais pra uso adicional
Ou seja, Business não é um bloco só: depende do assento 🙂
Vale saber também que o reasoning.effort do Astra aceita low, medium, high, xhigh e max
Ele não suporta o valor none, então não adianta tentar desligar o raciocínio pra economizar
Um detalhe que muda o teste inteiro: a orientação oficial de regras de revisão é deixar checagem de formatação e lint no CI
Faz sentido, né?
Se o Prettier ou o ESLint já reprovam o arquivo, você não precisa do modelo pra isso
O teste tem que medir justamente o que o CI NÃO pega: pasta, nome, camada, padrão de arquitetura
Passo a passo: montando o teste de convenções
A lógica aqui é simples: você escreve a regra, dá uma tarefa que obriga o modelo a decidir, e depois olha a decisão dele
Sem opinião antes do diff, beleza?
- Escreva as regras em
AGENTS.md
A recomendação oficial do guia de AGENTS.md do Codex é colocar regra de repositório inteiro no arquivo da raiz e regra específica em arquivo aninhado
Algo assim:
AGENTS.md
services/experiment_reporting/AGENTS.md
O Codex aplica a raiz mais a orientação mais específica que cobre cada arquivo alterado
E a orientação pra escrever essas regras é: conciso, descrevendo o comportamento a sinalizar e as exceções seguras
O erro comum deste passo: escrever um manual de 40 linhas com estilo, lint e filosofia da empresa junto
Regra genérica não vira sinal, vira ruído
- Entenda a ordem de leitura antes de culpar o modelo
O Codex lê instruções em dois escopos: o global, no diretório home do Codex (padrão ~/.codex), e o do projeto, começando na raiz do projeto (normalmente a raiz do Git) e descendo até o diretório atual de trabalho
Em cada diretório do caminho, ele procura nesta ordem:
AGENTS.override.md
AGENTS.md
nomes definidos em project_doc_fallback_filenames (ex.: TEAM_GUIDE.md, .agents.md)
No escopo global ele usa apenas o primeiro arquivo não vazio
Os arquivos de projeto são concatenados da raiz para baixo, separados por linhas em branco, e o arquivo mais próximo do diretório atual prevalece porque aparece mais tarde no prompt combinado
O erro comum deste passo: achar que a raiz manda sempre
Não manda: quem está mais perto do seu cwd sobrepõe a orientação anterior
- Defina a tarefa-controle
Uma feature PEQUENA que force decisão de pasta, de nome e de camada
Tipo: "adicione um endpoint que devolve o status de um relatório"
Isso obriga o modelo a escolher onde o arquivo vive, como o arquivo se chama, se a regra de negócio entra no controller ou no service
O erro comum deste passo: escolher um algoritmo (ordenação, parser, cálculo)
Algoritmo mede se roda, e você já sabe que roda
Algoritmo não tem opinião sobre a sua estrutura de pastas
- Rode com modelo e esforço fixados
No Codex CLI dá pra escolher o modelo na abertura da sessão com --model (ou o apelido -m):
codex --model gpt-6-astra
E dentro da sessão interativa você usa /model pra trocar de modelo ou ajustar o esforço de raciocínio
O erro comum deste passo: rodar duas vezes com configuração diferente e comparar os dois diffs como se fossem a mesma coisa
Se o esforço mudou no meio, a comparação morreu
- Inspecione o resultado com
/diffantes de qualquer opinião
/diff
Esse comando mostra as mudanças exatas nos arquivos
É aqui que o teste acontece de verdade: você lê o diff procurando pasta, nome e camada, não procurando bug
O erro comum deste passo: rodar o teste unitário primeiro e já decidir que "funcionou"
Passar no teste é a linha de base, não a nota
- Rode a revisão contra as suas próprias regras
O Codex Code Review usa regras próprias do repositório declaradas no AGENTS.md
Basta adicionar uma seção chamada ## Code Review Rules no arquivo mais próximo do código que as regras governam, com as regras logo abaixo:
Sinalize handler que fala direto com o banco: acesso a dados vive na camada de repositório
Exceção segura: scripts em tools/, que rodam fora da aplicação
Aí, dentro da sessão do Codex CLI, você dispara a revisão com /review, que resume os problemas encontrados na working tree
O erro comum deste passo: esquecer que o /review usa o modelo da sessão atual, a menos que review_model esteja definido no config.toml
- Repita a mesma tarefa com o
AGENTS.mdremovido ou reduzido
Esse passo é o que separa mérito do modelo de mérito das instruções
Se o diff continua no padrão da casa sem as regras escritas, o modelo inferiu do repositório
Se desanda, o mérito era do seu AGENTS.md, e isso também é uma informação ótima
O erro comum deste passo: pular ele
Aí você acaba elogiando o modelo por uma coisa que o seu próprio documento fez
- Repita variando o
reasoning.efforte anote o custo
Mesma tarefa, mesmo repositório, esforço diferente entre low, medium, high, xhigh e max
Anota quanto cada rodada consumiu, lembrando dos US$ 10 por milhão de tokens de entrada e US$ 50 por milhão de saída
Se o medium já entrega o mesmo diff que o max, a decisão financeira se resolve sozinha
Se você quer o roteiro mais amplo, tem um passo a passo de como testar o Astra antes de migrar que cobre o teste geral, e este post aqui é o recorte de convenções
O erro comum deste passo: comparar rodadas sem anotar o esforço usado em cada uma
Daqui a duas semanas você não lembra, garanto 😛
Como pontuar: separando o que roda do que segue o padrão da casa
Agora a parte que o pessoal costuma fazer no feeling
Teste unitário verde é a LINHA DE BASE, não a nota
E formatação e lint saem da conta, porque a orientação oficial é deixar essas checagens no CI
O que sobra é isso aqui:
| Dimensão | O que observar no diff | Como verificar | Peso na decisão |
|---|---|---|---|
| Estilo de código não coberto por lint | Jeito de tratar erro, formato de retorno, uso dos helpers que já existem | Leitura do /diff comparando com um arquivo equivalente já existente |
Médio |
| Estrutura de pastas | Arquivo novo criado no lugar certo ou pasta inventada do zero | /diff olhando só os caminhos dos arquivos criados |
Alto |
| Nomes | Nome de arquivo, classe, função e variável seguindo o padrão do módulo | /diff mais uma regra explícita no AGENTS.md da raiz |
Alto |
| Padrão de arquitetura | Regra de negócio na camada certa, acesso a dados isolado, dependência na direção correta | Seção ## Code Review Rules com a regra e o /review sinalizando a violação |
Alto |
| Respeito às regras aninhadas | Arquivo dentro de um serviço seguindo o AGENTS.md daquele serviço, não só o da raiz |
Tarefa que toca um caminho tipo services/experiment_reporting/ e depois /review |
Alto |
A leitura é direta: se o diff roda mas erra pasta, nome e camada, o modelo te entregou trabalho, não entregou pull request
Quando o Astra ignora suas convenções: sintomas, causas e correções
O sintoma: a regra está escrita e mesmo assim foi ignorada
Causa provável: o arquivo mais próximo do diretório atual sobrescreveu a orientação da raiz
Lembra que a concatenação é da raiz para baixo e o que vem depois prevalece?
Se o AGENTS.md de um subdiretório diz outra coisa, é ele que ganha
Como prevenir: antes de acusar o modelo, leia a cadeia inteira do caminho que a tarefa tocou, da raiz do Git até o cwd
O sintoma: metade das regras parece não existir pro modelo
Causa provável: truncamento
A configuração project_doc_max_bytes, no ~/.codex/config.toml, controla o limite de bytes das instruções combinadas antes do truncamento
Aí o seu manual gigante entra pela metade e a regra importante ficou de fora
Como prevenir: regra concisa, do jeito que a orientação oficial pede, e regra específica no arquivo aninhado em vez de tudo empilhado na raiz
O sintoma: a revisão não sinaliza nada, mesmo com violação clara
Causa provável: regra genérica demais
"Siga a arquitetura do projeto" não é regra, é desejo
Como prevenir: descreva o comportamento a sinalizar e as exceções seguras, que é exatamente a recomendação oficial pras regras de code review
O sintoma: você escreveu o arquivo e ele nunca foi lido
Causa provável: nome fora da ordem de busca
O Codex procura AGENTS.override.md, depois AGENTS.md, depois os nomes configurados em project_doc_fallback_filenames (por exemplo TEAM_GUIDE.md e .agents.md)
Se o seu arquivo se chama outra coisa e não está nessa lista, ele simplesmente não entra
Como prevenir: use os nomes da ordem de busca ou registre o seu nome em project_doc_fallback_filenames
O sintoma: a revisão saiu com uma cara diferente do esperado
Causa provável: review_model definido no config.toml
O /review usa o modelo da sessão atual, a menos que esse valor esteja configurado
Aí você acha que testou o Astra revisando e testou outro modelo 🙂
Como prevenir: confira o config.toml antes da rodada e deixe registrado qual modelo revisou o quê
Onde esse teste muda mais a decisão
Esse teste não pesa igual pra todo mundo
Tem contexto em que ele é decisivo:
- Monorepo com regras por serviço: é o cenário clássico do
AGENTS.mdaninhado, e é onde o modelo mais tem chance de aplicar a regra de um serviço no outro - Base legada com padrão implícito: aqui o teste vira documentação, porque escrever a regra pro modelo obriga o time a admitir qual é a regra
- Time que revisa por PR e sofre com retrabalho: cada violação de convenção que passa vira ida e volta de revisor, e é isso que você está tentando cortar
- Projeto de contexto grande: o Astra tem 1,05 milhão de tokens de contexto e até 128.000 tokens de saída, o que muda o tamanho de tarefa que cabe numa rodada só
E o contraponto, sem exagero pra nenhum lado
No Artificial Analysis Coding Agent Index, o GPT-6 Astra rodando no harness do Codex marca 67, tecnicamente empatado com Claude Opus 5 e Fable 5 no Claude Code
A liderança é do Fable 5.1 no Claude Code, com 70
No Intelligence Index, o Astra em max marca 55, atrás do Claude Fable 5.1 (max effort), que lidera com 57
As pontuações divulgadas variam por esforço: 55 em max, 53 em high, 52 em medium e 49 em low (o xhigh não aparece nessa lista de pontuações)
No consumo, ele é bem econômico: usa cerca de um terço dos tokens do GPT-5.6 Sol (max) no harness do Codex e um quinto dos tokens do Claude Opus 5 (xhigh)
Porém o preço por token subiu: em max effort ele é 75% mais caro que o Sol, e é isso que coloca ele atrás do Sol na fronteira de inteligência por custo por tarefa do Artificial Analysis
Avaliadores independentes resumem numa frase que combina com tudo isso: ganhos grandes em benchmarks especializados (uso de computador, fluxos de terminal, recuperação em contexto longo) e ganhos modestos ou estáveis no resto
Se a sua dúvida é mais de bolso que de padrão, dá pra olhar por outro ângulo e avaliar se o custo compensa pra sua tarefa
O que fazer com o resultado do seu teste
A decisão sai do seu diff, não do anúncio
Nenhum dos números aí em cima mede especificamente aderência a convenção de projeto, e é por isso que o teste é seu
O próximo passo é curto e prático:
- Versione o
AGENTS.mdda raiz e os aninhados junto com o código, porque regra que não está no Git é regra que some - Mova formatação e lint pro CI, do jeito que a orientação oficial pede, e deixe o modelo cuidar do que o CI não vê
- Transforme a tarefa-controle em rotina: toda atualização de modelo, roda ela de novo e compara o diff
- Refaça a medição quando o esforço de raciocínio mudar ou quando o custo mudar, porque as duas coisas mexem no resultado
É pouco trabalho e economiza um monte de ida e volta na revisão
Então bora escrever aquele AGENTS.md que tá pendente há meses? 😀
até o próximo post!
Perguntas frequentes
Dá pra testar as convenções do GPT-6 Astra usando o Claude Code em vez do Codex CLI?
O Astra exige Codex CLI na versão 0.153.0 ou mais nova, então o passo a passo deste post (AGENTS.md, /diff, /review) roda nesse ambiente. As comparações do Artificial Analysis que aparecem por aí, tipo Astra rodando no Codex contra Opus 5 e Fable 5 no Claude Code, são benchmarks entre harnesses diferentes, não um jeito de rodar o Astra dentro do Claude Code.
Quanto custa rodar esse teste de convenções pela API do GPT-6 Astra?
O preço é US$ 10 por milhão de tokens de entrada e US$ 50 por milhão de tokens de saída, usando o model id gpt-6-astra em Chat Completions, Responses ou Batch. Uma tarefa-controle pequena, como o endpoint de status de relatório do passo 3, consome bem menos que um milhão de tokens, então o custo do teste em si tende a ser baixo.
Preciso do plano Pro do ChatGPT pra testar o GPT-6 Astra no Codex?
Não necessariamente. O plano Plus já inclui o Astra no ChatGPT Work e no Codex conforme o rollout avança, mas com uso limitado e créditos opcionais depois. O GPT-6 Pro, movido pelo Astra, está sendo liberado para Pro US$ 100, Pro US$ 200, Business e Enterprise, e na hora da cota o desenho é o mesmo que aparece no corpo do post: Pro US$ 100, Pro US$ 200 e assentos Business Premium usam a cota cheia, enquanto Plus e Business Standard ficam com uso limitado do Astra.
Qual nível de reasoning.effort escolher pra esse teste, low ou max?
O reasoning.effort do Astra aceita low, medium, high, xhigh e max, sem suporte a none. O Intelligence Index divulga pontuação para quatro desses níveis, subindo conforme o esforço (49 no low, 52 no medium, 53 no high e 55 no max), e o xhigh não aparece nessa lista de pontuações. Pro teste de convenções o que importa mesmo é fixar o mesmo nível nas duas rodadas, senão o diff comparado não tem valor.
O GPT-6 Astra é mais caro de rodar em max effort do que o modelo anterior da OpenAI?
Por token, sim: no esforço máximo o Astra fica 75% mais caro que o GPT-5.6 Sol, e o Artificial Analysis coloca ele atrás do Sol na fronteira de inteligência por custo por tarefa. Do outro lado da conta, o Astra usa cerca de um terço dos tokens que o Sol (max) usava no harness do Codex, então o jeito honesto de decidir é medir o gasto da sua própria tarefa em vez de olhar só o preço por token.
O GPT-6 Astra tem desempenho melhor que o Claude Opus 5 em tarefas de código?
No Artificial Analysis Coding Agent Index, o Astra rodando no harness do Codex marca 67, tecnicamente empatado com Claude Opus 5 e Fable 5 no Claude Code. A liderança geral é do Fable 5.1 no Claude Code, com 70, então não dá pra falar em vantagem clara do Astra nesse índice, e nenhum desses números mede se o modelo respeita as convenções do seu repositório especificamente.
Formações
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 27min
Blog | Mais populares
GPT-6 Astra ou Gemini: qual modelo usar para código no dia a dia?
GPT-6 Astra ou Gemini: qual escolher para código no dia a dia? Compare preço, limite de saída e casos de uso e veja o veredito sem enrolação.
Como usar o GPT-6 Astra para entender um repositório legado que ninguém documentou
O GPT-6 Astra promete entender repositórios legados sem documentação. Veja o passo a passo com 1 milhão de tokens de contexto e como validar cada resposta.
Streaming ou resposta completa no GPT-6 Astra: qual escolher na sua aplicação?
Streaming GPT-6 Astra ou resposta completa? Veja quando cada modo faz sentido, como funciona o modo background e por que o preço por token não muda.
