O que descobrimos ao tentar fazer nossos agentes de IA entenderem a própria empresa
Eu e meu sócio somos o tipo de pessoas que adoram documentar as coisas, especialmente no trabalho. A ideia é simples: documentar nos permite dividir conhecimento e, mais importante, fazê-lo evoluir dentro da empresa. Sem documentação, corremos o risco de repetir os mesmos experimentos e andar em círculos.
Com isso em mente, ficávamos frustrados quando alguém vinha perguntar algo que já estava documentado. As pessoas não faziam isso por mal, era mais por falta de tempo, costume ou curiosidade de navegar pelas documentações. Então, quando a IA começou a ganhar força, parecia que tínhamos encontrado a solução óbvia:
“Basta treinar um modelo com a sua documentação e ele responderá às dúvidas de todo mundo!”
Mas claro, treinar um modelo do zero não faz sentido, as LLMs funcionam justamente porque foram treinadas com bilhões de dados da internet. Então, a pergunta virou: como adicionar novos conhecimentos a uma LLM já treinada?
As opções parecem simples:
- Prompt
- RAG
- Fine-tuning
Prompt é limitado pelo tamanho da janela de contexto. Fine-tuning é overkill na maioria dos casos. Então sobra o bom e velho RAG!
Pensamos: “Ah, é só fazer um RAG e ser feliz!”
Foi exatamente aí que começou o pesadelo.
Para construir um RAG, mesmo o mais básico, você precisa:
- Definir um banco de dados vetorial
- Escolher um modelo de embedding (que transforma seus dados em vetores)
- Decidir o algoritmo de aproximação
- Converter todos os documentos em vetores, armazenando com metadados e conteúdo
- A cada pergunta, converter a pergunta em vetor e buscar os vetores mais próximos
- Recuperar o conteúdo, normalizar e adicionar esse contexto ao prompt
- Enviar o prompt para a LLM e aguardar a resposta
Mesmo nessa versão simplificada, há diversas decisões que afetam fortemente a qualidade das respostas. E quando a quantidade e diversidade de documentos cresce, o desempenho despenca.
Aí você descobre que precisa aprender técnicas como busca híbrida (lexical + vetorial), reranking, reescrita de perguntas, expurgo e expansão de contexto, e muito mais.
Foi aí que percebemos que isso tudo era um baita trabalho chato que nos desviava do foco principal.
Então criamos o Skald → github.com/skaldlabs/skald
O Skald é uma plataforma open source que te ajuda a criar suas próprias Aplicações e Agentes de IA com conhecimento próprio em um piscar de olhos.
Esqueça a ideia de montar um RAG do zero. Com o Skald, em duas chamadas de API você já tem todo o conhecimento da sua empresa acessível por uma IA.
A licença é MIT, então é para usar à vontade. Na nossa doc (docs.useskald.com) deixamos um guia completo para deploy local ou em nuvem. E se você quiser rodar 100% localmente para evitar enviar dados para serviços externos como OpenAI e Anthropic, também dá.
Para quem quer apenas testar, temos uma versão cloud com plano gratuito aqui: useskald.com
Adoraríamos ouvir a opinião da comunidade do TabNews sobre o projeto.
Contribuições (pequenas ou grandes) no repositório são mega bem-vindas, basta abrir um PR \o/
Se precisar falar comigo: pedrique [at] useskald [dot] com