Having an inverted index (as with FTS5) is useful in that, for a basic single-term lookup, you reduce a sequential scan, O(N), down to O(log N). For small N, the performance difference might not be meaningful. Performance gap widens with more sophisticated queries (boolean operators, ranking, etc).
Indexing your corpus as you go makes retrieval a lot faster, and then the agent can dig into the specific file if it needs something more.
i can see for public facing deployments agent memory like this could result in faster roundtrips.
The basic shape is to periodically "distill the conversation into several areas (problem, solution, learnings, 'context' or original problem, plus other fields) and vectorized" (aka vector embedding), then queried against pgvector table to find related "memories". The vectorized distillates are also inserted into the pgvector table with a reference to back to the source conversation to add new memories.
Vector search requires a full scan but it's still pretty fast and I bet it's more accurate the FTS.
I myself do not care what's written in that file, I steer, instruct and share my knowledge, visions, goal and preferences in our conversations, and the agent will boil that down and update the markdown folder. It has worked very well for me.
I now do not have to worry about creating handoff prompts when creating a new conversation or that I have to teach an agent from the ground up about the context we're in, I just refer to that markdown file.
One thing that is interesting during my work is that Codex and OpenCode using OpenAI models are REALLY good at using the tool, whereas new models and changes in Claude code keep making it difficult to stay on top of it's usability there. It seems like instructions and/or models are changing that cause for it to prefer the Claude Code memory tooling instead of allowing for remote memory tooling.
Opus 5 seems to have made it materially worse (or some harness change around Opus 5, I haven't dug in entirely to analyze). I had to get more in-depth setup instructions to make sure that Claude Code would consistently use my memory tooling.
Idk though it ebbs and flows. Rn latest OpenAI models are capable of long focused decent work. Surely it’ll flip at some point in the near future /sigh
Looking at your tool descriptions (as wit the ones on the original post) I wonder if this something perhaps only current frontier models will do, but the systems themselves seem like they'd be even more useful for open weights models with shorter working contexts.
In short, this is for my agents to have a shared skill library, a shared fact library and durable information such as which projects run where.
The rest should be in your repo.
Same principle. It's a good idea to have a schedule to clean them up periodically - an idea you can also put into a note.
I'm guessing having a portable memory that's comparable with first party memory is the goal.
[0]: https://setoku.com
Then the memories could easily be human-reviewed. The repo would be the canonical source, and the FTS5 would be one specific materialization.