Playing AI Dungeon
Getting StartedAI Dungeon 101Adventure AwaitsCommon Questions
About the AIAccount QuestionsMemberships & BenefitsPrivacy & SecurityTerms of ServiceOther QuestionsCommunity Feedback & BugsProduct UpdatesTable of ContentsAll About the Memory System
Memory System
is a new feature that automatically stores and retrieves key information from your Adventure, helping keep the AI on track.
Auto Summarization
and the Memory Bank
make up the Memory System. Press here to jump ahead and learn about how you can enable these features in your Adventure →Memory is such an important part of AI Adventures. The core promise of AI Dungeon is that you can have ultimate freedom to be who you want to be and that the choices you make truly matter. But if the AI forgets those choices after a few thousand tokens, then those choices actually become meaningless, breaking the power of that promise.
With the new Memory System, we’re taking an important step toward providing an experience in which the AI can more reliably recall important details of your plot and story, letting you create deeper, richer, and more meaningful Adventures in AI Dungeon.
How the Memory System Works: Overview
The Memory System has been adapted from Heroes and utilizes various AI technologies, such as summarization models, embeddings, vectors, and embedding models. It’s made up of two major features: Auto Summarization and the Memory Bank.
Major Technical Constraint: AI Context Length
One of the biggest limitations of using AI large language models is limited context length, which is the amount of information the AI can process when generating its next output. Each model has its own max context length limit, and we also have tier limits in AI Dungeon since the longer your context length is, the higher the cost for the AI to generate a response. Context length is a real, unavoidable constraint that we have to work within.
In AI Dungeon, we construct the context we send to the AI by combining text from your story with AI Instructions, Plot Essentials (formerly called “Memory”), Author’s Note, and relevant Story Cards. The AI processes this information and generates the next action in your adventure.
Eventually, the amount of content in your story exceeds the amount of text we can send to the AI. We have to cut portions of text, usually by removing the oldest parts of your story text. Since text is cut, it can feel like the AI is “forgetting” important details of your story since those details were unable to be sent to the AI.
The Memory System is meant to combat these context length technical constraints and provide you with a better AI experience during your Adventures.
Inspired By the Human Brain
As we considered what information should be part of the Memory System, we found ourselves seeking inspiration from how the human brain works. When our brains store and recall information, we use two strategies. The first is by compressing memories, where we take a large chunk of information and distill it to remember the most important parts. The second is memory retrieval, where some memories stored in our brain only come to mind when they are relevant to our current context.
For instance, once you finish reading this blog post, it’s unlikely that you’ll be able to recall it word for word in its entirety, but you’ll probably be able to recall the high-level concepts, big changes, and parts that matter to you. This is compressed memory.
You also have a retrieval system that will bring important memories to your mind when they’re relevant. If you hear the word “fire hydrant,” your brain retrieves memories about what a fire hydrant is. You might think of its color and shape, its function and purpose, or any specific memories you have involving one.
Both memory compression and memory retrieval are important parts of enabling your brain to remember what’s important and have the right context when it needs it.
These two features of our Memory System are extremely useful in AI Dungeon, too. The story equivalent to a compressed memory is summarization, which will compress a section of the story to just the high-level information about the setting, characters, and events. Being able to retrieve more detailed memories is important, too, since that lets the AI remember important details when they’re relevant in the current context.
What are AI Dungeon Memories?
For AI Dungeon, a Memory is an AI-generated summary of a small set of your previous story actions. The summarized Memory retains key plot details but without the illustrative prose that is common in AI Dungeon adventures, making it more information-dense than the text of your adventure.
A new Memory is created by taking four of your previous actions (and the AI’s responses) and sending them to an AI model trained to summarize stories. This summary output from the AI is a Memory.
When starting a new adventure, we’ll wait until you are 8 actions deep into your adventure, and then we’ll summarize the oldest four actions (actions 1-4 of your adventure) into your first Memory. This means your first four actions will be summarized and stored as a Memory, but your most recent four actions are not. Then, after you take four more actions (now you’re up to 12 actions), we’ll summarize the previous 4 as a new memory (actions 5-8). This means your first 8 actions have been converted into two separate memories and your 4 most recent actions have not been. You are free to make edits or undo your last four actions without it impacting memories.
This cycle repeats indefinitely, and a new memory is created every four actions.
Two Complimentary Features: Auto Summarization and Memory Bank
Memories are used by the two major features that make up the new Memory System: Auto Summarization
and the Memory Bank
. These two features work together to recall important information, giving the AI the ability to remember the high-level overview and to remember specific relevant details, just like our brains do.
Auto Summarization
keeps a running overview of your story’s plot to help the AI track the overall direction of your story. We do this by appending new memories to your Story Summary, a new Plot Component we’re adding to support this feature. After several memories are added to the Story Summary, we’ll re-summarize it by sending it to our summarization AI model. Because the summary will have the overall context of your story, it will help keep the AI on track and make sure it doesn’t lose the plot.
The Memory Bank
stores and intelligently retrieves relevant memories and includes them in the context. In practice, it acts like an automatic Story Card system since it saves important details from the story and then dynamically inserts them into the context when they are relevant to your current action. Whereas the Auto Summarization feature is meant to keep track of the overall plot and story direction, the Memory Bank might recall important details like your dog’s name, where you found the Sword of Demons, or that Rangers are allergic to horses and only ride cows.
How Auto Summarization Works
New Plot Component: Story Summary
As mentioned, there is a new Plot Component called Story Summary
where the Auto Summarization feature will store the summary it maintains for your Adventure.
+ Add Plot Component
button.Like other Plot Components, the Story Summary can be used by our content creators for Scenarios. It could be used to include backstory information for yourself or other players to use (if you publish content), and it will be utilized by the Auto Summarization feature, if enabled in the Adventure.
Story Summary
as a Plot Component during Scenario creation.We’ve also added Story Summary to the Context Viewer so you can track how many tokens of context it’s using for each generation.
Auto-Updating the Story Summary with Memories
With Auto Summarization enabled, each time a new Memory has been created, it will be appended to the Story Summary Plot Component. Once the Story Summary gets long enough, we’ll pass it to our summarization model and compress the summary. This will ensure that the Story Summary continues to be an information-dense overview of the entire story plot.
This process will continue throughout your adventure, with new memories appended and then re-summarized automatically.
Auto Summarization for Existing Adventures
For existing stories, we’ll summarize the last 8000 tokens of your Adventure when you take your first action with Auto Summarization enabled. Or, if you prefer, you could manually summarize the story, and the AI will take that into account for all future summarizations.
Summaries and Editing
You may want to edit the automatically created summary to correct any errors or add additional clarifying details. Although the Auto Summarization overwrites your existing summary, your edits ARE sent to the summarization AI, so they should be incorporated in the new summary.
Only edits to your most recent four actions, including changes, undos, redos, and erases, will be considered by the AI for the Auto Summarization. Any changes to previous actions, including the use of Erase to Here, will not update the summary. We will, however, update any corresponding memories stored in the Memory Bank by summarizing the action set that creates that memory. If you make changes earlier in your adventure, and those changes would have an impact on the summary, you’ll need to update the Story Summary manually.
This is due to the limitations and costs of the summarization AI model. Like all models, we are constrained by context size for the summarization. Many adventures would extend far beyond the available context limit, so regenerating a summary based on edits wouldn't be possible in many cases. Making new summarization calls for every historical change could also become very expensive.
How the Memory Bank Works
Embeddings and Vectors
The Memory Bank uses AI technologies that will be new to many of you. To explain how the Memory Bank stores and retrieves relevant memories, you’ll need a basic understanding of embeddings, vectors, and embedding models.
Embeddings represent how similar words and phrases are by mapping them in a multidimensional space. They are created by passing text into specialized embedding language models, which return a vector of numbers as a result.
You can then do simple math to compare how similar different vectors are to each other. For example “water” would be more similar to “liquid” than it would be to “solid”. You can also compare phrases and questions. For example, “Who is Sir Theo?” might match closest with the phrase, “Sir Theo introduces himself to you as the knight who slew the evil dragon of Larion”. These two phrases might also match closely to other passages about Sir Theo or the dragon of Larion. But none of those phrases would likely match very closely to the phrase “Sarah was a forest ranger.”
This lets us build a memory retrieval system. First, we store a bunch of memories in the Memory Bank with both their text and the embedding vector of that text. Then, when we want to find relevant memories, we decide what text we want to use to look up memories (for our system, we use the most recent action). We get the embedding vector for that lookup query, and we compare it against all the vectors in our memory bank and get a relevance score.
A higher score means it’s more similar to the query, and a lower score means it’s less similar. This lets us decide which memories are relevant to the current events in your story and should be included in the context sent to the AI when generating the story.
Now, we’re ready to talk about AI Dungeon’s new Memory Bank Feature.
Embedding Models: Storing and Retrieving Memories
With the Memory Bank, each Memory (an AI-generated summary of your four past actions) is embedded and stored. As you continue to take more actions, your Memory Bank starts to fill with more memories.
When you start a new story, your Memory Bank will be empty. As you take actions, and memories are created, they will begin to fill your available memory slots. Initially, no memories will be used since your entire adventure history will fit in the context. Once your story has reached the point where it can no longer fit your whole adventure into the context window, we start to retrieve memories from the Memory Bank. We do this by using an embedding model to rank all of your memories by relevance to your current story.
Then, we take the most relevant memories and include them in the context being sent to the AI for the next action of the story. For example, if you are just returning to the town of Castlebrook, the AI will find all the memories related to Castlebrook, remember what happened the last time you were here, and include the most relevant in the context. These are called “Used Memories.”
Explore Memories
button in the Context Viewer to see your memories. Then use the Timeline
or Relevance
tabs for different views of your Used and Stored Memories.Before including a Memory in the context, we also check to see whether the Memory is included in its full text within the Story Summary. This check prevents the text of a Memory from appearing twice in the context.
The Memory Bank will be allocated a portion of the context window, similar to how we allocate space to Plot Essentials (formerly called Memory), Author’s Note, and Story Cards. Based on the context space available, we’ll include as many of the top memories as will fit from your Memory Bank.
Once your Memory Bank has been filled and a new memory has been created, we remove the least used memories to make room for the new addition. These removed memories are called “Forgotten Memories”. Just like with human memory, very old memories might stay in the Memory Bank forever if they have been used frequently.
The larger your Memory Bank, the more room you have to store memories that could be used in your story, increasing the accuracy of the AI storyteller.
As you play, the AI will continually curate the most important and relevant memories from your story and intelligently include them in the context being sent to the AI when they are relevant, improving the overall experience.
How to Enable the Memory System
Gameplay
→ AI Models
→ Memory System
.Once these features have been enabled in one Adventure, they’ll be enabled for every Adventure until you toggle them off again.
How Your Membership Tier Affects the Memory System
All players have access to the Auto Summarization feature. For the Memory Bank, each tier has a set number of memories that can be stored:
Membership Tier | Memory Bank |
Free | 25 |
Adventurer | 50 |
Champion | 100 |
Legend | 200 |
Mythic | 400 |
Key Differences from the Heroes Memory System
Those familiar with the Heroes memory system will see similarities with this new Memory System for AI Dungeon. The work done on Heroes directly inspired and informed the new Memory System. There are some important differences and adaptations we made to implement it for AI Dungeon.
The Heroes experience is a much more traditional RPG experience. We track important stats like health, quests, inventory, levels, and player characteristics, which are stored in a “game state.” We didn't bring this part over since AI Dungeon is a collaborative storytelling experience.
We also made some adjustments to account for the different gameplay in AI Dungeon. We know you all value editing, a concept that isn’t as prevalent in Heroes, and supporting editing with the AI Dungeon Memory System required some adaptations.
Memory System versus Plot Components
If you’re one of our more experienced players, you know that through careful, manual editing of Story Cards and Plot Components (like Plot Essentials or Author’s Note), you can make sure important story details are still being included in the context.
This is still important, but not as crucial as it has been in the past. Now, these components can contribute to making the Memory System even better at its job by providing it with enough relevant information to accurately create summaries and store memories.
As we mentioned above, the Auto Summarization feature of the Memory System is supported by the new Story Summary Plot Component, which can be added and edited just like other elements in this category.
Comparison Chart
Plot Component/Feature | How to Use It |
AI Instructions | Give the AI a set of instructions about how to generate responses. |
Story Summary | Give the AI a summary of your story to help it remember broader plot details. Works with the new Memory System. |
Plot Essentials | Give the AI some key details about your story that it should always remember. |
Author’s Note | Give the AI short guidance about your story’s theme and setting. |
Third Person | Change “You” in Do and Say actions to your character’s name. Mostly recommended for Multiplayer games. |
Story Cards | Give the AI some broader world-building details that are only included when keywords are used. |
Read even more about the Memory System in AI Dungeon →
On this page
- All About the Memory System
- How the Memory System Works: Overview
- Major Technical Constraint: AI Context Length
- Inspired By the Human Brain
- What are AI Dungeon Memories?
- Two Complimentary Features: Auto Summarization and Memory Bank
- How Auto Summarization Works
- New Plot Component: Story Summary
- Auto-Updating the Story Summary with Memories
- Auto Summarization for Existing Adventures
- Summaries and Editing
- How the Memory Bank Works
- Embeddings and Vectors
- Embedding Models: Storing and Retrieving Memories
- How to Enable the Memory System
- How Your Membership Tier Affects the Memory System
- Key Differences from the Heroes Memory System
- Memory System versus Plot Components
- Comparison Chart
© Latitude 2024