Each language version is independently generated for its own context, not a direct translation.
Imagine que você está construindo uma casa. Você decide usar tijolos vermelhos em vez de brancos porque o branco mancha fácil com a chuva local. Você constrói a parede, mas não escreve nenhum bilhete explicando por que escolheu os vermelhos.
Anos depois, um novo construtor (ou um robô inteligente) chega para reformar a casa. Ele vê a parede de tijolos vermelhos. Ele sabe o que está lá, mas não sabe por que está lá. Ele pode tentar pintar de branco, achando que é uma escolha estética, e estragar tudo porque esqueceu a regra da chuva.
Esse é o problema que o artigo "Lore" tenta resolver.
Aqui está uma explicação simples, usando analogias do dia a dia:
1. O Problema: A "Sombra da Decisão"
No mundo do software, quando alguém (ou uma Inteligência Artificial) muda um código, eles salvam a mudança (o "diff"). É como salvar a foto da parede pronta. Mas tudo o que aconteceu antes da foto — as dúvidas, as opções que foram descartadas, os avisos de perigo, o motivo da escolha — desaparece.
O autor chama isso de Sombra da Decisão. É o conhecimento invisível que fica para trás. Com o tempo, o código vira "código legado": funciona, mas ninguém sabe mais por que foi feito daquela maneira.
2. A Solução: O "Lore" (A Lenda Viva)
O autor propõe o Lore (que significa "conhecimento tradicional" ou "lenda" em inglês). A ideia é transformar a mensagem que acompanha cada mudança de código em um diário de bordo completo, e não apenas um título chato.
Hoje, as mensagens de commit são como etiquetas de mala: "Arrumou a mala" (Refatorou o código).
O Lore transforma essa etiqueta em um bilhete de viagem detalhado:
- "Arrumamos a mala porque o aeroporto estava lotado."
- "Tentamos usar um avião, mas era caro demais (Rejeitado)."
- "Cuidado: não tire a mala do lugar se chover (Restrição)."
- "Confiança alta de que isso vai funcionar."
3. Como Funciona na Prática? (Sem complicação)
A genialidade do Lore é que ele não precisa de novos softwares caros, bancos de dados ou servidores complexos. Ele usa algo que todo programador já tem: o Git (o sistema que salva o histórico de códigos).
- O Truque: O Git já tem uma funcionalidade chamada "trailers" (rótulos no final da mensagem). O Lore usa isso para criar campos padronizados.
- A Analogia: Imagine que o histórico do projeto é um livro de receitas. O Lore transforma as anotações rabiscadas na borda da página em uma lista de ingredientes e dicas de chefia que qualquer novo cozinheiro (ou robô) pode ler e entender imediatamente.
4. Por que isso é importante para a Inteligência Artificial?
Hoje, temos robôs (IA) escrevendo e lendo códigos.
- O Problema Atual: Se você pedir para um robô mudar um código antigo, ele lê o código e tenta adivinhar o motivo. Como a "Sombra da Decisão" sumiu, ele muitas vezes erra ou propõe soluções que já foram descartadas há 5 anos.
- Com o Lore: O robô chega, lê a mensagem do Lore e diz: "Ah, entendi! O código antigo foi feito assim porque o servidor de autenticação era lento. Não vou mudar isso, senão vai quebrar."
- O Ciclo Virtuoso: Quando o robô faz uma nova mudança, ele é obrigado a escrever sua própria "Sombra da Decisão" no Lore. Assim, o conhecimento da empresa nunca mais se perde.
5. Comparando com outras ideias
- ADRs (Documentos de Decisão): São como livros grossos de arquitetura. São ótimos para grandes decisões, mas ninguém lê para saber por que uma pequena função foi escrita de um jeito específico. O Lore é como um post-it colado exatamente no lugar da mudança.
- Comentários no Código: Comentários são como bilhetes deixados na geladeira; com o tempo, a comida estraga e o bilhete fica errado. O Lore é imutável: ele fica preso para sempre àquela versão específica do código, como um fóssil perfeito.
Resumo em uma frase
O Lore é um protocolo simples que transforma as mensagens de atualização de software em diários de decisão inteligentes, garantindo que, no futuro, nem humanos nem robôs precisem adivinhar "por que as coisas são assim", porque a resposta estará escrita, clara e organizada, exatamente ao lado do código.
É como dar uma "memória de elefante" para o projeto de software, garantindo que nenhuma lição aprendida (ou erro cometido) seja esquecida.
Receba artigos como este na sua caixa de entrada
Digests diários ou semanais personalizados de acordo com seus interesses. Gists ou resumos técnicos, no seu idioma.