Sistema em que agentes mantêm diretamente uma wiki de LLM no estilo Karpathy — baseado em Markdown e Git
(github.com/nex-crm)- Vários agentes de IA colaboram no mesmo escritório, priorizando um fluxo de trabalho visível por meio da UI do navegador e de uma organização de equipe por papéis, em vez de chamadas de API ocultas
- A memória é dividida entre o notebook de cada agente e a wiki compartilhada da equipe; o contexto bruto de trabalho fica no lado pessoal, enquanto apenas fatos verificados e playbooks repetíveis sobem como conhecimento comum
- A wiki padrão não funciona como uma simples pasta de documentos, mas como um repositório Git local, oferecendo junto um conjunto de ferramentas centrado em arquivos como fatos tipados, logs append-only, briefs sintetizados por LLM,
/lookupe/lint - As sessões recomeçam do zero a cada turno e as ferramentas também são limitadas por agente; a combinação de um modelo de execução orientado por push com cache de prompt foi ajustada para manter uma carga de entrada plana independentemente do tamanho da sessão
- Também se conecta a Telegram, OpenClaw, One CLI e Composio para trazer mensagens externas e executar ações, enquanto mantém memória de equipe e colaboração entre agentes reunidas em um só lugar com base em open source self-hosted e no uso das próprias chaves de API
Estrutura de memória e wiki
- Separa o notebook por agente da wiki compartilhada da equipe, gerenciando o contexto individual de trabalho e o conhecimento organizacional em camadas diferentes
- O notebook guarda contexto bruto obtido durante o trabalho, observações e conclusões provisórias; só informações duradouras, como playbooks repetíveis, fatos verificados e preferências definidas, são promovidas para a wiki
- Nenhuma informação é promovida automaticamente; o agente decide diretamente o que deve subir do notebook para a wiki
- A wiki inclui informações sobre quem registrou aquele contexto por último, permitindo que outros agentes decidam quem mencionar novamente
- Em instalações novas, o backend
markdowné o padrão, enquanto workspacesNexouGBrainexistentes mantêm o backend de grafo de conhecimento já usado - Ao escolher o backend
none, a wiki compartilhada é desativada, mas o notebook local continua funcionando
Como a wiki em markdown funciona
- A wiki padrão não é apenas uma pasta Markdown, mas uma wiki de equipe baseada em repositório Git local, no caminho
~/.wuphf/wiki/ - Ela inclui fatos tipados em forma de tripla, logs append-only de fatos por entidade, briefs sintetizados por LLM,
/lookupcom base em citações e/lintpara encontrar contradições, documentos órfãos, afirmações desatualizadas e referências cruzadas quebradas - Os briefs sintetizados por LLM são commitados com a identidade
archivist, e é possível aproveitar normalmente um conjunto de ferramentas centrado em arquivos comocat,grep,git logegit clone - Essa wiki padrão pode ser usada sem chave de API
- Na nomenclatura interna do código, o notebook é a memória
privatee a wiki é a memóriashared; os backendsmarkdown,nexegbrainusam superfícies de ferramentas MCP diferentes - O conjunto de ferramentas do backend
markdowne o conjunto legado denexegbrainnão coexistem na mesma instância de servidor - Mais detalhes estão em
DESIGN-WIKI.mdedocs/specs/WIKI-SCHEMA.md
Modelo de execução e opções de configuração
- O CLI de agente padrão é o Claude Code, e também é possível escolher o Codex CLI com
--provider codex - É possível escolher entre os backends de memória
nex,gbrain,nonee o padrãomarkdown - Mesmo com
--no-nex, recursos de integração local como Telegram continuam funcionando, e depois da execução é possível voltar ao modo de delegação de roteamento do CEO com/focus - Ao escolher
gbrain, o onboarding inicial exige uma chave da OpenAI ou Anthropic, e é necessário usar OpenAI caso precise de embeddings e busca vetorial - Os pacotes de papéis disponíveis são
starter,founding-team,coding-team,lead-gen-agencyerevops - Flags como
--opus-ceo,--no-open,--web-porte--unsafepermitem ajustar modelo, abertura automática do navegador, porta e checagens de permissão - O repositório está em estado pre-1.0 e a branch
mainpode mudar todos os dias; ao fazer fork, recomenda-se fixar uma release tag em vez de usarmain
Colaboração e integrações externas
- Há suporte a ponte com Telegram; depois de executar
/connectdentro do escritório, é possível escolher Telegram e inserir o token do @BotFather para conectar o fluxo bidirecional de mensagens com grupos ou DM - Agentes OpenClaw também podem ser trazidos com
/connect openclaw, usando a URL do gateway egateway.auth.tokenem~/.openclaw/openclaw.jsonpara criar a ponte de sessão - As sessões do OpenClaw entram no escritório como membros de primeira classe, podendo receber
@mention, enquanto a execução real continua acontecendo em seus próprios sandboxes - A autenticação do gateway do OpenClaw usa par de chaves Ed25519, armazenado em
~/.wuphf/openclaw/identity.jsoncom permissão0600 - Para executar ações externas, há dois provedores embutidos: One CLI e Composio
- O One CLI usa um binário local para executar ações na máquina do usuário, adequando-se a um fluxo em que credenciais não são enviadas a terceiros
- O Composio usa o fluxo OAuth hospedado da Composio para conectar contas SaaS como Gmail e Slack
Escolhas de design e características operacionais
- As sessões recomeçam do zero a cada turno, adotando uma estrutura em que o histórico de conversa não se acumula
- As ferramentas têm escopo limitado por agente: em DM são carregadas apenas 4 ferramentas MCP, enquanto no escritório completo são carregadas 27 ferramentas
- Os agentes só despertam quando o broker envia notificações, em um modelo orientado por push, sem necessidade de heartbeat polling
- Mesmo durante o trabalho, é possível enviar DM para um agente específico e ajustá-lo no meio da execução sem reiniciar
- É possível misturar runtimes Claude Code, Codex e OpenClaw no mesmo canal
- A memória combina notebook por agente e wiki do workspace, com a opção adicional de memória baseada em grafo de conhecimento de
GBrainouNex - Em termos de custo, o projeto se apresenta como um modelo open source gratuito, combinando licença MIT, self-hosting e uso das próprias chaves de API
- Na medição de uma sessão de 10 turnos com CEO baseado em Codex, os tokens de entrada se mantiveram estáveis em cerca de 87k por turno
- Após o cache, os tokens cobrados ficaram em cerca de 40k por turno, e o total de 10 turnos foi apresentado como aproximadamente 286k
- Com base no cache de prompt da API Claude, foi registrado 97% de taxa de acerto de cache, e o custo de 5 turnos do Claude Code foi informado como
$0.06 - Enquanto orquestradores de sessão cumulativa fazem a entrada por turno crescer de 124k para 484k na mesma sessão, o WUPHF mantém uma carga de entrada plana independentemente do tamanho da sessão
- Esse diferencial foi medido em 7 vezes considerando 8 turnos
- Essas características se combinam com fresh session, prompt caching baseado no mesmo prefixo, menor número de ferramentas no modo DM e uma estrutura de wake orientada por push sem heartbeat
- Como script de reprodução, são sugeridos
wuphf --pack starter &seguido de./scripts/benchmark.sh, e todos os números foram medidos localmente no ambiente e com as chaves do próprio usuário
Estado de implementação e fluxo de verificação
- Cada item principal do README tem uma tabela de status de claims ligada diretamente aos caminhos do código, distinguindo o que está shipped e o que está partial
- Estão marcados como shipped o CEO padrão Sonnet com upgrade via
--opus-ceo, o modo colaborativo como padrão, a troca por/focus, o scoping de MCP por agente, fresh session, wake orientado por push, isolamento por workspace, ponte com Telegram, dois provedores de ação, ponte com OpenClaw,wuphf importe o padrão--memory-backend markdown - O streaming ao vivo de agente web está como partial, e os binários prebuilt com base em goreleaser aparecem como config ready
- A restauração de trabalho em andamento após reinício aparece como shipped em
v0.0.2.0 - A LLM Wiki aparece como shipped, com memória de equipe git-native e interface no estilo Wikipedia, apontando para as implementações em
internal/team/wiki_git.go,internal/team/wiki_worker.go,web/src/components/wiki/eDESIGN-WIKI.md - Se houver conflito entre claim e status, o código tem prioridade, e a orientação é abrir uma issue ao encontrar problemas
Avaliação e materiais de demonstração
- Antes de fazer fork, o projeto oferece um prompt fork-or-skip para avaliar o repositório com um assistente de código com IA, exigindo caminhos de arquivo, números de linha e veredito em menos de 500 palavras, sem linguagem de marketing
- O texto afirma que esse prompt também é usado internamente antes das releases
- Como demonstração de 5 minutos em terminal mostrando o fluxo real de escrita da wiki, é apresentado
./scripts/demo-entity-synthesis.sh - Nessa demo, os agentes registram cinco fatos, o limiar de síntese é acionado, o broker chama o CLI local de LLM, o resultado é commitado no repositório Git com a identidade
archivist, e toda a cadeia de escrita fica registrada emgit log - Os requisitos da demo são
curl,python3, um broker em execução com--memory-backend markdowne um CLI de LLM compatível entreclaude,codexeopenclawdisponível noPATH
1 comentários
Comentários no Hacker News
Não entendo muito bem qual é a grande ideia por trás da automação de notas. No passado, jogar texto copiado e colado em notas nunca me ajudou em nada, então não sei se multiplicar isso por 100 vai mudar alguma coisa
Para mim, o essencial das notas é ler as fontes criticamente, absorver aquilo de acordo com meu modelo mental e então registrar isso
Os detalhes podem ser buscados depois; no fim, o importante é o processo de refinar esse modelo
Nesse caso, talvez o objetivo seja justamente não construir esse modelo mental por conta própria e delegar isso a um cérebro de LLM compartilhado
Ainda assim, tenho bastante dúvida se essa abordagem consegue criar algo realmente valioso para o dono do produto. Se dá para criar um produto valioso só com prompts e harnesses de agentes, então qualquer um pode recriar esse produto, o desenvolvimento de produto vira commodity e, no fim, talvez só os tokens retenham valor
Minha hipótese é que o do things that don’t scale, do Paul Graham, vai continuar valendo, mas o conteúdo dessas coisas que não escalam pode mudar bastante
Mesmo assim, recentemente comecei a usar Obsidian de verdade. Configurei skills para anotar, pesquisar, ligar links, dividir conteúdo e reorganizar a base de conhecimento, e parece que ganhei uma assistente digital que faz a arrumação por mim
Agora basta eu despejar pensamentos soltos e o agente organiza a estrutura, faz perguntas de acompanhamento e conecta isso a outros trabalhos. Ler as fontes e construir o modelo mental ainda é trabalho meu, mas estou conseguindo notas de alta qualidade quase de graça
É um desperdício gigantesco
A maior parte das coisas nem precisava entrar em notas para começo de conversa, e os LLMs amplificam demais o ruído sem praticamente nenhuma validação ou filtragem
Tinha um ensaio em vídeo do JA Westenberg que tratava bem desse tema
https://youtube.com/watch?v=3E00ZNdFbEk
Achei isso bem interessante
Na minha visão, o ponto ótimo é a curadoria humana e, principalmente, operação sem supervisão não funciona se você não gerenciar conscientemente dívida e drift
Ainda mais porque o nome é o mesmo daquele produto inútil e redundante Wuphf.com que apareceu em The Office
Parece que basta colocar AI no nome do produto para aparecerem bilhões de dólares, e colocar Karpathy num post de blog para ser contratado como principal engenheiro da Anthropic
Passa a impressão de que é só mais uma corrida para extrair dinheiro enquanto a moda durar, com pouca atenção ao que os clientes realmente precisam
Todo mundo está correndo para aproveitar a onda de qualquer jeito
Ainda assim, naquela época as pessoas de fato construíam coisas, e o ambiente de capital mais apertado segurava um pouco o superaquecimento
Desta vez, o boom de LLM ao menos tem alguma capacidade e valor reais, e também é uma tecnologia bem divertida de aprender e mexer
Faz tempo que eu aceitei que, quando o dinheiro se concentra em algo assim, faz sentido aproveitar a oportunidade ali, desde que não seja antiético. Enquanto houver abundância de capital de VC/PE, ainda dá para construir coisas legais e valiosas
Eu ainda estou esperando um harness de CLI de nível mundial que possa substituir o Claude Code. Preciso de algo que resolva problemas de memória e de arquitetura
Design web ainda é praticamente um pesadelo com LLM
Fizemos PoCs com empresas, e tudo isso acabou se condensando neste projeto paralelo que eu vinha construindo para ajudar no meu próprio trabalho. No fim, esta foi a interface realmente utilizável para a infra de contexto
Não tenho interesse em um cargo de principal engenheiro na Anthropic. Antes eu era Product Manager na HubSpot e ganhava muito melhor do que hoje, e é bem provável que eu não volte a esse nível pelos próximos anos
Apostei várias vezes e fui iterando porque a evolução veio de conversar diretamente com clientes. Enquanto isso, concorrentes antigos ainda estão em stealth construindo AI CRM
Como alguém que já está na área há bastante tempo, a onda em si não é o mais importante, mas acho que há sim valor concreto para ser extraído debaixo dela
Vi esta análise: https://zby.github.io/commonplace/agent-memory-systems/reviews/wuphf/
É o terceiro wiki com LLM a chegar à front page em menos de 24 horas, então claramente é um tema em alta
Também tenho interesse nessa área, então não sou totalmente imparcial, mas deixei anotado em outro lugar o que eu gostaria de ver nesses sistemas
https://zby.github.io/commonplace/notes/designing-agent-memory-systems/
Cada um reinventar o próprio sistema parece um desperdício grande demais, então seria ótimo se houvesse alguma forma de colaborar
Mas, pelo estilo, parece claramente que foram escritas por um LLM, então fiquei curioso se você costuma revisitar esse tipo de nota de design depois para reescrevê-la com suas próprias palavras e confirmar que ela realmente contém suas ideias
Nós começamos como uma empresa de context infra chamada nex.ai muito antes de o Karpathy falar em ideia de wiki com LLM, e embora isso ainda quase não apareça no WUPHF, agora estamos começando a mostrar aos poucos
Foi bom ver que muitas das preocupações levantadas no texto comparativo são coisas que já vínhamos tratando na infra de contexto que construímos
Mesmo assim, seria ótimo reduzir duplicação e colaborar mais, compartilhando o que cada um aprendeu
Você disse que gostaria que houvesse uma chance de colaborar, e isso me soou estranho, como se essa chance não existisse agora
Só colocar QMD em cima de um vault do Obsidian já leva uns 80% do caminho, e provavelmente em menos de 2 horas
Para contexto, aqui está também o link do post original do Karpathy
https://x.com/karpathy/status/2039805659525644595
https://xcancel.com/karpathy/status/2039805659525644595
Fico curioso se AI Notes vai agregar valor ou só criar mais ruído
Ainda assim, gostei bastante do estilo ASCII do site
Seria bom se alguém criasse algo como um renascimento do StackOverflow como solução para esse problema
Seria uma knowledge graph distribuída com curadoria humana, em que coletivos de LLMs tentam resolver problemas e, quando travam, postam uma pergunta do jeito antigo
Eu acharia perfeitamente aceitável meu agente dizer: "travei aqui, já postei uma pergunta no SO, vamos voltar depois quando alguém responder"
Fico pensando como impedir que um LLM escreva demais
Já construí algumas ferramentas e sistemas parecidos, e em todos eles o LLM ficava inflando a documentação sem parar até o sistema inteiro virar uma bagunça, ficando menos útil quanto maior ficava
Um experimento que fiz anos atrás era dar alguns links e deixar o LLM pesquisar os tópicos relacionados, montar seu próprio wiki de conhecimento e organizar em cada página resumos, links cruzados e fontes
Na aparência parecia bom, mas quando eu lia os dados de verdade não era grande coisa
Foi um experimento de anos atrás, então talvez hoje valha a pena testar de novo com algo como opus 4.7
Como ponto para reflexão, a comunidade do TiddlyWiki obviamente também vem explorando ferramentas de IA
O TiddlyWiki é um wiki baseado em um único arquivo HTML capaz de modificar a si mesmo, e existe há mais de 20 anos
Não necessariamente evoluiu para um ambiente agentic, mas tem plugin de markdown e ferramentas para tornar arquivos executáveis ou transformá-los em webapps self-serving. Git é meio complicado
Então, em teoria, um wiki agentic de arquivo único poderia circular por aí modificando a si próprio
https://tiddlywiki.com/
Essa configuração de arquivo único que você mencionou já tem vários conectores para LLM. Por exemplo, https://github.com/rimir-cc/tw-llm-connect
O apelo é exatamente esse ponto. Não há dependências, não precisa instalar nada e é muito fácil de armazenar, então uma configuração de wiki agentic de arquivo único se editando sozinha já é possível hoje mesmo
Algo mais próximo do padrão de LLM Wiki do Karpathy é o twillm, em que estou trabalhando
https://github.com/Jermolene/twillm
Ele usa a configuração Node.js do TiddlyWiki, salva tiddlers como arquivos individuais, aponta diretamente para vaults Markdown existentes e pode ser usado junto com ferramentas como Claude Code
As vantagens do TiddlyWiki também são bem claras. É open source, então dá para seguir usando no longo prazo, e como é web-based dá para acessar de qualquer lugar
Além disso, views computadas substituem arquivos de índice materializados. No modelo do Karpathy, o LLM precisa ficar sincronizando o index.md toda vez que adiciona notas, e esse tipo de coisa tende a ficar stale conforme as sessões mudam, algo em que LLMs são particularmente ruins
Já as views do TiddlyWiki são expressões de filtro em tempo real; por exemplo, algo como "ordenar tiddlers com a tag concept por rating" é calculado na hora da renderização
O Frontmatter também vira uma estrutura consultável. O Obsidian mostra YAML frontmatter como metadados em caixa no topo da nota, mas o TiddlyWiki promove esses campos a campos de tiddler de primeira classe, para uso direto em filtragem, ordenação e agregação
E o LLM pode escrever não só conteúdo, mas também pequenos applets. Em vez de apenas notas em Markdown, ele pode adicionar tiddlers em wikitext (
.tid) para criar views vivas e interativas como dashboards, exploradores de tags, índices de diário e glossáriosA área de artefatos que se constroem sozinhos é interessante e está crescendo bastante agora, especialmente porque os LLMs recentes, sobretudo os voltados para código, estão ficando muito melhores nisso
Eu mesmo experimentei recentemente um projeto focado em minimizar dependências e manter o agente sob controle local
https://github.com/GistNoesis/Shoggoth.db/
Ele cria e organiza seu próprio banco de dados sqlite para executar tarefas longas dadas por prompt, usando como dados-fonte uma cópia local da Wikipedia
Também inclui só o mínimo de harness e ferramentas para experimentar drift de agente
É bem fácil acoplar ferramentas de imagem também. Basta codificar a imagem em base64 e passar para o llama.cpp, e os detalhes de implementação podem ser meio que vibecoded com um LLM local
Acho que é uma ferramenta utilitária de propósito bem geral
Por exemplo, antes eu tinha um script que usava Amazon Textract para extrair valores, datas e vendedores de faturas e recibos numa pasta, e depois uma pessoa conferia os números para montar um CSV para o contador
Agora dá para trocar essa chamada de Amazon Textract por uma chamada de modelo no llama.cpp com um prompt adequado, mantendo a ferramenta de faturas existente e abrindo espaço para um tratamento contábil muito mais criativo
Também experimentei uma variação para mover um robô físico com base em uma sequência de imagens de câmera, e em casos simples ele realmente se mexia e chegava ao objetivo
Só que o LLM que eu uso nunca foi treinado para dirigir robôs, e levava 10 segundos para escolher a próxima ação, então não era prático. Os controladores clássicos que uso hoje, sem deep learning, rodam o loop visual a 20 Hz
Modelos de LLM e os agentes construídos em cima deles não são determinísticos, e sim probabilísticos
Eles conseguem fazer algo com certa taxa de acerto, mas não acertam sempre
Por isso, quanto mais tempo um agente fica levando uma tarefa adiante, maior a probabilidade acumulada de falha. Agentes de execução longa desse tipo acabam falhando e, no processo, queimam uma quantidade enorme de tokens
Uma das coisas que agentes de LLM fazem bem é reescrever as próprias instruções
O truque está em limitar o tempo e as etapas de raciocínio do modelo de thinking, depois avaliar, atualizar e rodar de novo
Fazendo uma analogia, agentes caem. Não deixe que corram por tempo demais até tropeçar; duas vezes por 5 minutos é melhor do que uma vez por 10 minutos
Daqui a algumas semanas, esses agentes autorreferenciais provavelmente já vão estar dominando o topo do feed do Twitter
Então é bem possível que esses wikis cheguem a um certo estado e simplesmente parem ali