Simon Willison (cofundador do framework Django). Enquanto decorava árvores de Natal e assistia a filmes com sua família, ele usou o Codex CLI + GPT-5.2 para portar o JustHTML de Emil Stenström (Python puro, via html5lib-tests) para uma biblioteca JS pura, sem dependências, executando mais de 9200 casos de teste do html5lib-tests, resultando em aproximadamente 9000 linhas de código e 43 commits. Ao longo de todo o processo, ele enviou apenas cerca de 8 mensagens. É claro que não estou aqui para me gabar do Coding Agent ou de quão incrível é o GPT-5.2; é só que descobri que este caso se encaixa perfeitamente na zona de conforto do Coding Agent. Qual é a zona de conforto para um agente de codificação? 1. Traduzir de um idioma para outro Uma das melhores características dos grandes modelos de linguagem é a capacidade de "copiar" ou "traduzir", seja linguagem natural ou linguagem de programação, de forma rápida e eficiente. Portanto, traduzir de Python para JS neste caso é relativamente fácil. 2. Possui um conjunto completo de testes. Pense em como escrevemos código todos os dias. Depois de terminarmos de escrevê-lo, precisamos testá-lo. Se algo estiver errado, precisamos modificá-lo. Se esse processo exigir intervenção humana, como em testes de interface do usuário, será muito ineficiente. Mas se o agente puder se testar sozinho, ele poderá coletar feedback dos testes, ajustando e corrigindo continuamente até que o problema seja resolvido. O padrão HTML5 possui um conjunto de testes chamado html5lib-tests. Trata-se de um conjunto de dados de teste independente de linguagem (a entrada é HTML e a saída é uma estrutura de árvore de análise sintática correta). É como ter uma IA resolvendo um problema de matemática. Você não entende a solução, mas tem uma planilha com as respostas padrão. Você não precisa examinar cada linha de código que a IA escreve (o processo); você só precisa verificar se o resultado calculado está correto (o resultado). 3. A arquitetura já foi projetada; o agente só precisa "preencher as lacunas". Devido à limitação do tamanho da janela de contexto, cada tarefa do Agente não pode ter um contexto muito longo. Para projetos mais complexos, não é possível simplesmente transferir todo o código. Portanto, geralmente precisamos dividir as tarefas do Agente em tarefas menores, com base no projeto da arquitetura, para que possam ser concluídas dentro da janela de contexto. Portanto, o projeto arquitetônico é muito importante tanto para projetos do mundo real quanto para projetos de programação. Simon não precisou projetar este projeto do zero; ele simplesmente fez com que o Agente consultasse o design da API daquele projeto Python. Isso significa que a arquitetura já estava disponível e a IA só precisou "traduzi-la" com base na arquitetura existente. 4. Operado por um especialista Nos romances de artes marciais, a mesma espada pode liberar um poder ainda maior nas mãos de um mestre, e Simon é, sem dúvida, um mestre entre mestres. Consulte o procedimento operacional de Simon: 1) Estabelecer especificações (Especificar primeiro): O primeiro passo não é pedir código, mas sim fornecer à IA um código Python existente e solicitar que ela escreva uma versão em JavaScript do documento de design (especificação). 2) Teste de fumaça: Deixe a IA executar um teste de análise HTML muito simples, no nível "Olá, mundo!", para garantir que o link esteja funcionando. 3. O Teste de Loop: Simon configurou o GitHub Actions para que, sempre que um código fosse enviado, os mais de 9.000 casos de teste fossem executados automaticamente. - A IA escreve o código -> executa os testes -> reporta erros -> a IA lê os registros de erros -> corrige o código -> executa os testes novamente. Resultado: A IA, como um programador incansável, usou 1,4 milhão de tokens e fez 43 submissões até que todas as luzes verdes acendessem. Simon chama esse processo de “Projetando o Ciclo Agente”. É por isso que este projeto tem sido muito bem-sucedido para o Agente. --- Agora que sabemos onde se encontram a zona de conforto, ou os pontos fortes, do Agente de Codificação, podemos realmente aproveitar ao máximo esses pontos fortes durante o desenvolvimento, por exemplo: 1. Não se apresse em implementá-lo; primeiro, veja se existe um modelo que você possa seguir. 2. Permita que o agente valide os requisitos por conta própria sempre que possível. Forneça ao agente as ferramentas necessárias para validação, como o Chrome Dev Tool MCP, Lint, testes automatizados, etc. 3. Primeiro projete, depois implemente.
Carregando detalhes do thread
Buscando os tweets originais no X para montar uma leitura limpa.
Isso normalmente leva apenas alguns segundos.
