
Arachne Knowledge OS: o Sistema Operacional de Conhecimento que uniu RAG, LLM e Obsidian
Como o Arachne evoluiu de um scraper para uma plataforma de conhecimento pessoal com infra zero‑porta, busca híbrida e geração de bots.
11 posts

Como o Arachne evoluiu de um scraper para uma plataforma de conhecimento pessoal com infra zero‑porta, busca híbrida e geração de bots.

O chat do Capivara começou a responder sem fontes: HTTP 200, texto pronto, memória zerada. Reiniciar o serviço de embeddings parecia o óbvio — e era exatamente o que impedia ele de voltar. Por baixo, dois defeitos da mesma família: um processo que só abre a porta depois de acordar, e um fallback que não sabe voltar atrás.

Antes de trocar o motor de busca do Arachne pelo Yurumi, precisei provar que o novo era no mínimo tão bom quanto o velho. Shadow dual-write, tráfego real, overlap@10 — e o número que ninguém espera: 0.511.

Depois do salto bilíngue para 0.1614 de recall@1, sobrou um número no banco: quanto o cross-encoder contribuía em cada busca? Na semana em que medi que latência e recall são uma conta que se paga em toda query — e a resposta acabou virada flag permanente no config.

Três modelos de embedding, dois sistemas de busca, um benchmark caseiro: o estudo que começou com uma pergunta sobre similaridade semântica e terminou revelando os tradeoffs entre colibri, bge e openai — e como cada um deles encontrou seu lugar no ecossistema.

O Capivara guardava as memórias dele num ChromaDB local, com embedder próprio e camadas L1-L4. O Yurumi guardava a memória do ecossistema inteiro num Qdrant. Duas memórias separadas significavam um cérebro que não conversava com o resto do corpo. A unificação em 28/08 migrou 182/182 memórias sem perder uma: dedup por hash, backup antes de deletar e um gate --apply que separa o plano da execução.

Os AGENTS.md de cada projeto eram as instruções oficiais do ecossistema, mas viviam fora da memória do Yurumi — o ingest só rodava quando alguém lembrava. A solução foi um watcher por assinatura (mtime+size) que re-ingere só o que mudou. No caminho, um first_run que rodava ingest completo todo dia, um stat que travava quando o WSL wedgava e a lição de nunca confiar em junction.

O Yurumi guardava a memória com um único embedder treinado em português. Funcionava, até a primeira pergunta em inglês. A solução não foi trocar de modelo — foi rodar dois ao mesmo tempo e fundir os rankings com RRF. Os números de uma corrida LoCoMo depois, o recall subiu de 0.139 para 0.1614.

A pergunta simples 'o que meu agente lembra de verdade?' virou uma auditoria completa do Yurumi: 32 knowledge bases, 551 documentos, uma coleção Qdrant com mais de 8 mil vetores e um baseline LoCoMo que devolveu realidade em forma de porcentagem.

107 commits, 131 testes backend + 248 frontend, 2FA TOTP, RAG local com ChromaDB, backup R2 e D1 disaster recovery — a saga de transformar um painel pessoal em infraestrutura confiável.

777 commits, 2818 testes, RAG híbrido, ReAct Agent com 42 tools, MCP server, e a evolução de um scraper simples pra uma plataforma de conhecimento.