← Últimos artigos
💻 computer science

Where Did the Variability Go? From Vibe Coding to Product Lines by Regeneration

Este artigo propõe a "Variabilidade por Regeneração" (VbR), uma nova abordagem de linha de produtos de software onde um LLM atua como um motor de derivação para gerar binários dedicados e livres de código morto no momento da geração com base em especificações declarativas, efetivamente deslocando o gerenciamento de variabilidade do próprio código para a especificação na era da "programação por vibe" impulsionada por IA.

Autores originais: Xhevahire Tërnava

Publicado 2026-06-19
📖 5 min de leitura🧠 Leitura aprofundada

Autores originais: Xhevahire Tërnava

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

O Grande Problema: O Código "Mágico" Que Não Pode Mudar

Imagine que você contrata um chef super talentoso (uma IA) para cozinhar uma refeição para você. Você diz a ele: "Eu quero um macarrão apimentado". Ele instantaneamente cozinha um prato perfeito e fumegante de macarrão apimentado.

Agora, imagine que você quer mudar de ideia e dizer: "Na verdade, faça um macarrão suave". No cozimento tradicional, você apenas pediria ao chef para ajustar os temperos. Mas neste novo estilo de cozimento (chamado de "Vibe Coding"), o chef não apenas ajusta os temperos; ele joga fora o prato inteiro e cozinha um prato completamente novo do zero com base no seu novo pedido.

O problema é que o primeiro prato de macarrão apimentado agora é inútil para você. Você não pode transformá-lo em macarrão suave. É um artefato de "propósito único". Se você quiser uma versão diferente do software, terá que pedir à IA para gerar um arquivo completamente novo toda vez.

A Descoberta: Para Onde Foram as "Opções"?

Os pesquisadores analisaram 10 projetos de software diferentes criados dessa maneira. Eles descobriram algo surpreendente: as "opções" desapareceram.

No software da "velha guarda", o código é como um canivete suíço. Ele tem uma lâmina, uma chave de fenda e um saca-rolhas integrados. Você apenas gira a chave (uma configuração) para usar a ferramenta que precisa. O código contém todas as ferramentas, mesmo aquelas que você não está usando agora.

Mas no "Vibe Coding", a IA não constrói um canivete suíço. Ela constrói uma ferramenta de propósito único.

  • Se você pediu uma faca, a IA constrói uma faca.
  • Se você pediu uma chave de fenda, a IA constrói uma chave de fenda.
  • A versão "faca" não possui partes de chave de fenda dentro dela, e a versão "chave de fenda" não possui partes de faca.

Os pesquisadores chamam isso de "variabilidade quase nula". Todas as decisões sobre o que o software é são tomadas no exato momento em que a IA escreve o código. Uma vez escrito o código, ele está congelado. Não restam mais interruptores para acionar.

A Solução: "Variabilidade por Regeneração" (VbR)

Em vez de tentar forçar a IA a construir um canivete suíço gigante e complexo (o que torna o código bagunçado e difícil de entender), os autores propõem uma nova maneira de lidar com isso chamada Variabilidade por Regeneração (VbR).

Pense nisso como uma Loja de Ternos Sob Medida vs. uma Loja de Departamento.

  • O Jeito Antigo (Loja de Departamento): Você compra um terno que tem tecido extra costurado, botões que você não precisa e bolsos que você nunca usará, apenas para poder "configurá-lo" mais tarde. É pesado e cheio de peso morto.
  • O Jeito VbR (Loja de Ternos Sob Medida): Você tem um Plano Mestre (uma especificação).
    1. Você diz à loja: "Preciso de um terno para um casamento".
    2. A IA (o alfaiate) olha para o plano mestre e costura instantaneamente um terno perfeito e leve apenas para esse casamento. Não tem tecido extra.
    3. Mais tarde, você diz: "Preciso de um terno para uma festa na praia".
    4. A IA não tenta cortar o terno de casamento. Ela olha para o plano mestre novamente e costura um novo terno de praia perfeito.

Neste sistema, a "variabilidade" (a capacidade de ter diferentes ternos) não reside nas roupas em si. Ela reside no Plano Mestre.

Como Funciona na Prática

O artigo demonstra isso com uma ferramenta de computador clássica chamada wc (que conta palavras em um arquivo).

  1. O Plano Mestre: O desenvolvedor escreve um arquivo simples (um arquivo YAML) que lista todas as funcionalidades possíveis: "Contar linhas", "Contar palavras", "Contar caracteres", etc.
  2. A Geração: Quando um usuário quer uma versão específica (ex: "Eu só quero contar linhas"), a IA lê o plano mestre, vê esse pedido e gera um programa minúsculo e super rápido que apenas faz aquela tarefa.
  3. O Despachante (O Garçom): Como a IA criou três programas diferentes (um para linhas, um para palavras, um para tudo), como o computador sabe qual deles executar?
    • Os pesquisadores construíram um "Garçom" (um despachante).
    • Você digita um comando. O Garçom olha para o seu comando, verifica o menu (o manifesto) e executa instantaneamente o programa específico que corresponde ao seu pedido.
    • Você, o usuário, nunca vê os diferentes programas. Você apenas vê uma ferramenta que muda magicamente seu comportamento.

Por Que Isso Importa

Os autores argumentam que não devemos tentar consertar o "Vibe Coding" forçando a IA a colocar "interruptores" de volta no código. Isso anula o propósito da nova tecnologia.

Em vez disso, devemos aceitar que o código deve ser descartável e específico.

  • Jeito Antigo: Manter um arquivo de código grande e bagunçado com todas as opções escondidas dentro dele.
  • Novo Jeito (VbR): Manter um arquivo de especificação limpo (as regras) e deixar a IA gerar um programa novo, perfeito e "livre de código morto" toda vez que você precisar de uma versão diferente.

Resumo

O artigo afirma que, na era da programação por IA, perdemos a capacidade de "ajustar" um único programa. Em vez disso, a IA cria um novo programa para cada necessidade. Os autores propõem que aceitemos isso tratando a especificação (as regras) como o mestre permanente, e o código como um produto temporário e perfeito que é regenerado sempre que as regras mudam. Não se trata de consertar o código; trata-se de regenerar o código certo para o trabalho certo.

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.

Experimentar Digest →