- Em desenvolvimento de software, Bus Factor é o conceito que indica quantas pessoas precisam deter determinado conhecimento para que seja possível manter um projeto; tradicionalmente, o pior caso era 1
- Porém, após o lançamento do ChatGPT (30 de novembro de 2022), com a adoção em massa da IA generativa, muitas pessoas passaram a não preservar mais o conhecimento diretamente e a depender da IA, criando na prática uma situação de Bus Factor 0
- No dia a dia da programação, cada vez mais desenvolvedores usam código e funcionalidades gerados por LLMs do jeito que vieram, abandonando o esforço de entender a base de código e migrando para o “vibe coding”
- Com isso, ao corrigir bugs, aplicar patches de segurança ou expandir funcionalidades, pode-se chegar a uma situação em que ninguém sabe por que o código foi escrito daquela forma
- Isso traz riscos graves para a confiabilidade e a segurança do software, e existe uma limitação fundamental até o dia em que a IA conseguir gerar código perfeito de forma perfeita
Conceito e história do Bus Factor
- Bus Factor é um conceito que expressa em números com quantas pessoas um determinado conhecimento é compartilhado
- Exemplo: se 3 pessoas sabem restaurar um backup do banco de dados, o Bus Factor dessa função é 3
- Tradicionalmente, o pior valor era 1; se uma pessoa perdesse esse conhecimento, seria impossível manter o projeto
- Para superar isso, a humanidade difundiu conhecimento por meio de documentação, treinamento, transferência de conhecimento, seminários, escolas e muitos outros métodos
- Isso levou a esforços sistemáticos para transmitir e preservar conhecimento, com grande investimento de tempo e recursos humanos
A adoção de IA e o Bus Factor 0
- O lançamento do ChatGPT em novembro de 2022 abriu a era do “AI First”
- No processo em que a IA gera código e funcionalidades, muitas pessoas deixam de ser protagonistas na preservação do conhecimento e passam a depender dos artefatos gerados pela IA, reduzindo rapidamente a compreensão do projeto
- Como resultado, surge um estado em que não há nenhum detentor do conhecimento, ou seja, uma situação de Bus Factor 0
- Os programadores mostram uma tendência de não escrever nem entender por conta própria o código e as funcionalidades, delegando completamente à IA
- Nesse processo, os desenvolvedores passam a evitar entender a base de código e documentá-la, limitando-se a pedir novas explicações à IA
Problemas da programação baseada em LLM
- Mesmo deixando de lado a questão da qualidade do código, o ponto central é que ler e manter código é, por natureza, mais difícil do que escrevê-lo
- No passado, mentores ou documentação forneciam pelo menos uma ajuda mínima, mas em um ambiente dependente de IA até essa rede de segurança desaparece
- No desenvolvimento baseado em LLM, o processo de geração do código não fica registrado e nem a própria IA consegue se lembrar do contexto do código que gerou
- No fim, os desenvolvedores ficam diante da situação de ter de analisar e modificar código escrito por IA, mas com contexto obscuro
- Isso leva a um estado em que, ao resolver bugs, corrigir vulnerabilidades de segurança ou atualizar dependências, ninguém consegue entender a intenção e a estrutura do código
Riscos do ponto de vista do usuário
- Não são apenas os desenvolvedores que ficam expostos ao risco; os usuários também
- Um software para o qual se enviam documentos pessoais, dados de cartão de crédito, fotos privadas ou pensamentos íntimos pode ter sido criado com código cujo funcionamento interno e propósito ninguém conhece
- Isso envolve riscos graves em termos de proteção de dados e confiabilidade e levanta dúvidas sobre a estabilidade do serviço
Conclusão
- O vibe coding, que leva ao Bus Factor 0, é uma abordagem fundamentalmente falha
- Essa é uma limitação inevitável até que a IA seja capaz de gerar código 100% correto a partir de prompts 100% corretos
- Portanto, na situação atual, além do uso de IA, não se pode negligenciar a preservação do conhecimento e a importância de entender o código, sendo essencial manter práticas de gestão do conhecimento e documentação
Ainda não há comentários.