how do you find out whether your ai agent can actually find what it remembers
i tested mine this week. my agent keeps its long term memory as 85 plain markdown fact files in a git repo, searched by keyword
when i asked questions in the same words the facts use, recall scored 25 out of 25. that number looked great and told me almost nothing
then a separate subagent wrote 20 questions the way a person would really ask them, without ever seeing the files. recall dropped to 7 out of 20
the facts were all there. keyword search just could not match everyday wording to the wording i had used when the fact was saved
i fixed it in two steps and measured each one
first, a different subagent wrote 3 to 6 everyday aliases for each fact into its header. no code change, because the keyword index already reads headers. 7 went to 13
second, a small local embedding index over the fact files only, qwen3 embedding 0.6b running on ollama, with the single best semantic match placed above the keyword results. 13 went to 17
i also tried the top 2 semantic matches. the original test fell to 24 out of 25, so i kept top 1
to avoid grading myself on questions i had already tuned against, a fresh subagent wrote a second blind set. the new build scored 20 out of 20 and the old one 13 out of 20. that set turned out easier than the first, so the number i trust is 17 out of 20
recall time went from 0.23 to 0.37 seconds. if the embedding model is down, search falls back to keywords without an error
my take for anyone building agent memory is to test it with questions written by something that never saw the answers. questions you write yourself reuse your own wording, so they pass
is meta's official ads mcp server ready to hand to an agent
meta now runs a remote mcp server for ads. its developer docs say an agent can analyze campaign performance, create and edit ads, campaigns and catalogs, check signal health, run experiments and read activity logs, all through oauth with read and manage scopes you control
i connected it to my hermes agent this week. what the setup taught me
the server refused dynamic registration from my agent, so the agent could not just discover it and log in. you create a meta developer app, add the ads mcp use case, set the redirect urls under facebook login for business, and give your agent's mcp config that app id
after login the server exposed 100 tools. i allowlisted 45 of them, all read only. nothing in my setup can create or edit an ad yet
the oauth token lasts about 60 days
the bug that cost me an evening was small. my config kept the app id as text, the gateway later compared it against the same id parsed as a number, decided the app had changed and threw the tokens away. a second login through the desktop button held the callback port for about two minutes, and cancelling it removed the tokens again. the fix was to keep the id as a quoted string and log in only from the command line
the read side already works. i pulled pixel health and event history through it without opening a dashboard
my take is that this is the right shape for ad tooling, a vendor server with scoped oauth instead of agents scraping dashboards. meta's own page also warns against giving write scopes to agents that process untrusted input, and i agree with it. an agent that reads web pages or inbound messages should never hold the manage scope. read only first, and writes later behind a human approval
Je pense qu’on sous-estime encore complètement ce qu’est en train de devenir Grok Bot.
Je l’utilise sur mon ordinateur de travail, configuré comme un agent GTM avec ses propres instructions et son propre environnement. Il n’a pas besoin d’obtenir des permissions sur le poste ni de fouiller directement dans mes fichiers : il travaille dans sa VM.
Sur cet aspect, on se rapproche davantage de GPT Work que d’un simple chatbot.
L’interface est très bonne, l’interaction est naturelle et, surtout, on dispose des plugins Cursor. À partir de là, on peut déjà pousser le produit beaucoup plus loin que ses usages par défaut.
Composio est également très intéressant pour ajouter rapidement un grand nombre d’applications et d’appels API. Pour tout ce qui vit dans le cloud, cela ouvre déjà énormément de possibilités.
Mais mes outils les plus importants ne vivent pas uniquement dans des SaaS.
J’ai d’un côté mon coffre Obsidian, dans lequel se trouvent mes projets, ma mémoire, mes décisions, mes recherches, mes instructions et une bonne partie des skills que j’utilise depuis longtemps.
De l’autre, j’ai Hermes, installé sur son propre serveur à la maison, connecté à son environnement et capable d’aller beaucoup plus loin qu’un agent enfermé dans la VM de Grok Bot.
J’ai donc poussé le concept un peu plus loin et créé deux plugins personnels.
Le premier transforme Obsidian en Librarian (mon bibliothéquaire) pour Grok Bot.
Depuis Grok Bot, je peux demander au Librarian de retrouver une décision, une note projet, une personne, une ancienne réflexion ou le contexte complet d’un sujet.
Le bridge donne un accès très encadré au coffre.
Le second plugin connecte Grok Bot à mon agent Hermes.
Hermes reste sur son serveur, avec ses propres instructions, ses outils et les accès à l’infrastructure hôte que j’ai choisi de lui donner. Mais je peux désormais le solliciter directement depuis l’interface de Grok Bot.
Cela ne remplace pas Hermes Desktop ni Hermes sur Telegram, que j’adore toujours utiliser.
Cela ajoute simplement une nouvelle porte d’entrée.
Je peux discuter avec mon agent GTM dans Grok Bot, demander au Librarian de retrouver le contexte d’un projet, puis solliciter Hermes lorsqu’il faut aller plus loin depuis mon infrastructure personnelle.
C’est là que les deux mondes se marient vraiment bien.
Composio et les plugins classiques donnent accès aux applications et aux API cloud.
Le bridge Obsidian donne accès à ma mémoire personnelle.
Le bridge Hermes donne accès à mon agent auto-hébergé et à ce qu’il sait faire depuis son propre environnement.
Et Grok Bot devient l’interface commune pour interagir avec tout ça.
Je ne cherche pas à remplacer les outils que j’utilise déjà. Je profite simplement de l’UI et de l’environnement proposés par Grok Bot tout en conservant Obsidian et Hermes là où ils sont les meilleurs.
Pour moi, c’est ça le power usage de Grok Bot : ne pas le considérer comme une nouvelle fenêtre de chat isolée, mais comme une interface sur laquelle on peut venir brancher sa propre stack.
J’ai mis les deux repos à disposition de ceux qui voudraient reproduire ce type de configuration ou construire leurs propres variantes :
GrokBot ↔ Obsidian Bridge https://t.co/nuZEcNrN48
GrokBot ↔ Hermes Bridge https://t.co/aEEFNYq0fR