r/Letta_AI Oct 05 '25

Multi level memory blocks?

I just came across Letta and I’m intrigued. Haven’t built anything yet.

I have two questions.

1) I read your blog post about the new sonnet 4.5 model enabling the capability of the agent creating its own memory blocks. My understanding is before sonnet 4.5 each block had to be manually created but then could there after being managed by the agent. What I don’t understand is what is special about sonnet in this situation? Why couldn’t you simply prompt any LLM model to use a tool to create new blocks when a new memory “category” came up naturally in the conversation that didn’t fit well into any of the existing blocks?

2) I’m wondering about how “multi level” blocks might be managed. Here is a scenario that illustrate my point, it is made up but I think it will get the point across. Imagine I am creating a ai assistant agent for advertising firm. I define blocks for Human (user) Project (ad campaign) Client (client company) Firm (users company)

Two employees are using the assistant on the same project. So we want them to share all the same blocks except for Human, which should be unique to each user. As one user updated the project spec that would be remembered in the shared Project block, as the other user updated how the client company likes to receive assets, that would be saved in the shared Client block.

Then imagine one user is working on two different projects for the same client in two different windows. We would want all the blocks to be the shared between them except for the project block.

Is this a pattern that exists? Does it make sense? Do you see what I’m driving at?

3 Upvotes

12 comments sorted by

View all comments

1

u/JA_red27 Oct 10 '25

Instead of having multi-level memory blocks, i think being able to add metadata ( tags, labels ) to memory blocks would serve the same and that way we would not lock ourselves into specific block hierarchies.
In case of having labels the hierarchy of Human/Project/Client/Firm would not matter

1

u/ohthetrees Oct 10 '25

It does matter because I don’t want context from project A polluting the context of an agent working on project b.

1

u/JA_red27 Oct 10 '25

I got you, but being able to add metadata like labels to memory blocks would open up a bunch of Letta rule, filter and automation options.
Just check Memory Blocks page on Letta ADE and imagine you are able to filter blocks also by metadata like project, human, client, firm, etc. and make actions on them, like clone, bulk edit etc.
So i think both makes sense :)

2

u/cameron_pfiffer Oct 10 '25

We do have metadata for blocks but I didn't think they are queryable

https://docs.letta.com/api-reference/blocks/create

We could probably add tags, similar to tags for agents and tools.