Each language version is independently generated for its own context, not a direct translation.
Imagine que você tem um chef de cozinha extremamente talentoso (o Modelo de Linguagem, ou LLM) que aprendeu a cozinhar lendo milhões de receitas de livros famosos. Ele é incrível fazendo pratos de culinária geral, como pizza, hambúrgueres ou massas (linguagens de programação comuns como Python).
No entanto, o problema surge quando você pede a ele para cozinhar pratos muito específicos e raros, feitos apenas para uma única festa ou com ingredientes que ninguém mais usa (linguagens de programação especializadas, chamadas DSLs, como OCL e Alloy). Como ele nunca viu essas receitas antes, ele tende a errar: coloca sal no lugar do açúcar ou esquece de ligar o forno.
Este artigo apresenta um sistema de avaliação para testar o quanto esse "chef" é bom nessas tarefas difíceis e como podemos ajudá-lo a melhorar.
Aqui está o resumo da pesquisa, explicado de forma simples:
1. O Problema: O Chef e as Receitas Especiais
Os modelos de IA atuais são ótimos em linguagens comuns (como Python) porque há milhões de exemplos na internet para eles aprenderem. Mas, em linguagens de nicho usadas para regras de segurança de sistemas (chamadas OCL e Alloy), há poucos exemplos.
- O Desafio: A IA precisa entender não apenas a regra ("não pode haver mais de 50 funcionários"), mas também o contexto do sistema onde essa regra vive. É como pedir para alguém desenhar uma regra de trânsito sem mostrar o mapa da cidade.
2. A Solução: O "Laboratório de Testes"
Os autores criaram um laboratório de testes (um framework) para avaliar a IA. Eles não apenas pedem para a IA escrever o código e pronto. Eles fazem o seguinte:
- Verificação de Estrutura (Bem-formado): A IA escreveu a receita de forma que dá para ler? (Ex: Ela usou os ingredientes corretos ou inventou um?)
- Verificação de Sabor (Correção): A receita funciona? Ela realmente impede que o carro bata no muro, como foi pedido?
3. O Que Eles Descobriram (As Lições)
Ao testar o "chef" com várias receitas, eles descobriram algumas coisas interessantes:
- O Chef é melhor com pratos comuns: A IA escreve Python (comum) muito melhor do que OCL ou Alloy (específicos). É como se ela fosse um mestre em pizza, mas um iniciante em sushi.
- O Chef precisa de um "Guia de Cozinha":
- Tentar várias vezes: Se você pedir para o chef tentar 3 vezes, a chance de ele acertar o prato aumenta muito. É como pedir para ele provar e ajustar o tempero várias vezes.
- Pedir para consertar: Se o prato sair errado, você pode mostrar o erro para a IA e pedir: "Ei, queimou o pão, tente de novo". Isso ajuda muito a melhorar o resultado final.
- O segredo não é o "papel" (Prompt): Surpreendentemente, mudar muito a forma como você escreve o pedido (o prompt) não faz tanta diferença assim. O que importa mais é qual chef você escolheu e quantas vezes você deixou ele tentar.
- Escolha o Chef certo: Alguns chefs (modelos de IA) são melhores em certos tipos de culinária. Usar um modelo pequeno e barato pode não funcionar para receitas complexas; às vezes, você precisa de um chef mais experiente (modelos maiores).
4. A Conclusão Prática
Se você quiser usar Inteligência Artificial para escrever regras complexas de software:
- Não confie na primeira tentativa: Deixe a IA tentar várias vezes.
- Use o "Conserto": Se ela errar, mostre o erro e peça para ela corrigir.
- Escolha a ferramenta certa: Para linguagens difíceis, não use qualquer modelo barato; escolha um que já tenha visto algo parecido antes.
- Não se preocupe demais com o texto do pedido: O que importa é a qualidade do modelo e a estratégia de tentativa e erro, não apenas como você formula a pergunta.
Em resumo: A IA é uma ferramenta poderosa, mas para tarefas muito específicas, ela precisa de um pouco mais de paciência (várias tentativas) e de um guia que ajude a corrigir os erros, em vez de apenas esperar que ela acerte de primeira. Os autores criaram um manual para ajudar empresas a fazerem exatamente isso.