Stop Re-Explaining Everything to AI: Build Persistent Memory Systems

Angelina Yang demos a memory system for AI that learns from your feedback instead of forgetting each conversation. She shows how to repurpose a blog post into a LinkedIn post by storing your profile, past work, and current task in separate memory layers, then feeding edits back into the system so it improves over time.
Questions this video answers
October 16th (most recent synthesize prior to the demo's new feedback).
Keep total word count under 150 words maximum.
November 5th.
Chapters
Hello, I'm Angelina. I'm an AI builder. Today I'm here to show you how explicit memory management can transform one shot AI interactions into continuously improving systems through a very simple demo. Let's dive in. So here's a problem, the frustrating reality we all face. Every time when you start a new chat with AI, it's like meeting somebody new. You have to explain your context again, you have to describe your preferences again, and you have to correct the same old mistakes over and over again. We kept saying that we should treat AI as a collaborator and we should teach it your preferences and give guidance. But every time when you open a new thread, everything kind of restarts. So that's not really a human collaborator. It feels like a Dory collaborator. We all love Dory, but we probably don't want to work with Dory. So how do we fix this? I'm thinking in a similar way, how our memory works in three layers. You have the working memory, what you are actively thinking about right now, and you have the short term memory that's pertaining to the current task. So why you come to this conference, why you came to this event, and what do you want to learn today? And long term memory is the skills that you've built over the years that becomes part of your experience and your expertise. And AI needs something similar. Working memory handles the current context, whatever we're discussing now. Short term memory manages today's specific task and long term memory stores the expertise in the sync session. Persistent evolve. So each layer serves a purpose and together they create a system that actually remembers and improves. So in this demo, I'm making the memory system explicit. There are some main reasons for it. First, it's editable, so it's not a black box. You can literally open the memory document and you can see exactly what the AI has learned. If something goes wrong, you can fix it by editing it. It's also predictable and optimized because I want to put the user feedback in the loop. User feedback could be very messy and AI will put on an editor's hat and decide what's worth remembering. And for any specific tasks, we can use these bounded but also evolving memories. So to improve the results, it's definitely cumulative. When new feedback comes in, we can synthesize it with existing memory. So we compress the knowledge, not just store it. That's how we build our expertise as well. Let me show you this in action. So LinkedIn content generation. This is a highly frequent use case for myself and my end goal is I wanted to be able to generate post 80% good enough to my standard without me having to explain it every time. So my requirements are very clear. So I have a very specific writing style I would like to emulate and I have some success patterns I want to follow. How do we generate hooks or engagement drivers are important in the process. So I want these patterns to be factored in and the most important I want it to continuously refine itself. So yeah, let's get into the demo. So this is the workflow in Nan. You can think of it as an abstracted version of your thought process. You can see that at the beginning of the workflow. Here I am passing four pieces of context into the workflow for demo purpose. I'm using Google to make them explicit. If you're using Claude, they already have project level memory. So Claude will regenerate project memory every evening from your past chats in a specific project and only you can see this memory and you can actually edit it. If you combine it with skill md, it can be quite powerful. The difference here is that I want a memory to be at task level without having to engage in a lot of back and forth conversations for very well defined tasks. Here are my memory files. First of all this is context about me, who I am, who Angelina is. And then the second piece of memory file is my LinkedIn memory bank. This is where I save best practices, successful posts and writing styles that I want to emulate. So this is a long term memory. I want it to be continuously refined and then last piece of context I'm passing in is part of the short term memory for one time use. This is a source content based of which I want to write this post about. So this is from one of my earlier blog posts about search visibility between AI versus Google and I want to repurpose it into a LinkedIn post. Let's now try it out. So we will type in the slash command. So this will be a create a LinkedIn post for Angelina. I only attach one piece of context here because I already have the memories and the context about me baked in. The only thing I need to include here is the source content I want to write a post about and the source content is in this Google Doc. So it's asking me what is your goal with this post? Please reply with your intent. So I added a step to make it more dynamic. Okay, so now let's set up the objective of the post. The goal of my post is to share academic research insights and position me as an AI builder with deep expertise in AI search visibility. And that's the goal. Okay, so submit instruction. So the instruction is passed in. Sometimes I may have the course thesis or the directions of the post ready. So I'll just copy paste here as you can see. So actually here this is where I accept another piece of context which is the user instructions. The way it works now is that it will factor in all the context and give me some options of hooks to choose from. Since the start of the post often dictates the direction of the post, let's take a look at the hooks generated. Okay. Shocking discovery. So, okay, there are different type of hooks. I'm masking it to generate into the style of J alic. So start with a hook and a rehook if you like. Top LinkedIn voice J Alic. This is the style that I'm trying to emulate. Okay, let's just go with choice number one. Okay, so now it's accepted. Then the next step is it will now generate a post with all of our short term and long term memory in mind. Let's see if it's ready. Okay, our post is ready. So here's the January LinkedIn post and okay, now we have the post ready, then we can give some feedback. Let's provide a feedback. I think I like the post, but I think the post is just way too long. So how about let's keep total word count under 150 words maximum and then I'll submit the feedback. Before we go check which part in the memory has been changed, I want to mention that the latest synthesize of the memory updates was October 16th. That's when the last feedback was considered. Okay, the pipeline will now learn from the feedback and then synthesize the feedback into the memory bank. The whole idea here is that I want the context to be able to edit itself from this feedback loop. When we are compressing the feedback here, the intelligence we're building into the process. So first classification, do we understand what this feedback is about? Is it for style, is it for content, or is it for structure? Can we identify patterns and decide what should persist and what goes obsolete? We also want to have temporal weighting so that the recent feedback matters more than older feedback. And lastly, we need a mechanism to handle conflicts as well. As the user preferences evolve, there may be some new feedback conflicting with older patterns. And then we need to synthesize rather than just override the old ones. Okay, now that our memories are updated, you can see that in our LinkedIn memory bank we have everything in updates. Here you can see that new learning starts here, which is today November 5th. Now that we have new learnings in the memory bank and it's self edited, you can see that one of the things that's get edited is every post must be under 150 words. This may be a little bit extreme in this specific case, but just an example to illustrate how it works so more things we can improve for me the most important thing is the quality of the post. Potentially one of the things we can try to improve it is adding multi stage generation instead of one shot generation towards different post styles. Maybe we can have a slightly different set of steps to generate a better quality post. Recently I also got inspired by one of my friends who's doing predictive memory. As the styles and the learnings and feedback inside of memory grew over time, I might have to work with a 500 page writing guide and that may not be something that works very well with every post. I think a wonderful improvement can be trying to extract relevant information from the writing guide towards different styles of the post. So for that we can potentially put in a machine learning model or maybe add a small rag pipeline to handle large amounts of data from the memory bank or from the source content. Lastly, I want to mention about demo versus production. So this is the structure, the architecture. This is my current implementation to make everything explicit and I can go in and edit. I'm using Google Doc and I'm using NAN and Slack trigger to realize this workflow. There's definitely more to consider when you're trying to put into production for scalability, token cost, performance and security. You could use a different set of tech stack to build this out such as some of the things I mentioned here including temporal or mem0 to build memories. That's it for now. And I want to mention this demonstration is inspired by a recent blog post from Claude on effective context engineering for AI agents in their GitHub. Check it out. I also run a YouTube channel called Two side AI where I interview and chat with AI builders to learn new things and how they designed architecture of their AI applications or products. So do reach out. Thank you very much.
More from Angelina

The MrBeast Rule That Quietly Decides Who Wins on YouTube | Rox Codes, CEO @ Flightcast

Ask Any C-Suite This One Question About Their AI Agents | Hector Hernandez, COO @ Speakeasy








