-
Chat é um padrão de UI ruim para ferramentas de desenvolvimento
- Exigir precisão dos humanos no código é algo bom, porque os computadores precisam de precisão
- Mas isso força os humanos a pensarem como máquinas
- Durante décadas, houve esforços para tornar a programação mais amigável para humanos. Linguagens de alto nível e interfaces visuais são exemplos disso
- Esperava-se que a IA resolvesse esse problema. A expectativa era que seria possível programar em inglês
-
A primeira onda de ferramentas de codificação com IA
- As primeiras ferramentas de codificação com IA desperdiçaram a oportunidade. Fazem demos chamativas, mas produzem software inútil
- Costumam ser mencionadas apenas como “para prototipagem”, mas na prática não têm precisão suficiente para uso real
- Muitas pessoas culpam os modelos de IA e argumentam que eles precisam ficar mais inteligentes
- Mas, ao construir software importante, é preciso compreensão clara, não adivinhação
-
Escrever software não é uma conversa
- Escrever software é como redigir leis. Usa-se o inglês, mas definem-se termos, estabelecem-se regras e gerenciam-se interações complexas
- Não dá para escrever um código tributário em mensagens de chat. É preciso documentação
- A documentação permite organizar a complexidade, referenciar pontos específicos e acompanhar mudanças de forma sistemática
-
A importância da programação baseada em documentação
- Quando a intenção está no documento, o inglês realmente se torna uma linguagem de programação
- É possível ver o sistema inteiro de uma vez
- É possível esclarecer e melhorar a intenção
- É possível rastrear as mudanças adequadamente
- A equipe pode trabalhar junta no sistema
- Os requisitos se tornam uma verificação de qualidade por si só
- As mudanças começam a partir de uma especificação clara
-
O núcleo da próxima etapa das ferramentas de desenvolvimento com IA
- A forma de expressar e gerenciar a intenção do usuário com base em documentação se tornará mais importante
- São necessárias ferramentas que ofereçam a precisão exigida pelo desenvolvimento real de software, e não apenas protótipos conversacionais
- As empresas que adotarem essa perspectiva corretamente liderarão o futuro das ferramentas de desenvolvimento com IA
4 comentários
Dizem que estão tentando refletir grafos de conhecimento no suporte a LLMs, e que isso também é válido.
Embora o título diga que a UI de chat é inadequada, o conteúdo explica que o problema central são requisitos ambíguos.
Parece algo que poderia ser resolvido pedindo para a IA esclarecer imediatamente as ambiguidades no pedido do usuário em formato de chat,
então não entendo por que culpam especificamente a UI de chat.
Oh, essa é uma opinião meio interessante e com a qual dá pra concordar 😊
Comentários do Hacker News
Um usuário disse que usou o o3-mini e o o3-mini-high em um projeto de geração de código e mencionou que a abordagem de "programação em par" é importante
Outro usuário argumentou que chat é um padrão de UI inadequado, explicando que ele é bom como registro, mas ruim para executar trabalho
Outro usuário expressou surpresa por Cursor não ter sido mencionado e explicou que Cursor aumentou significativamente sua velocidade de escrita de código
git-diff, é possível aprovar ou rejeitar as mudançasUm usuário afirmou que "usar chat como UX" é um beco sem saída e explicou isso com o exemplo do SQL
Foi explicado que a linguagem natural não foi feita para precisão e que, para se comunicar com IA, é necessário um subconjunto de linguagens de programação
Sobre a opinião de Daniel, foi explicado que a questão não é afirmar que chat seja uma UI geralmente incômoda, mas que são necessários muitos detalhes para especificar completamente um programa de computador
Foi mencionado que se espera um recurso que implemente por voz uma experiência como a do Cursor para poder discutir mudanças no código
Foi descrita uma abordagem para impulsionar o desenvolvimento de software com IA com base em documentos de requisitos, com um exemplo de converter os requisitos em uma checklist e usá-la como instruções adicionais
Foi explicado que a primeira onda não foi o chat, mas a conclusão automática, e que o chat é mais intuitivo e exige menos esforço
Foi mencionado que se espera um modelo de linguagem estruturado capaz de descrever programas de computador por meio da invenção de uma nova linguagem