{"id":1403,"date":"2026-05-06T10:01:29","date_gmt":"2026-05-06T10:01:29","guid":{"rendered":"https:\/\/cms.research.wpp.com\/?p=1403"},"modified":"2026-05-06T14:28:22","modified_gmt":"2026-05-06T14:28:22","slug":"inside-the-mempalace-does-the-structure-earn-its-keep","status":"publish","type":"post","link":"https:\/\/cms.research.wpp.com\/?p=1403","title":{"rendered":"Inside the MemPalace: Does the structure earn its keep?"},"content":{"rendered":"\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<figure class=\"wp-block-post-featured-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1332\" height=\"620\" src=\"https:\/\/cms.research.wpp.com\/wp-content\/uploads\/2026\/05\/mempalace.png\" class=\"attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"\" style=\"object-fit:cover;\" \/><\/figure>\n\n\n<p><\/p>\n\n\n\n<p class=\"has-medium-font-size\"><a href=\"https:\/\/github.com\/mempalace\/mempalace\"><strong>MemPalace<\/strong><\/a> is an open-source, local-first AI memory system that went viral after actress Milla Jovovich released it on GitHub and shared it on her personal accounts (<a href=\"https:\/\/www.instagram.com\/reel\/DWzNnqwD2Lu\/\">Milla&#8217;s Insta reel<\/a>). We wanted to see what&#8217;s behind the hype.<\/p>\n\n\n\n<p class=\"has-medium-font-size\">In typical chats, an AI forgets anything that doesn&#8217;t fit in its context window. A common workaround is to summarize past conversations and index the summaries in a flat vector database (flat meaning there&#8217;s no hierarchy). The problem is that summarization results in loss of information. The specific names, numbers and offhand preferences might get eliminated, so when you later reference one of those details the system has nothing concrete to retrieve so you have to re-explain. To combat this <strong>MemPalace<\/strong> stores the exact conversation and every project file verbatim, so the original wording is always available to semantic search.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>MemPalace<\/strong> ships with a built-in MCP server exposing 29 tools. Perhaps the most important tools are <code>mempalace_search<\/code>, that performs a search across the palace or in specific wings\/rooms and <code>mempalace_status<\/code> that returns an overview of the entire palace.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>The Palace hierarchy<\/strong><\/h4>\n\n\n\n<p class=\"has-medium-font-size\">The framework uses the <strong>Palace hierarchy<\/strong>, a metaphor from the ancient Greek method of loci. As an example imagine a freelance designer with two clients, a bakery called &#8220;Sweet Rise&#8221; and a fitness app called &#8220;FitLoop&#8221;. The Palace is the entire file system (all your stored memories).<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Wings<\/strong> sit at the top level and represent major entities &#8211; a person, a project, or a domain:<\/p>\n\n\n\n<ul class=\"wp-block-list has-medium-font-size\">\n<li>Wing Sweet Rise &#8211; everything related to the bakery project<\/li>\n\n\n\n<li>Wing FitLoop &#8211; everything related to the fitness app<\/li>\n<\/ul>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Rooms<\/strong> live inside a wing and correspond to specific topics:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">Wing Sweet Rise &#8211; Rooms: brand identity, packaging, website<\/li>\n\n\n\n<li class=\"has-medium-font-size\">Wing Fitloop &#8211; Rooms: onboarding flow, brand-identity, push-notifications<\/li>\n<\/ul>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Halls<\/strong> are conceptual categories that describe <em>how<\/em> memories relate: facts, events, discoveries, preferences or advice:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"has-medium-font-size\">Facts hall &#8211; storing things like \u201cthe primary brand color is #F4A261\u201d<\/li>\n\n\n\n<li class=\"has-medium-font-size\">Preferences hall &#8211; \u201cThe client prefers Arial over Serif fonts\u201d.<\/li>\n\n\n\n<li class=\"has-medium-font-size\">Decisions hall &#8211; \u201cWe decided to go for a CAD drawn logo on March 19\u201d.<\/li>\n<\/ul>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Tunnels<\/strong> (cross-wing connections) &#8211; i.e. both Sweet Rise and FitLoop have a brand-identity Room, so MemPalace would create a tunnel connecting the two so you could answer questions like \u201cWhat are the major learnings regarding brand identity from all my projects\u201d.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Drawers<\/strong> hold the original verbatim text chunks and serve as the primary retrieval unit. For example a Drawer inside the \u201cPreferences\u201d Hall of the Sweet Rise Wing would contain \u201cClient said: \u2018We absolutely hate Serif as a font. Don\u2019t use it anywhere!\u2019.\u201d<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Closets<\/strong> sit above drawers as an optional summary layer that points back to the underlying verbatim content. A closet of the above Drawer in the Sweet Rise Wing would say \u201cSweet rise has clearly stated it prefers non-corporate fonts.\u201d.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>How we tested it<\/strong><\/h4>\n\n\n\n<p class=\"has-medium-font-size\">We tested MemPalace on a public benchmark called&nbsp;<a href=\"https:\/\/huggingface.co\/datasets\/rungalileo\/ragbench\">RAGBench<\/a>, specifically its HotPotQA test split. This benchmark contains a set of questions and the exact passages that contain the answer.<\/p>\n\n\n\n<p class=\"has-medium-font-size\">To make the dataset compatible with MemPalace, we saved it in the form of documents. Then we loaded the documents into MemPalace, asked every test question and checked how often the correct sentences showed up in MemPalace&#8217;s top 5 results.<\/p>\n\n\n\n<p class=\"has-medium-font-size\">To see whether MemPalace was actually doing something useful, we compared it against a simple vector-search baseline: a standard &#8220;find the most similar text by meaning&#8221; search (using a popular off the shelf embedding model called&nbsp;<code>all-MiniLM-L6-v2<\/code>) running over the exact same documents. Neither system used a language model at retrieval time, so the comparison is purely about how well each one finds the right information and how fast.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>The results<\/strong><\/h4>\n\n\n\n<p class=\"has-medium-font-size\">The results suggest that MemPalace&#8217;s retrieval accuracy is probably overstated and that its hierarchy doesn&#8217;t seem to help, at least with the default settings. The project claims 96.6% Recall@5, but on RAGBench we measured only 83.8%. The plain vector search baseline scored 84.8% on the same data, beating MemPalace by 1% without any hierarchical structure at all.<\/p>\n\n\n\n<p class=\"has-medium-font-size\">In other words, the simplest thing you could possibly build (take every document, embed it with a small open source model and look up the closest matches) outperformed a system whose entire pitch is that hierarchy and structure make retrieval better. If a flat baseline wins on a standard benchmark, then the structure is either not pulling its weight or only pulling it on the specific instances or types of data MemPalace was developed against.<\/p>\n\n\n\n<p class=\"has-medium-font-size\">One important caveat is that we used MemPalace out of the box, with default settings and no per-dataset tuning. It is plausible that with a different chunking strategy, a stronger embedding model or hand tuned mining and retrieval parameters, the numbers would improve, possibly substantially.<\/p>\n\n\n\n<p class=\"has-medium-font-size\">But that is also true of the baseline and the point of an out of the box test is to see what a user actually gets when they pick up the project and try it. On that test, MemPalace did not beat a few line vector search script and the published 96.6% number did not hold up.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>MemPalace is an open-source AI memory system that organizes past conversations into a hierarchy (wings, rooms, halls, tunnels) claiming better retrieval than flat vector search. We benchmarked it on RAGBench&#8217;s HotPotQA split and found its out-of-the-box Recall@5 (83.8%) fell below both its published claim (96.6%) and a bare-bones vector-search baseline (84.8%). The hierarchy adds complexity but, with default settings, a few-line embedding script matched or beat it.<\/p>\n","protected":false},"author":15,"featured_media":1444,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"tags":[],"ppma_author":[{"id":15,"display_name":"Nikos Gkikizas","first_name":"Nikos","last_name":"Gkikizas","nickname":"nikos.gkikizas","user_nicename":"nikos-gkikizas","user_email":"nikos.gkikizas@satalia.com","biographical_info":"Nikos is a Staff Data Scientist at Satalia. He started off as a mining engineer and later specialized in explosives and blasting engineering. Through signal processing he was introduced to data science, with which he gradually fell in love with. Over the last decade he's been working in Data Science, having developed various simulation, predictive and optimization solutions.","avatar_url":"https:\/\/cms.research.wpp.com\/wp-content\/uploads\/2026\/04\/signal-2026-04-01-111218.jpeg","job_title":"Staff Data Scientist","is_lead":false,"display_as_researcher":true,"order_priority":null}],"class_list":["post-1403","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry"],"acf":{"related_pods":[1362],"featured":false},"authors":[{"term_id":31,"user_id":15,"is_guest":0,"slug":"nikos-gkikizas","display_name":"Nikos Gkikizas","avatar_url":"https:\/\/cms.research.wpp.com\/wp-content\/uploads\/2026\/04\/signal-2026-04-01-111218.jpeg","0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":"","biographical_info":"Nikos is a Staff Data Scientist at Satalia. He started off as a mining engineer and later specialized in explosives and blasting engineering. Through signal processing he was introduced to data science, with which he gradually fell in love with. Over the last decade he's been working in Data Science, having developed various simulation, predictive and optimization solutions."}],"featured_image_url":"https:\/\/cms.research.wpp.com\/wp-content\/uploads\/2026\/05\/mempalace.png","featured_image_sizes":{"thumbnail":"https:\/\/cms.research.wpp.com\/wp-content\/uploads\/2026\/05\/mempalace.png","medium":"https:\/\/cms.research.wpp.com\/wp-content\/uploads\/2026\/05\/mempalace.png","large":"https:\/\/cms.research.wpp.com\/wp-content\/uploads\/2026\/05\/mempalace.png","full":"https:\/\/cms.research.wpp.com\/wp-content\/uploads\/2026\/05\/mempalace.png"},"_links":{"self":[{"href":"https:\/\/cms.research.wpp.com\/index.php?rest_route=\/wp\/v2\/posts\/1403","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cms.research.wpp.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cms.research.wpp.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cms.research.wpp.com\/index.php?rest_route=\/wp\/v2\/users\/15"}],"replies":[{"embeddable":true,"href":"https:\/\/cms.research.wpp.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1403"}],"version-history":[{"count":40,"href":"https:\/\/cms.research.wpp.com\/index.php?rest_route=\/wp\/v2\/posts\/1403\/revisions"}],"predecessor-version":[{"id":1451,"href":"https:\/\/cms.research.wpp.com\/index.php?rest_route=\/wp\/v2\/posts\/1403\/revisions\/1451"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cms.research.wpp.com\/index.php?rest_route=\/wp\/v2\/media\/1444"}],"wp:attachment":[{"href":"https:\/\/cms.research.wpp.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1403"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cms.research.wpp.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1403"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/cms.research.wpp.com\/index.php?rest_route=%2Fwp%2Fv2%2Fppma_author&post=1403"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}