2 pontos por GN⁺ 3 일 전 | 1 comentários | Compartilhar no WhatsApp
  • 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, /lookup e /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 workspaces Nex ou GBrain existentes 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, /lookup com base em citações e /lint para 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 como cat, grep, git log e git clone
  • Essa wiki padrão pode ser usada sem chave de API
  • Na nomenclatura interna do código, o notebook é a memória private e a wiki é a memória shared; os backends markdown, nex e gbrain usam superfícies de ferramentas MCP diferentes
  • O conjunto de ferramentas do backend markdown e o conjunto legado de nex e gbrain não coexistem na mesma instância de servidor
  • Mais detalhes estão em DESIGN-WIKI.md e docs/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, none e o padrão markdown
  • 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-agency e revops
  • Flags como --opus-ceo, --no-open, --web-port e --unsafe permitem 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 main pode mudar todos os dias; ao fazer fork, recomenda-se fixar uma release tag em vez de usar main

Colaboração e integrações externas

  • Há suporte a ponte com Telegram; depois de executar /connect dentro 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 e gateway.auth.token em ~/.openclaw/openclaw.json para 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.json com permissão 0600
  • 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 GBrain ou Nex
  • 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 import e 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/ e DESIGN-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 em git log
  • Os requisitos da demo são curl, python3, um broker em execução com --memory-backend markdown e um CLI de LLM compatível entre claude, codex e openclaw disponível no PATH

1 comentários

 
GN⁺ 3 일 전
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

    • Isso parece mais do que simples anotações. Na prática, é mais um harness para coordenar o trabalho entre agentes com o mínimo possível de intervenção humana
      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
    • Acho um problema sério as pessoas criarem uma quantidade enorme de trabalho administrativo inútil com IA e nunca mais olharem para isso
      É um desperdício gigantesco
    • Concordo totalmente na parte sobre anotações. As pessoas tratam notas com leveza demais, e no fim elas vão se acumulando mais do que precisam, como um sótão ou um porão
      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
    • Pelos poucos estudos científicos que saíram até agora, quando um conjunto de markdown é mantido inteiramente por LLMs, a qualidade do resultado piora; quando é mantido por pessoas, melhora
      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
    • No começo eu achei que isso era uma paródia
      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

    • Parece NFT, antes disso blockchain e, em certo sentido, até a febre da Web 2.0
      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
    • No fim, se funciona, já está valendo. Existe um motivo para tanta gente estar criando ferramentas de IA, e nós de fato estamos comprando isso tudo
      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
    • No ano passado, eu já tinha criado um CRM AI-native com apoio do fundador da HubSpot, Dharmesh Shah, já havia receita, e depois de mudar de direção várias vezes concluí que o fosso defensável estava em context graph infra
      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

    • As notas foram bem interessantes
      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
    • Gostei especialmente da seção Borrowable Ideas e adoraria ver mais gente reaproveitando isso de verdade
      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
    • Esses caça-níqueis generativos claramente têm um efeito de isolar as pessoas
      Você disse que gostaria que houvesse uma chance de colaborar, e isso me soou estranho, como se essa chance não existisse agora
    • Vou ler
    • Sinceramente, acho que isso já entrou no território de fazer você mesmo e colocar para rodar
      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/

    • Só como referência, eu sou a pessoa que criou o TiddlyWiki originalmente
      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ários
  • A á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

    • Agentes e ML também têm o problema de ficar presos em máximos locais sem feedback externo
      Então é bem possível que esses wikis cheguem a um certo estado e simplesmente parem ali