Empirical Computation: Prompting versus Programming
Este artigo de visão propõe a "computação empírica" como um novo paradigma onde Grandes Modelos de Linguagem resolvem problemas computacionais via prompting em vez da programação tradicional, argumentando que suas capacidades e limites únicos exigem que a comunidade de engenharia de software desenvolva novas teorias fundamentais e técnicas para analisar a correção e os limites fundamentais.
Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo
Imagine que você tem duas maneiras de realizar uma tarefa: Programação e Prompting.
O Jeito Antigo: Programação (O Arquiteto Rigoroso)
Pense na programação tradicional como contratar um arquiteto rigoroso e metódico. Você entrega a ele um projeto com medidas exatas, materiais específicos e um plano passo a passo.
- Como funciona: Você diz ao computador exatamente como resolver um problema, como ordenar uma lista de números. Você diz: "Use este algoritmo específico (Merge Sort), pegue estas entradas e siga estas regras".
- O Resultado: Se o arquiteto cometer um erro, você consegue encontrar exatamente o tijolo quebrado no projeto, consertá-lo e saber com certeza que a construção ficará de pé da próxima vez.
- O Limite: O tempo para construir depende da complexidade da matemática. Ordenar uma lista enorme de números leva um tempo previsível baseado no tamanho da lista (especificamente, ).
O Jeito Novo: Prompting (O Artista Intuitivo)
Agora, imagine que você contrata um artista brilhante e intuitivo. Você não dá a ele um projeto. Você apenas diz: "Ei, aqui está uma pilha bagunçada de números, poderia ordená-los para mim?".
- Como funciona: Você usa linguagem natural (um "prompt") para descrever o problema. O "computador" (um Grande Modelo de Linguagem ou LLM) não segue um conjunto estrito de regras. Em vez disso, ele adivinha a resposta mais provável com base em tudo o que já leu na internet. É como um chef provando uma sopa e adivinhando os ingredientes em vez de seguir uma receita.
- O Resultado: A resposta vem rápido, mas é um palpite, não uma garantia. É a resposta "mais provável", não a resposta "provada como correta".
O Que o Artigo Descobriu: A Surpresa "Empírica"
Os autores deste artigo realizaram experimentos para ver o quão bem esse "Artista Intuitivo" desempenha tarefas matemáticas clássicas, como ordenar números ou encontrar itens em uma lista. Aqui está o que eles descobriram:
1. O tempo não funciona da mesma forma
- Programação: Se você dobrar o número de itens para ordenar, o tempo que leva aumenta de uma forma matemática específica.
- Prompting: O tempo que o LLM leva para ordenar números aumenta de forma linear (apenas uma linha reta) à medida que a lista cresce. Por quê? Não porque a matemática seja mais difícil, mas porque o LLM tem que ler e escrever mais palavras (tokens) para lidar com a lista mais longa. É como ler um livro mais longo; leva mais tempo para ler as palavras, não porque a história seja mais complexa.
2. A precisão cai conforme as coisas ficam maiores
- Programação: Um programa correto é 100% correto todas as vezes.
- Prompting: O LLM é ótimo em tarefas pequenas, mas fica confuso conforme a lista cresce.
- Para uma lista de 50 números, o LLM acertou cerca de 90% das vezes.
- Para uma lista de 150 números, ele acertou apenas 58% das vezes.
- Se você pedir para ele encontrar um padrão específico em uma string curta, ele pode falhar quase imediatamente se a string ficar ligeiramente mais longa.
- O Modo de "Pensar": Quando o LLM tem permissão para "pensar" (raciocinar passo a passo) antes de responder, ele permanece muito preciso, mas leva muito mais tempo.
3. O Jogo da Linguagem
- Programação: Não importa se você escreve o código em inglês ou alemão; o computador lê os símbolos da mesma maneira.
- Prompting: O LLM é enviesado pelo que leu na internet.
- Se você pedir para o LLM ordenar números escritos como palavras em inglês ("one, two, three"), ele faz um ótimo trabalho.
- Se você pedir para ele ordenar números escritos em alemão ("eins, zwei, drei"), ele falha quase completamente.
- Por quê? O LLM viu milhões de exemplos em inglês na internet, mas muito menos em alemão. É como pedir a um chef para cozinhar um prato que ele nunca viu antes; ele pode adivinhar errado.
4. O Problema do "Tijolo Quebrado"
- Programação: Se um programa falha, você pode encontrar o erro (bug), corrigir o código e o problema estará resolvido para sempre.
- Prompting: Se o LLM der uma resposta errada, você não consegue encontrar facilmente "o erro". Você não pode apontar para uma linha específica de código para consertar. Você pode tentar mudar seu prompt ou pedir para ele "pensar com mais cuidado", mas não há garantia de que funcionará na próxima vez. É como tentar consertar um sonho mudando o humor do sonhador.
A Grande Conclusão
O artigo argumenta que estamos entrando em uma nova era chamada de "Computação Empírica".
No mundo antigo, confiávamos nos computadores porque eles seguiam regras estritas (estrutura racionalista). Neste novo mundo, confiamos nos computadores porque eles fazem "palpites instruídos" baseados em dados (estrutura empírica).
Os autores estão chamando os engenheiros de software para pararem de tentar analisar esses sistemas de IA como programas tradicionais. Precisamos de novas ferramentas para medir, testar e entender como essas "máquinas de adivinhação" funcionam, porque as velhas regras de matemática e lógica não se aplicam totalmente a elas. Precisamos descobrir como confiar em um resultado que é "provavelmente correto" em vez de "definitivamente correto".
Afogado em artigos na sua área?
Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.