Simon Willison→ original

Simon Willison montou a página de newsletters por voz: Codex e GPT-6 Astra em uma hora

Simon Willison lançou no seu blog a página Newsletters, com o arquivo de todas as suas newsletters, e fez quase tudo por voz. No aplicativo desktop do ChatGPT, na aba Codex, ele passou meia hora ditando a tarefa ao modelo GPT-6 Astra High enquanto preparava o jantar. O modelo escreveu o modelo Django, a migração, os templates e quatro importações de dados. Mais meia hora foi gasta na revisão do pull request e em ajustes feitos por texto. • A voz permite desenvolver em paralelo com outras atividades. • Detalhes, logs e exemplos de código funcionam melhor quando colados como texto. • O autor não vê o modo de voz como sua forma principal de trabalho.

Processado por IA de Simon Willison; editado por Hamidun News
Simon Willison montou a página de newsletters por voz: Codex e GPT-6 Astra em uma hora
Fonte: Simon Willison. Colagem: Hamidun News.
◐ Ouvir artigo

Simon Willison, criador do Django e um dos praticantes mais conhecidos de desenvolvimento com LLMs, publicou no seu blog a página Newsletters: um índice de todas as suas newsletters, tanto a semanal gratuita no Substack quanto a mensal para patrocinadores. Quase todo o código foi escrito pelo modelo GPT-6 Astra High, no modo de voz do Codex, dentro do aplicativo desktop do ChatGPT. A ditada levou cerca de meia hora, enquanto Willison preparava o jantar. Mais meia hora foi gasta em revisão e ajustes feitos no teclado.

Meia hora ao lado do fogão

Ele iniciou a sessão com o comando de texto "Start dev server and open in browser". Com isso, a prévia local do blog apareceu na tela, e dava para acompanhar o progresso visualmente. Em seguida, clicou em "Start new voice chat". Não é o botão do microfone, e sim o vizinho, à direita. O notebook foi parar na cozinha, e o trabalho começou.

A tarefa era típica de Django: um novo modelo, uma migração, uma view, templates e algumas funções de importação. Willison confiava que o modelo daria conta. Por isso, o briefing saiu em tom de conversa, com "hum" e autocorreções.

Primeiro ele disse que as newsletters não deveriam aparecer nas páginas de tags, no índice e nos arquivos por data, mas depois mudou de ideia quanto às datas: se uma newsletter foi enviada em 19 de setembro, ela deve aparecer na página desse dia. As cópias do Substack não precisam ser indexadas na busca, porque duplicam conteúdo do blog. As edições mensais têm conteúdo exclusivo e, um mês depois do envio, quando são abertas, devem entrar na busca.

O modelo entendeu os requisitos; Willison publicou a transcrição completa em um Gist. De tempos em tempos, o modelo fazia perguntas de esclarecimento e voltava a editar o código.

O que ficou pronto

Na sessão, foram criados:

  • um novo modelo Django, a migração e as configurações do admin;
  • quatro importações: as edições recentes do Substack via RSS, o restante do arquivo do Substack por meio de uma API não documentada, as edições mensais publicadas a partir de um repositório do GitHub e a última edição fechada para patrocinadores, vinda de um repositório privado;
  • as páginas públicas /newsletters/ e /newsletters/2026/;
  • a exibição das newsletters nas páginas de dias e meses, mas não na página inicial nem nas tags;
  • links: as edições semanais levam ao Substack, e as mensais têm páginas próprias;
  • integração com a busca do site.

O modelo resolveu sozinho a API do Substack. Ele conhecia o caminho /api/v1/archive e o testou diretamente. Depois, fez uma busca para entender a paginação e encontrou um artigo de Karen Spinner. O design da página de índice também foi ideia do modelo. Willison fez os ajustes por voz, olhando a prévia do outro lado da cozinha.

As importações ficaram incompletas. A Astra sugeriu exportar os dados de uma cópia local e carregá-los em produção, mas o autor queria um mecanismo igual ao dos seus outros scripts. Parte dos dados está em um repositório privado do GitHub, o que exigia uma nova chave de API, e para isso era preciso sentar diante do teclado.

Revisão e os limites da voz

Dali em diante, o fluxo foi o de sempre: o Codex criou uma branch e abriu um pull request, e Willison leu o diff na interface do GitHub. O principal reparo foi que, em uma das importações, o modelo chamava o Git via subprocess. Para um repositório privado, a API é mais confiável, então ele passou para o texto e pediu a troca da abordagem. Os commits adicionais no PR nº 719 incluem essa troca e pequenos ajustes de exibição. Mais meia hora de prompts de texto, e o código foi para produção.

A conclusão principal do autor é surpreendentemente sóbria: a voz não vai virar sua ferramenta diária. A OpenAI gosta de mostrar demos assim, por exemplo no DevDay, e ali elas funcionam. Mas, quando chega a hora dos detalhes, é mais rápido colar um exemplo, uma mensagem de erro ou selecionar o trecho de código certo do que descrevê-los com palavras. Há ainda a questão do escritório compartilhado: ele não conversaria assim com o computador na frente dos colegas.

O ponto forte da combinação está em outro lugar. A prévia visual e a possibilidade de migrar para o teclado a qualquer momento deixam o modo de voz muito mais útil do que no celular durante uma caminhada com o cachorro, onde saem principalmente pesquisa e brainstorming. A conclusão prática para desenvolvedores é esta: a voz serve para a primeira passada, quando é preciso explicar a intenção e a estrutura geral.

O acabamento, a revisão e tudo o que depende de código exato é melhor fazer por texto. A tarefa para testar a abordagem deve ser típica: framework conhecido, esquema de dados claro e servidor local para dar feedback. E a revisão do pull request continua obrigatória: foi ela que pegou a chamada desnecessária ao Git.

ZK
Hamidun News
Notícias de AI sem ruído. Seleção editorial diária de mais de 50 fontes. Produto de Zhemal Khamidun, Head of AI na Alpina Digital.
✦ Hands-On AI Engineering

Build & Ship Production AI Apps with Vibe Coding

Join Zhemal Khamidun's hands-on Vibe Coding Intensive at hamidun.com/vibecoding — master Claude Code, Cursor, and autonomous agentic workflows.

Explore Vibe Coding →Vibe Academy Platform
O que você acha?
Carregando comentários…