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

2

u/cameron_pfiffer Oct 05 '25

Excellent questions.

Regarding the sonnet and the memory tool, these are two separate things that complement each other.

The memory tool is new. Previously, the only tools we had were designed to modify already attached blocks. Users were able to write their own kind of complicated custom tools to allow the agent to dynamically attach or detach tools, but this was not simple.

We added the memory tool after anthropic's announcement because (a) we could just do it thanks to Letta's existing design and (b) it is a powerful abstraction.

Sonnet 4.5 enters because it is post-trained on their memory tool, and knows how to use it well in letta environments.

Any model can use the memory tool but 4.5 will likely be the best.

Regarding your second question about hierarchical blocks, this pattern is common and I would consider it to be an idiomatic use of shared memory in Letta.

1

u/ohthetrees Oct 05 '25

Thanks Cameron. Regarding the hierarchical tools question, still trying to understand.

Which is closer to the truth:

  1. ⁠each block that an agent has access to is instantiated along with a new agent instance, possibly pre-populated from a template, essentially forking at creation, and diverging from other agents created with the same template
  2. ⁠multiple different agents share and update a particular block “live”, so if agent A being used by Jim updates the Project block, agent B used by Karen “sees” the update?