2 points par GN⁺ 3 일 전 | 1 commentaires | Partager sur WhatsApp
  • Une couche wiki pour agents IA basée sur Markdown & Git
  • Une couche de base de connaissances native pour les LLM, conçue pour permettre aux agents IA d’accumuler du contexte au-delà des sessions ; elle est stockée localement dans ~/.wuphf/wiki/ et peut être récupérée en entier via git clone
  • Au lieu d’une infrastructure lourde comme Postgres, pgvector, Neo4j ou Kafka, le système repose uniquement sur markdown + git, et gère les connaissances avec BM25 + SQLite, sans base de données vectorielle
    • Stockage en markdown, recherche BM25 avec bleve, et gestion des métadonnées structurées (facts, entities, edges, redirects, supersedes) avec SQLite
    • Sans utiliser de base vectorielle, il atteint 85% de recall@20 sur un benchmark de 500 artefacts et 50 requêtes
    • Il est prévu d’utiliser sqlite-vec si certaines classes de requêtes passent sous ce seuil
  • Chaque agent dispose d’un carnet personnel dans agents/{slug}/notebook/*.md et accède à un wiki partagé dans team/
    • Il existe un flux de promotion des entrées du carnet vers le wiki après relecture par un agent ou un humain, avec génération automatique de backlinks
    • Une petite machine à états gère l’expiration et l’archivage automatique
  • Per-entity fact log : enregistrement en JSONL append-only dans team/entities/{kind}-{slug}.facts.jsonl
    • Un worker de synthèse reconstruit le brief d’entité tous les N facts, et les commits sont laissés sous une identité git distincte, "Pam the Archivist", ce qui permet de vérifier immédiatement la provenance dans git log
    • Les ID de facts sont des ID déterministes incluant les offsets de phrase, et un slug canonique, une fois attribué, est fusionné via un redirect stub et ne peut jamais être modifié
    • Les reconstructions sont logiquement identiques, sans garantie d’identité octet par octet
  • Prise en charge des [[Wikilinks]] et rendu en rouge des liens cassés ; un lint cron quotidien détecte les contradictions, les entrées obsolètes et les wikiliens cassés
  • Recherche basée sur des citations via la commande slash /lookup et les outils MCP
    • Un classificateur heuristique oriente les requêtes courtes vers BM25 et les requêtes descriptives vers une boucle de réponse citée
  • Limites connues
    • Le réglage du recall est en cours, et 85% ne constitue pas une garantie générale
    • La qualité de synthèse dépend de la qualité des facts enregistrés par l’agent (garbage in, garbage out) ; le lint aide, mais ce n’est pas un moteur de jugement
    • Actuellement limité à un seul office, sans prise en charge de la fédération cross-office
  • Fourni comme partie de WUPHF (un office d’agents IA open source prenant en charge Claude Code, Codex, OpenClaw et les LLM locaux), mais la couche wiki peut aussi être utilisée seule — si vous connectez WUPHF à une configuration d’agent existante, le wiki s’y attache automatiquement
  • Licence MIT

1 commentaires

 
GN⁺ 3 일 전
Commentaires sur Hacker News
  • Je ne vois pas très bien l’intérêt principal de l’automatisation des notes. Avant déjà, copier-coller du texte dans des notes ne m’a jamais vraiment aidé ; je doute que multiplier ça par 100 change grand-chose
    Pour moi, l’essentiel dans les notes, c’est de lire les sources de façon critique, de les digérer selon mon modèle mental, puis d’en garder une trace
    Les détails peuvent se retrouver plus tard ; au final, ce qui compte, c’est le processus d’affinage de ce modèle

    • Ça ressemble à plus qu’une simple prise de notes. En pratique, c’est plutôt un autre harnais pour coordonner le travail entre agents en minimisant l’intervention humaine
      Dans ce cas, le but est peut-être justement de ne pas construire soi-même ce modèle mental et de le déléguer à un cerveau LLM partagé
      Cela dit, je doute fortement qu’une telle approche permette de créer quelque chose de réellement précieux pour le propriétaire du produit. Si des prompts et un harnais d’agents suffisent à créer un produit de valeur, alors n’importe qui peut le recréer, le développement produit devient une commodity, et au final il ne reste peut-être de valeur que dans les tokens
      Mon hypothèse, c’est que le do things that don’t scale de Paul Graham restera valable, mais que le contenu même de ces choses qui ne passent pas à l’échelle risque de changer
      Cela dit, je me suis récemment mis à utiliser Obsidian sérieusement. En configurant des compétences pour la prise de notes, la recherche, les liens, le découpage et la réorganisation d’une base de connaissances, j’ai l’impression d’avoir un assistant numérique qui s’occupe du rangement
      Maintenant, il me suffit de noter des idées en vrac pour que l’agent leur donne une structure, pose des questions de suivi et les relie à d’autres travaux. C’est toujours moi qui lis les sources et construis mon modèle mental, mais j’obtiens des notes de grande qualité pour un coût presque nul
    • Je pense que c’est un vrai problème que les gens créent avec l’IA une énorme quantité de travail administratif inutile qu’ils ne regarderont plus jamais
      C’est un gaspillage colossal
    • Je suis totalement d’accord sur la prise de notes. On la traite avec beaucoup trop de légèreté, et au final ça s’accumule comme dans un grenier ou une cave
      La plupart des choses n’ont pas besoin d’entrer dans des notes au départ, et les LLM augmentent excessivement le bruit sans même faire un vrai travail de validation ou de filtrage
      Il y avait un bon essai vidéo de JA Westenberg sur ce sujet
      https://youtube.com/watch?v=3E00ZNdFbEk
    • D’après les quelques études scientifiques publiées jusqu’ici, quand ce type de collection markdown est maintenu entièrement par des LLM, la qualité produite baisse ; quand elle est maintenue par des humains, elle augmente
      J’ai trouvé ça assez intéressant
      À mon avis, l’optimum, c’est la curation humaine ; surtout si on ne gère pas consciemment la debt ou la drift, le fonctionnement sans supervision n’est pas la solution
    • Moi aussi, au début, j’ai cru que c’était une parodie
      D’autant plus que le nom est exactement le même que celui du produit inutile et redondant Wuphf.com dans The Office
  • On a l’impression qu’il suffit d’ajouter AI au nom d’un produit pour attirer des milliards de dollars, et de glisser Karpathy dans un billet de blog pour se faire recruter comme principal engineer chez Anthropic
    On dirait surtout une ruée pour extraire de l’argent tant que la mode dure, sans trop se demander ce dont les clients ont réellement besoin
    Tout le monde se précipite comme pour profiter de la vague tant qu’elle passe

    • NFT, avant ça la blockchain, et sous certains aspects même la vague Web 2.0
      Cela dit, à l’époque on construisait quand même de vraies choses, et les conditions de financement plus serrées limitaient un peu la surchauffe
      Cette vague LLM a au moins une vraie part de potentiel et de valeur, et c’est une technologie assez amusante à apprendre et à manipuler
      J’ai accepté depuis longtemps l’idée que quand l’argent afflue vers ce genre d’endroit, il faut saisir l’occasion tant que ce n’est pas contraire à l’éthique. Tant que le capital VC/PE abonde, on peut aussi construire quelque chose de précieux et de sympa
    • J’ai envie de dire que si ça fonctionne, c’est déjà bien. Il y a une raison pour laquelle tout le monde construit des outils IA, et nous les achetons effectivement tous
      J’attends toujours un harnais CLI de classe mondiale capable de remplacer Claude Code. J’ai besoin de quelque chose qui règle les problèmes de mémoire et de conception
      Le web design reste proche du cauchemar avec des LLM
    • L’an dernier, j’avais déjà créé un CRM AI-native soutenu par Dharmesh Shah, cofondateur de HubSpot, avec du chiffre d’affaires, puis j’ai pivotté plusieurs fois avant de conclure que le bon moat, c’était l’infra de context graph
      On a aussi fait des PoC en entreprise, et tout cela s’est finalement condensé dans ce projet construit à côté pour m’aider dans mon travail personnel. En pratique, la bonne interface pour rendre cette infra de contexte réellement utilisable, c’était précisément ça
      Le poste de principal engineer chez Anthropic ne m’intéresse pas. J’étais auparavant Product Manager chez HubSpot, je gagnais bien mieux ma vie qu’aujourd’hui, et il est probable que je ne retrouve pas ce niveau pendant encore plusieurs années
      Si j’ai fait plusieurs paris puis itéré sans cesse, c’est parce que tout a évolué au contact direct des clients. Pendant ce temps, les anciens concurrents construisent encore des AI CRM en stealth
      Ayant longtemps travaillé dans ce secteur, je pense que la vague en elle-même importe peu, mais qu’il y a clairement une valeur concrète à récupérer en dessous
  • J’ai lu cette review : https://zby.github.io/commonplace/agent-memory-systems/reviews/wuphf/
    C’est déjà le troisième wiki LLM à arriver en une de la front page en moins de 24 heures, donc c’est clairement un sujet brûlant
    J’ai moi aussi un intérêt dans ce domaine, donc je ne suis pas totalement objectif, mais j’ai listé séparément ce que j’attends de ce type de système
    https://zby.github.io/commonplace/notes/designing-agent-memory-systems/
    J’ai l’impression que tout le monde reconstruit son propre système, avec énormément de duplication d’efforts ; j’aimerais qu’il existe une manière de collaborer

    • Les notes étaient assez intéressantes
      En revanche, à voir le style, ça semblait clairement écrit par un LLM, donc je me demande si, pour ce genre de notes de conception, vous les réécrivez ensuite avec vos propres mots pour vérifier qu’elles portent bien vos idées à vous
    • J’ai particulièrement aimé la section Borrowable Ideas, et j’aimerais vraiment qu’elle soit largement reprise
      Nous avons lancé nex.ai comme société d’infra de contexte bien avant que Karpathy ne parle de l’idée du wiki LLM, et même si cela apparaît encore peu dans WUPHF, nous commençons maintenant à en montrer certains éléments
      Une bonne partie des inquiétudes listées dans l’article comparatif correspond justement à des sujets que nous traitons déjà dans l’infra de contexte que nous avons construite, donc c’était agréable à voir
      Cela dit, je serais tout à fait favorable à des collaborations pour réduire les doublons et partager ce que chacun a appris
    • Les machines à sous génératives ont clairement un effet d’isolement sur les gens
      Vous dites espérer qu’il y ait des occasions de collaborer, ce qui sonne presque comme s’il n’y en avait pas actuellement, et ça m’étonne
    • Je vais aller lire ça
    • Honnêtement, j’ai l’impression qu’on est désormais dans une zone où il faut mettre les mains dedans et construire soi-même
      En ajoutant simplement QMD à un vault Obsidian, on est déjà à 80 %, et ça prendrait probablement moins de deux heures
  • Pour le contexte, voici aussi les liens vers le message original de Karpathy
    https://x.com/karpathy/status/2039805659525644595
    https://xcancel.com/karpathy/status/2039805659525644595

  • Je me demande si les AI Notes apportent vraiment de la valeur, ou si elles ne font qu’ajouter du bruit
    Cela dit, j’aime bien le style ASCII du site

  • Comme solution à ce problème, j’aimerais que quelqu’un construise une sorte de renaissance de StackOverflow
    Avec une curation humaine, mais sous la forme d’un graphe de connaissances distribué où des LLM collectifs essaient de résoudre les problèmes, puis publient une question à l’ancienne quand ils bloquent
    Si mon agent pouvait me dire « je suis bloqué ici, j’ai posté une question sur SO, revenons plus tard quand il y aura une réponse », ça me semblerait tout à fait acceptable

  • Je me demande comment empêcher un LLM d’écrire trop
    J’ai construit quelques outils et systèmes du même genre, et dans tous les cas le LLM gonflait en permanence la documentation, jusqu’à finir par rendre l’ensemble du système incohérent, et moins utile à mesure qu’il grossissait
    Une de mes anciennes expériences consistait à donner seulement quelques liens au LLM, puis à le laisser explorer les sujets associés et construire son propre wiki de connaissances avec des résumés, des liens croisés et les sources sur chaque page
    En apparence, ça semblait bien, mais en lisant les vraies données, ce n’était pas terrible
    C’était une expérience d’il y a quelques années, donc cela vaudrait peut-être la peine de la retenter aujourd’hui avec quelque chose comme opus 4.7

  • Pour alimenter la réflexion, la communauté TiddlyWiki explore elle aussi naturellement les outils IA
    TiddlyWiki est un wiki auto-modifiable basé sur un fichier HTML unique, qui existe depuis plus de 20 ans
    Il n’a pas forcément évolué vers un environnement agentic, mais il existe un plugin markdown, ainsi que des outils pour rendre les fichiers exécutables ou les transformer en webapps self-serving. Git y est un peu délicat
    Donc, en théorie, un wiki agentic en fichier unique pourrait circuler et se modifier lui-même
    https://tiddlywiki.com/

    • Pour information, c’est moi qui ai créé TiddlyWiki à l’origine
      La configuration en fichier unique dont vous parlez dispose déjà de plusieurs connecteurs LLM. Par exemple : https://github.com/rimir-cc/tw-llm-connect
      Son attrait vient exactement de là : aucune dépendance, aucune installation, archivage très facile ; une configuration de wiki agentic en fichier unique qui s’édite elle-même est donc possible dès aujourd’hui
      Plus proche du pattern LLM Wiki de Karpathy, il y a aussi twillm, sur lequel je travaille
      https://github.com/Jermolene/twillm
      Celui-ci utilise la configuration Node.js de TiddlyWiki, stocke les tiddlers sous forme de fichiers individuels, peut pointer directement vers un vault Markdown existant et s’utiliser avec des outils comme Claude Code
      Les avantages de TiddlyWiki sont également assez nets. C’est open source, donc on peut continuer à l’utiliser sur le long terme, et comme c’est basé sur le web, on y accède de partout
      De plus, les vues calculées remplacent les fichiers d’index matérialisés. Dans l’approche de Karpathy, le LLM doit continuer à synchroniser index.md à chaque ajout de note, ce qui devient facilement stale au fil des sessions ; c’est justement le genre de tâche où les LLM sont particulièrement mauvais
      À l’inverse, les vues de TiddlyWiki reposent sur des expressions de filtre en temps réel, donc un résultat comme « trier les tiddlers tagués concept par note » est calculé à la volée au moment du rendu
      Le frontmatter devient lui aussi une structure interrogeable. Obsidian affiche le frontmatter YAML comme une boîte de métadonnées en haut de la note, tandis que TiddlyWiki promeut ces champs au rang de champs natifs de tiddler, directement exploitables pour filtrer, trier et agréger
      Et les LLM peuvent écrire non seulement du contenu, mais aussi de petites applets. Au lieu de simples notes Markdown, ils peuvent produire des tiddlers en wikitext (.tid) pour créer des vues vivantes et interactives comme des tableaux de bord, des outils d’exploration de tags, des index de journal ou des glossaires
  • Le domaine des artefacts auto-construits est intéressant, et il prend beaucoup d’ampleur en ce moment, surtout depuis que les LLM — en particulier les modèles orientés code — progressent rapidement sur ce terrain
    J’ai moi aussi récemment expérimenté un projet centré sur un minimum de dépendances et sur le contrôle local des agents
    https://github.com/GistNoesis/Shoggoth.db/
    Il crée et entretient lui-même une base de données sqlite pour réaliser des tâches longues données en prompt, en utilisant comme données source une copie locale de Wikipédia
    J’y ai aussi inclus un harnais et des outils vraiment minimaux pour expérimenter la drift des agents
    Il est également assez simple d’y connecter des outils de traitement d’image : il suffit d’encoder les images en base64 et de les passer à llama.cpp, et l’implémentation détaillée peut être vibecodée à la va-vite avec un LLM local
    Je pense que c’est un outil d’usage assez général
    Par exemple, j’avais autrefois un script qui utilisait Amazon Textract pour extraire le montant, la date et le vendeur depuis des factures et reçus dans un dossier, puis quelqu’un vérifiait les nombres pour produire un CSV destiné au comptable
    Maintenant, on pourrait remplacer cet appel à Amazon Textract par un appel à un modèle llama.cpp avec le bon prompt, conserver tout l’outillage existant pour les factures, et aller vers une comptabilité bien plus créative
    J’ai aussi expérimenté une variante où une séquence d’images caméra servait à piloter un robot physique ; dans les cas simples, il bougeait réellement et atteignait la cible
    En revanche, le LLM que j’utilise n’a jamais été entraîné pour conduire un robot, et il lui fallait 10 secondes pour choisir l’action suivante, donc ce n’était pas pratique. Les contrôleurs classiques non deep learning que j’utilise aujourd’hui font tourner la boucle de vision à 20 Hz

  • Les modèles LLM et les agents construits dessus ne sont pas déterministes mais probabilistes
    Ils réussissent certaines choses avec une certaine probabilité, mais pas à tous les coups
    Donc plus on laisse un agent poursuivre une tâche longtemps, plus la probabilité d’échec augmente. Ce type d’agent à longue exécution finira par échouer, tout en brûlant énormément de tokens au passage
    Une des choses que les agents LLM font bien, c’est réécrire leurs propres instructions
    L’astuce consiste à limiter le temps et les étapes de raisonnement du modèle de thinking, puis à évaluer, mettre à jour et relancer
    Pour prendre une image, il faut considérer qu’un agent finit par tomber. Au lieu de le faire courir longtemps jusqu’à la chute, mieux vaut deux fois cinq minutes qu’une fois dix minutes
    D’ici quelques semaines, ce genre d’agents auto-référentiels occupera probablement le haut des feeds Twitter de tout le monde

    • Les agents et le ML ont aussi le problème de rester coincés dans des maxima locaux en l’absence de feedback externe
      Donc ce genre de wiki risque fort d’atteindre un certain état puis d’y rester bloqué