I’m not sure if this is best place to ask about “User Memory” best practices, but couldn’t find another tag or category.
How are folks structuring your User Memory in PickAxe?
For context, my users are Indie Authors who have multiple book series and I want to associate each book series with a set of “rules” about them (since each could be different):
themes / genre
tone, style and vibes
characters
books
competitors
influencers
awards, etc
An Example of How Memories Will Be Use
When authors ask PickAxe to “create marketing plan” for "book XYZ in “book series XYZ” the ai knows from memory all of the additional context listed above.
Guidelines
My criteria for success are:
Pickaxes don’t confuse or mixup information between book series
There are ~3 memory slots open for future use - may use it for short term memory purposes like saving a “marketing plan” that can by multiple pickaxes to create content and replacing that “marketing plan” monthly
Pickaxes can successfully accomplish their purpose customized to the author based on memory
Approaches I’m considering
By series - 1 memory for each series (but that would only allow for ~7 slots
Task-Oriented - align each field with a main use case, so the AI is ready for instant action—each field is “pre-primed” for the job at hand. i.e. fields needed to create email marketing campaign and emails.
Themed by content type - Identity, Catalog, Audience, Platform, Market/Competition, Preferences, Collaborators/Notes.
I’m leaning towards the Themed “buckets” because…
Universal: Handles single-book as well as multi-pen-name/multi-series complexity.
Efficient: Keeps memory fields to 5–7, totals under 800 words.
Expandable: Use inline tags (e.g., pen name, series) to distinguish multiple identities or large catalogs within one field.
Searchable & Editable: Fast for AI to parse, for authors to review/edit.
My only concern is that some of the fields (e.g. audience and competition) will be different depending on the series. So different memory buckets would have the series information repeated but tied to specific information for that bucket.
Here’s the Field Overview (5–7 Buckets) for reference:
@spaceduck2001, it seems to me a reasonable approach and the one I would also follow. You might also want to consider the following:
A memory is a piece of information about the user recorded during the conversation with the pickaxe. You will need to use prompting to ensure users discuss the themes you want to have in memory.
There is a maximum amount of tokens retrieved from memory (1000). So if you have long memories about a user and the pickaxe is instructed to create a marketing plan, only the most useful pieces of information will be retrieved (up to 1000 tokens) and not every single detail.
I was hoping there’d be a way to save / store the user creation data (like marketing plans) in google sheets via MCP but I haven’t gotten the sheets MCP to work smoothly for me yet - it gets caught in a loop and times out after a few requests.
Hey @spaceduck2001, figuring out user memories can be frustrating. I’ve been there. Here’s a thread by a Pickaxe user whom I just answered:
It’s a good example for when, why, and how to use User memories.
Basically, you can use UMs to store specific user data that your chatbot can recall when needed across ALL Pickaxes within the studio. Even if embedded on an external website!
UMs come in handy when you want to personalize your users’ sessions by having the AI address them by name, for example, or remember an email address before it pushes a copy of the chat summary to make.com for processing (e.g., sending an email to the user after the chat session ends)…
The basic memory setup and use makes sense. I was hoping to get a better understanding of the best data structure for PickAxe ( PA ) performance.
If I understood on today’s office hours, Nathaniel shared that it’s ideal to setup the memory in a way that minimizes the number of memory buckets a PA needs to access to get the data.
So, when designing memory buckets we should consider how the PAs will use them.
This results in your PAs needing to access fewer memory buckets: say 3 vs 10.
Sounds like this efficiency can lead to better results.
Of course some PAs may need to access all memory buckets regardless of design.
And there’s the consideration of memory limitations to 800 words (~1k tokens).
But it’s a place to start.
Now I just have to map out all of my PickAxes and the information they need and then solve for the fewest retrieves across the lot - luckily I’ll have AI to help with that
Hey @spaceduck2001, yes, I believe your approach will yield good results. Minimizing memory buckets as per Nathaniel’s advice,e is a good long-term strategy when it comes to architecting your data-flow within your PA studio. Just remember the 1000-token limitation per UM to ensure data is not missing when it needs to be recalled.
Sounds like you’re on the right track. Let us know if you need any more help!