{"author":"pcbmaker20","children":[{"author":"rcarmo","children":[{"author":"dofm","children":[{"author":"rcarmo","children":[],"created_at":"2026-08-13T18:18:06.000Z","created_at_i":1786645086,"id":49289943,"options":[],"parent_id":49286867,"points":null,"story_id":49286073,"text":"All SOTA models seem to work fine (including Sonnet and Gemini), as does Kimi and DeepSeek. But this is not for short-term memory.","title":null,"type":"comment","url":null}],"created_at":"2026-08-13T14:49:39.000Z","created_at_i":1786632579,"id":49286867,"options":[],"parent_id":49286444,"points":null,"story_id":49286073,"text":"Please excuse my noob-ish, na\u00efve question, but to what extent is the business of getting the LLM to actually consult memory a model-dependent thing? Do you have to introduce the tool and guide models with different language for different model families?<p>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&#x27;d be even more useful for open weights models with shorter working contexts.","title":null,"type":"comment","url":null},{"author":"ejp","children":[{"author":"rcarmo","children":[],"created_at":"2026-08-13T18:16:13.000Z","created_at_i":1786644973,"id":49289921,"options":[],"parent_id":49286869,"points":null,"story_id":49286073,"text":"I\u2019m not using pure OKF. Mine has links (both explicit and semantic, based on embeddings), and I tap into both Needle for routing searches and a Qwen&#x2F;Gemma or gpt-mini for doing the actual traversals on behalf of the client.","title":null,"type":"comment","url":null}],"created_at":"2026-08-13T14:49:46.000Z","created_at_i":1786632586,"id":49286869,"options":[],"parent_id":49286444,"points":null,"story_id":49286073,"text":"Since you built something on OKF, how would you contrast it with knowledge graph implementations? How do you manage the ontology of what to keep knowledge about? Any cases where traversal would have helped?","title":null,"type":"comment","url":null},{"author":"esafak","children":[{"author":"sho","children":[{"author":"esafak","children":[{"author":"rcarmo","children":[],"created_at":"2026-08-13T18:18:49.000Z","created_at_i":1786645129,"id":49289955,"options":[],"parent_id":49289674,"points":null,"story_id":49286073,"text":"Memento is for that kind of cross-project, long term notes.","title":null,"type":"comment","url":null}],"created_at":"2026-08-13T17:59:42.000Z","created_at_i":1786643982,"id":49289674,"options":[],"parent_id":49287210,"points":null,"story_id":49286073,"text":"I&#x27;ll write one off notes for myself, but I am not going to do that in the code base unless it is really high value; it does not scale. The only place I write myself now is AGENTS.md","title":null,"type":"comment","url":null}],"created_at":"2026-08-13T15:10:31.000Z","created_at_i":1786633831,"id":49287210,"options":[],"parent_id":49287022,"points":null,"story_id":49286073,"text":"Well, do you see the value of writing notes for yourself occasionally, even though they might soon become stale in your constantly changing environment? Yes, right?<p>Same principle. It&#x27;s a good idea to have a schedule to clean them up periodically - an idea you can also put into a note.","title":null,"type":"comment","url":null},{"author":"rcarmo","children":[],"created_at":"2026-08-13T18:14:29.000Z","created_at_i":1786644869,"id":49289900,"options":[],"parent_id":49287022,"points":null,"story_id":49286073,"text":"This is not for code bases, that\u2019s pointless. This is for durable facts like \u201cthis is the prod server\u201d or \u201cthis is the skill for managing GitHub Actions cleanup policies\u201d.<p>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.<p>The rest should be in your repo.","title":null,"type":"comment","url":null}],"created_at":"2026-08-13T14:58:20.000Z","created_at_i":1786633100,"id":49287022,"options":[],"parent_id":49286444,"points":null,"story_id":49286073,"text":"I have seen the value of recording past sessions but I am more skeptical of the value in recording facts, which may soon become stale, about a constantly changing code base. Got benchmarks?","title":null,"type":"comment","url":null}],"created_at":"2026-08-13T14:24:20.000Z","created_at_i":1786631060,"id":49286444,"options":[],"parent_id":49286073,"points":null,"story_id":49286073,"text":"Nice to see more OKF-based approaches. My entry in this field is <a href=\"https:&#x2F;&#x2F;rcarmo.github.io&#x2F;projects&#x2F;memento&#x2F;\" rel=\"nofollow\">https:&#x2F;&#x2F;rcarmo.github.io&#x2F;projects&#x2F;memento&#x2F;</a>, which I\u2019ve been running for a few months now.","title":null,"type":"comment","url":null},{"author":"FitchApps","children":[{"author":"pcbmaker20","children":[],"created_at":"2026-08-13T15:01:34.000Z","created_at_i":1786633294,"id":49287078,"options":[],"parent_id":49287061,"points":null,"story_id":49286073,"text":"OKF is basically md files with front-matter for meta data","title":null,"type":"comment","url":null}],"created_at":"2026-08-13T15:00:29.000Z","created_at_i":1786633229,"id":49287061,"options":[],"parent_id":49286073,"points":null,"story_id":49286073,"text":"Looks very interesting. Can you explain for noobs why using Google&#x27;s OKF format and not plain MD files?","title":null,"type":"comment","url":null},{"author":"clemens1010","children":[{"author":"rgbrgb","children":[],"created_at":"2026-08-13T16:05:58.000Z","created_at_i":1786637158,"id":49288050,"options":[],"parent_id":49287164,"points":null,"story_id":49286073,"text":"that&#x27;s a good idea. how might you test this? could also include a codex memory test.<p>I&#x27;m guessing having a portable memory that&#x27;s comparable with first party memory is the goal.","title":null,"type":"comment","url":null}],"created_at":"2026-08-13T15:07:47.000Z","created_at_i":1786633667,"id":49287164,"options":[],"parent_id":49286073,"points":null,"story_id":49286073,"text":"did you test if that actually outperforms local claude code memory by any metric?","title":null,"type":"comment","url":null},{"author":"jrflo","children":[{"author":"rgbrgb","children":[{"author":"jrflo","children":[],"created_at":"2026-08-13T16:29:05.000Z","created_at_i":1786638545,"id":49288412,"options":[],"parent_id":49288091,"points":null,"story_id":49286073,"text":"Hmm, ok. I guess I rarely use the web interface and everything that I have agents record as &quot;memory&quot; in markdown is always accessible locally. If I&#x27;m accessing something remotely, I use the ChatGPT app with remote which connects directly to the host computer.","title":null,"type":"comment","url":null}],"created_at":"2026-08-13T16:09:14.000Z","created_at_i":1786637354,"id":49288091,"options":[],"parent_id":49287387,"points":null,"story_id":49286073,"text":"for one, the mcp-server architecture makes it usable from claude.ai and other surfaces where you have mcp but no filesystem. there are claude-specific workarounds (workspaces) but you lose portability across systems.","title":null,"type":"comment","url":null},{"author":"agentifysh","children":[],"created_at":"2026-08-13T16:33:27.000Z","created_at_i":1786638807,"id":49288467,"options":[],"parent_id":49287387,"points":null,"story_id":49286073,"text":"im asking the same thing myself for personal projects seems markdown files is best.<p>i can see for public facing deployments agent memory like this could result in faster roundtrips.","title":null,"type":"comment","url":null},{"author":"cstrahan","children":[],"created_at":"2026-08-13T17:12:07.000Z","created_at_i":1786641127,"id":49288976,"options":[],"parent_id":49287387,"points":null,"story_id":49286073,"text":"The memories are stored as OKF (Open Knowledge Format), which is markdown + frontmatter (+ constraints&#x2F;schema imposed thereon).<p>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).","title":null,"type":"comment","url":null},{"author":"schainks","children":[],"created_at":"2026-08-13T19:29:21.000Z","created_at_i":1786649361,"id":49290812,"options":[],"parent_id":49287387,"points":null,"story_id":49286073,"text":"At hundreds of notes you blow a lot of tokens just to _find one thing_.<p>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.","title":null,"type":"comment","url":null}],"created_at":"2026-08-13T15:22:02.000Z","created_at_i":1786634522,"id":49287387,"options":[],"parent_id":49286073,"points":null,"story_id":49286073,"text":"Cool idea. Why is this beneficial over just using markdown files and allowing agents to grep for whatever they need? I&#x27;ve tried various MCP things in the past and I&#x27;ve found they tend to slow down the agent and waste tokens more than they end up helping, but a better memory system is 100% needed for agents.","title":null,"type":"comment","url":null},{"author":"bearjaws","children":[{"author":"cstrahan","children":[],"created_at":"2026-08-13T17:15:49.000Z","created_at_i":1786641349,"id":49289028,"options":[],"parent_id":49287508,"points":null,"story_id":49286073,"text":"I&#x27;m not sure I follow. Are you suggesting that full text search systems are ultimately a convoluted way of performing O(N) regex searches? If not, I don&#x27;t see how you arrive at the conclusion that this is &quot;the same as grep in a memory&#x2F; directory&quot;.","title":null,"type":"comment","url":null}],"created_at":"2026-08-13T15:30:07.000Z","created_at_i":1786635007,"id":49287508,"options":[],"parent_id":49286073,"points":null,"story_id":49286073,"text":"Another week, another agent memory system that is about the same as grep in a memory&#x2F; directory.","title":null,"type":"comment","url":null},{"author":"healthycoder","children":[{"author":"rgbrgb","children":[],"created_at":"2026-08-13T16:18:10.000Z","created_at_i":1786637890,"id":49288225,"options":[],"parent_id":49287986,"points":null,"story_id":49286073,"text":"agree there are a lot of these but they&#x27;re all pretty simple (including mine [0]) so I think building your own and playing around with architecture is useful and fun.<p>[0]: <a href=\"https:&#x2F;&#x2F;setoku.com\" rel=\"nofollow\">https:&#x2F;&#x2F;setoku.com</a>","title":null,"type":"comment","url":null}],"created_at":"2026-08-13T16:01:27.000Z","created_at_i":1786636887,"id":49287986,"options":[],"parent_id":49286073,"points":null,"story_id":49286073,"text":"How is this any different from all the other Memory stuff we have? mem0 etc etc that do the same thing?","title":null,"type":"comment","url":null},{"author":"0c3ca83","children":[{"author":"skeledrew","children":[],"created_at":"2026-08-14T00:41:40.000Z","created_at_i":1786668100,"id":49293495,"options":[],"parent_id":49288231,"points":null,"story_id":49286073,"text":"Works across agents for one.","title":null,"type":"comment","url":null}],"created_at":"2026-08-13T16:18:21.000Z","created_at_i":1786637901,"id":49288231,"options":[],"parent_id":49286073,"points":null,"story_id":49286073,"text":"How is this different from what&#x27;s built into Claude?","title":null,"type":"comment","url":null},{"author":"ksajadi","children":[{"author":"unified101","children":[],"created_at":"2026-08-19T07:16:18.000Z","created_at_i":1787123778,"id":49358038,"options":[],"parent_id":49288579,"points":null,"story_id":49286073,"text":"dont worry abotu community. If your intent is to open source, just put it up on github (ask claude for help on how). simple as that, no reason not to do it.","title":null,"type":"comment","url":null}],"created_at":"2026-08-13T16:42:53.000Z","created_at_i":1786639373,"id":49288579,"options":[],"parent_id":49286073,"points":null,"story_id":49286073,"text":"For those looking for similar tools, there is also <a href=\"https:&#x2F;&#x2F;markbase.cloud&#x2F;\" rel=\"nofollow\">https:&#x2F;&#x2F;markbase.cloud&#x2F;</a> as a hosted service. (Disclaimer: we built it for internal use first and would like to open source with the community help as we don\u2019t have much experience in OSS maintenance)","title":null,"type":"comment","url":null},{"author":"Alifatisk","children":[{"author":"skeledrew","children":[{"author":"Alifatisk","children":[],"created_at":"2026-08-14T09:25:59.000Z","created_at_i":1786699559,"id":49296412,"options":[],"parent_id":49293526,"points":null,"story_id":49286073,"text":"Didn\u2019t know I was basically replicating AGENT.md. I didn\u2019t jump on that train when it became a trend.","title":null,"type":"comment","url":null}],"created_at":"2026-08-14T00:47:28.000Z","created_at_i":1786668448,"id":49293526,"options":[],"parent_id":49290209,"points":null,"story_id":49286073,"text":"Sounds like AGENTS.md with a different name.","title":null,"type":"comment","url":null}],"created_at":"2026-08-13T18:40:38.000Z","created_at_i":1786646438,"id":49290209,"options":[],"parent_id":49286073,"points":null,"story_id":49286073,"text":"What I do currently is having a markdown file named MEMORY.md at the root folder. Then, whenever I create a new conversation with an agent, I refer to that file. That file becomes the initial source of context and knowledge. At the end of an task, before I leave the conversation, I ask the agent to update MEMORY.md with lessons and new knowledge it has gathered from our conversation, it also removes stale or outdated information from that markdown file.<p>I myself do not care what&#x27;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.<p>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&#x27;re in, I just refer to that markdown file.","title":null,"type":"comment","url":null},{"author":"bravura","children":[{"author":"ksajadi","children":[],"created_at":"2026-08-13T19:22:23.000Z","created_at_i":1786648943,"id":49290720,"options":[],"parent_id":49290256,"points":null,"story_id":49286073,"text":"that&#x27;s what we started with, exactly because of the human review part. however we soon found out that there will be a lot of merge conflicts in the text (usually markdown) which heavily depends on the instructions and structure of the data. that&#x27;s why for Markbase we opted for etag based validations to avoid any potential of conflicts.","title":null,"type":"comment","url":null}],"created_at":"2026-08-13T18:43:53.000Z","created_at_i":1786646633,"id":49290256,"options":[],"parent_id":49286073,"points":null,"story_id":49286073,"text":"What if the memory were git repo backed, and the FTS5 were a speed-specific optimization?<p>Then the memories could easily be human-reviewed. The repo would be the canonical source, and the FTS5 would be one specific materialization.","title":null,"type":"comment","url":null},{"author":"infogulch","children":[],"created_at":"2026-08-13T18:56:56.000Z","created_at_i":1786647416,"id":49290426,"options":[],"parent_id":49286073,"points":null,"story_id":49286073,"text":"Last month a <i>Show HN: ContextVault</i> proposed an interesting long-term memory architecture. I discussed the design with the founder: <a href=\"https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=48900288#48901679\">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=48900288#48901679</a> (I think he bailed the conversation when I got too close haha.)<p>The basic shape is to periodically &quot;distill the conversation into several areas (problem, solution, learnings, &#x27;context&#x27; or original problem, plus other fields) and vectorized&quot; (aka vector embedding), then queried against pgvector table to find related &quot;memories&quot;. The vectorized distillates are also inserted into the pgvector table with a reference to back to the source conversation to add new memories.<p>Vector search requires a full scan but it&#x27;s still pretty fast and I bet it&#x27;s more accurate the FTS.","title":null,"type":"comment","url":null},{"author":"0x500x79","children":[{"author":"dirtbag__dad","children":[],"created_at":"2026-08-14T00:30:30.000Z","created_at_i":1786667430,"id":49293431,"options":[],"parent_id":49292663,"points":null,"story_id":49286073,"text":"New claude models, at least in the context of Claude code, are broadly lobotomized. Move extra slow, write loads tooling scripts you didnt\u2019t ask for, and don\u2019t actually complete the task at hand. They\u2019re like rain man.<p>Idk though it ebbs and flows. Rn latest OpenAI models are capable of long focused decent work. Surely it\u2019ll flip at some point in the near future &#x2F;sigh","title":null,"type":"comment","url":null}],"created_at":"2026-08-13T22:37:03.000Z","created_at_i":1786660623,"id":49292663,"options":[],"parent_id":49286073,"points":null,"story_id":49286073,"text":"I have a similar project that I have built and found great success with it storing things like coding standards, decisions, etc.<p>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&#x27;s usability there. It seems like instructions and&#x2F;or models are changing that cause for it to prefer the Claude Code memory tooling instead of allowing for remote memory tooling.<p>Opus 5 seems to have made it materially worse (or some harness change around Opus 5, I haven&#x27;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.","title":null,"type":"comment","url":null}],"created_at":"2026-08-13T13:57:47.000Z","created_at_i":1786629467,"id":49286073,"options":[],"parent_id":null,"points":70,"story_id":49286073,"text":null,"title":"Show HN: MCP Memory \u2013 Fast Agent Memory Using Google's OKF and SQLite FTS5","type":"story","url":"https://github.com/fellowgeek/mcp-memory"}
