Full Transcript

·YouTLDR

Anthropic Research: Scalable Memory Systems and Dreaming Architecture for Multi-Agent Systems

31:29EnglishTranscribed Jul 27, 2026
0:00

[applause]

0:02

Hey everyone. Um, great to see you all

0:04

today and hope you're all having a

0:06

wonderful day so far here at AI Devcon.

0:09

I certainly am. Um, I hope that your

0:12

context windows are not too full and you

0:14

have a bit of space for a little bit

0:15

more information about context. Um, by

0:18

way of introduction, my name is Lamis.

0:20

I'm a member of technical staff at

0:22

Anthropic. I work on our applied AI team

0:25

and this is a team which sits between

0:27

research product and go to market. So we

0:30

do a mixture of working on internal

0:32

projects as well as directly with

0:34

customers who are building agents at the

0:36

frontier.

0:38

Me specifically I work with startups and

0:40

founders many of whom I'm sure are in

0:42

this room today. And I think I have the

0:45

best seat in the house because these are

0:47

the users that are constantly pushing us

0:49

right up against the boundary of what is

0:51

possible with models and products today.

0:54

And as such uh we just get to like ride

0:57

the exponential together.

1:00

One thing that constantly comes up uh as

1:02

I'm sure you're all aware is what it

1:04

really takes to take the raw model

1:07

intelligence that we have today and

1:09

translate that into durable, scalable,

1:12

useful products. And one of the main

1:14

levers that we have in order to do this

1:17

is context engineering which will be the

1:19

focus of my talk today.

1:23

So on this journey, I want to quickly do

1:27

a recap of where context engineering has

1:29

gone in the past year. It's a space

1:31

that's completely blown up. And through

1:34

that, we'll kind of distill the

1:35

primitives that have proven to be really

1:37

useful, some stuff that has been a

1:38

little bit less useful.

1:40

Secondly, we'll talk about what the

1:42

state-of-the-art is for memory

1:44

management today.

1:46

And thirdly, and and in particular with

1:48

that, we'll talk about not just what

1:50

nice theoretical principles are, but

1:52

what it takes to actually build these

1:53

systems in production. And then finally,

1:56

we'll talk about where this will go on

1:58

the path to continual learning and in

2:00

particular touching on a paradigm called

2:02

dreaming.

2:06

So, we've said this before and

2:10

models, we release new models all the

2:12

time. They are more and more

2:13

intelligent. But when it comes to

2:15

actually deploying these models in your

2:17

agents, in your environments, in your

2:19

organization,

2:20

the intelligence alone is not going to

2:22

compound because they need this context

2:24

that helps them perform the specific

2:26

tasks that you need them to. In

2:28

particular, a lot of this context is

2:30

often kind of orthogonal to the model

2:32

intelligence, right? like the newest

2:35

model, we've just released one, um isn't

2:37

going to necess isn't going to out of

2:38

the box know exactly what it takes to

2:40

succeed in your organization and with

2:42

the tasks that you want them to. And so

2:45

it's a really great investment to work

2:47

on the context engineering part because

2:49

this uh over time has the effect of

2:52

multiplying the intelligence even as

2:54

models get smarter. So I'm sure you'll

2:56

all be familiar with these problems.

2:57

It's like agents not knowing their way

2:59

around a codebase or knowing enough

3:01

about your own user preferences. Um, and

3:05

then additionally like you don't have

3:07

the effect where agents [snorts] are

3:09

better at the task the next time they

3:10

perform it. So they they might not learn

3:12

from their mistakes. Um, and as such you

3:15

[snorts] don't have this uh continual

3:16

learning effect. So just to recap

3:22

uh where we've got so far on this

3:25

journey of context engineering

3:27

at Anthropic, we like to say do the

3:30

simple thing that works. And this is a

3:32

timeline that's only really spanned the

3:34

past year. And where we started was with

3:37

these Claude MD files that we launched

3:39

with Claude Code. And what we learned

3:41

from this was that it was kind of

3:42

unreasonably effective. like this

3:44

markdown file that just gives the agent

3:46

a couple of instructions about maybe

3:48

your way around the codebase, the

3:49

organization, um your own user

3:51

preferences

3:53

that injected into the beginning of the

3:55

model's context at the beginning of a

3:56

session was so good at steering it

3:58

towards the things that mattered and

4:00

helping it navigate and align its

4:02

actions towards your preferences.

4:05

However, we also learned a couple of

4:06

things about what doesn't work here. So

4:08

when we're injecting this at the

4:10

beginning at the beginning of the

4:12

session into context, we obviously start

4:14

to run into problems where you get

4:17

problems with context bloat. Like what

4:18

happens when this file with very

4:20

important preferences gets very very

4:22

long? Um how do I manage that over time?

4:26

And so we went back to the drawing board

4:27

and thought about like ways that we

4:28

could improve this. Separately though,

4:31

what was true was that having just a

4:33

very simple markdown file which is human

4:35

readable which your agent can write to

4:37

which you can write to is really really

4:39

effective.

4:41

So a second avenue that we investigated

4:43

was these memory tools

4:46

and this is interesting because it leans

4:49

into this idea of okay what happens if

4:52

we let agents autonomously manage their

4:55

own memory systems. So we let them

4:57

decide when they read, when they write,

4:59

um, and when they update memories. And

5:02

this is all happening in band, which

5:04

means that it's within the context of a

5:06

session. So during a session, a agent is

5:09

thinking about like what might be

5:11

interesting to pull from memory, what

5:12

might be interesting to write to memory.

5:15

So autonomy proved to work really well

5:18

in this case. Um, and over time we've

5:22

kind of developed that into systems

5:23

where we're even less opinionated about

5:25

what these tools need to look like. And

5:26

I'll touch on that in a second.

5:30

So the next uh the next stop on this

5:32

journey was skills, which I'm sure

5:34

you've heard a bunch about today. And

5:36

what this solves is this problem of the

5:39

like ever growing context. So we have

5:41

this really clever idea of um

5:43

progressive disclosure.

5:46

The way I like to think about it is um

5:49

actually first on skill what skills are

5:50

good at. It's processes where you have

5:53

like a procedural workflow. So something

5:55

where you have an opinion about how the

5:58

process works end to end that you want

5:59

the agent to follow. Um and what's very

6:01

clever is that the agent only looks at

6:03

this front matter a couple of sentences

6:06

at the top of the file before loading

6:07

the skill. But you can still load as

6:10

much detail as you want into the main

6:11

body of the file. So you're able to at

6:14

the same time have very deep levels of

6:16

detail whilst not overloading the

6:18

model's context. And the way I like to

6:21

think about it is as if I'd had a

6:23

bookshelf in my room and every time

6:25

someone talks to me um I can kind of

6:28

scan and look at my list of books and

6:30

see if any of the titles might be

6:31

relevant to the conversation and kind of

6:33

pick that off the shelf and read it when

6:34

I need to. So, for example, if someone

6:37

walked up to me and started speaking to

6:38

me in French and I noticed that I have a

6:40

French dictionary, I could pull that out

6:42

and it would give me context kind of

6:43

loaded during the conversation that

6:45

would help me um without me having paid

6:48

attention in like seven years of French

6:50

classes at school and having that all

6:51

loaded into my context already. So, this

6:54

was a really really great innovation,

6:57

but one bottleneck potentially with it

6:59

is that it's still kind of driven by

7:02

humans and agents together. So you're

7:04

still even if you're using your agents

7:05

to write the skills with you, you're

7:07

still being quite opinionated about like

7:09

what things need skills.

7:12

So that takes me to the final step on

7:14

this path which is what we perceive to

7:16

be state-of-art for memory systems

7:17

today. And what we have done and yeah

7:22

what we think is best practice is

7:24

modeling these memory systems just as

7:26

file systems. So this kind of aggregates

7:29

a couple of the learnings from this

7:30

path. So file systems are great. you can

7:32

just fill them up with markdown. Um,

7:35

agents are actually just very good at

7:37

using normal file system tools like bash

7:39

and gp. So just let them search over the

7:41

file system rather than being

7:43

opinionated about these specific tools

7:45

that they should use to read and write

7:46

to memory. Um, and then yeah that that

7:49

search kind of mirrors this idea of

7:51

progressive disclosure. You can index

7:53

these memory systems really well so that

7:55

agents can intelligently search over

7:57

them. And that's where we have kind of

7:59

got to so far.

8:01

So just to recap the key learnings from

8:04

that format markdown is great um for

8:07

reading memories you know allow the

8:09

memories to grow large but give agents

8:12

tools to quickly index and search for

8:15

what's relevant. And finally like give

8:17

agents autonomy when they're writing to

8:19

memories. [snorts]

8:21

And if you were to go out and build this

8:23

system it would work really well. you

8:24

would have the feeling of continual

8:27

learning because your agents would get

8:28

better at the individual um whatever

8:30

individual tasks you're doing.

8:34

However, as with everything, this very

8:37

neat idea runs into some problems when

8:40

you try and scale it to production. So,

8:43

we have an we have a concept for

8:45

theoretically what works. And when we

8:48

then think about scaling these to

8:50

production in environments where we have

8:53

many agents collaborating at the same

8:54

time where they run over very long

8:57

periods of time um and where potentially

9:01

these like code bases get really

9:02

complicated all manner of problems start

9:04

to arise and we've seen these in

9:06

production time and time again. So one a

9:09

couple things just to like yeah spark

9:11

your imagination. Think about multiple

9:13

agents trying to write to a memory file

9:15

at the same time. How do you manage

9:17

that? Think [snorts] about one agent

9:19

running into a problem and deciding to

9:21

like write to the organizational

9:23

wildwide context which every other agent

9:25

is currently reading from. Like if

9:27

something was incorrect there, that

9:29

would scale to all of your agents and be

9:31

pretty disastrous. Um, and think about

9:35

when you have humans and agents

9:36

collaborating on on memory context

9:38

together, like how do you keep track of

9:40

what's going on?

9:42

The final problem is that memories can

9:43

go stale. Of course, something that was

9:45

relevant in the past uh might not be

9:48

relevant today or maybe it was written

9:49

incorrectly or even maliciously injected

9:53

by someone trying to uh prompt inject

9:55

your agents to write bad things to

9:57

memory. So, you have to have a lot of

9:59

guardrails in place to make sure that

10:01

these nice autonomous memory systems

10:04

actually work in production.

10:08

And so I'm going to talk through a

10:10

couple of key principles that we use

10:13

when designing memory systems in

10:15

production to make sure that we do get

10:17

to use all of those nice effects that

10:18

we've talked that we've spoken about.

10:22

So the very first thing is versioning.

10:24

So when you're designing any kind of

10:26

memory system, you need to be able to

10:28

store versions to keep track of what's

10:30

going on to allow you to roll back

10:33

should you need to if a new update isn't

10:35

particularly good. Um, additionally, you

10:38

probably want to think about like what

10:39

context was this update based on. So,

10:42

which agent session, which transcript

10:45

resulted in me wanting to make this

10:46

update.

10:48

Um, and additionally, like you might

10:51

want to track like who did it, which

10:52

agent, which human, etc., etc. So, this

10:55

is really important. The second thing is

10:57

concurrency. So, we've talked about,

10:59

okay, what happens when I deploy

11:00

thousands of agents all working off the

11:03

same memory system?

11:05

And the solution that we've adopted here

11:08

is to have this hashing system. So when

11:11

an agent decides that it wants to write

11:13

an update to a memory, it takes a hash.

11:17

It then drafts its edit and then before

11:19

it writes the update, it takes another

11:22

hash. If those two things do not match,

11:24

then the agent cannot write it because

11:26

it means that some update was made in

11:28

the meantime. And in order to handle

11:30

that, the agent reples the memory,

11:33

drafts its new update, and then tries to

11:35

commit this again. So these are the

11:37

kinds of just engineering practices that

11:39

allow you to scale multiple agent

11:41

architectures um scale memory to these

11:43

kinds of architectures.

11:48

Another couple key principles. So

11:50

permissioning is really important.

11:54

When you have large memory bases, you

11:57

probably have a mixture of top level

11:59

organizationalwide knowledge. It might

12:01

be like your key uh like what your

12:03

organization is trying to achieve or key

12:05

principles about the codebase which

12:07

you've really carefully cured

12:10

all the way down to the level of like a

12:12

scratch pad for an agent where it writes

12:14

down its working memory and it's very

12:17

like individualized. And all the way in

12:19

between you could have things for

12:20

specific organizations or

12:21

cross-sections.

12:23

And so it's really important that you

12:25

have guardrails when it comes to

12:26

permissioning uh these memories. So like

12:29

I said, you wouldn't want one agent to

12:31

just decide that it should update the

12:33

organizationwide context. Probably you

12:35

might want that as read only. However,

12:37

for its own scratch pad, you would want

12:39

it to have right access. Um and yeah.

12:43

Yeah, that's that's permissioning. Um

12:47

a final thing which is kind of

12:49

peripheral but still really important

12:51

when you design memory systems is

12:53

portability.

12:56

So like I mentioned before your curation

13:00

of your memory systems is going to be so

13:03

important like throughout the future.

13:05

This is really really important

13:06

organization user or like work task

13:10

specific context. And so it's likely

13:13

that if you're putting a lot of effort

13:14

into curating this, you want it to be

13:16

accessible across potentially multiple

13:18

product surfaces um [snorts] and

13:22

access accessible by multiple systems.

13:24

So designing it in a way with a clean

13:26

API in which it's portable and you can

13:28

access it is really important.

13:31

And so when you put all these things

13:33

together, we have the kind of learnings

13:36

we have from allowing agents to

13:38

creatively manage their memory and then

13:40

these production level guard rails that

13:42

allow them to like reasonably use all of

13:45

those principles in practice.

13:47

And when you do this, you get very

13:49

effective results. So just sharing here

13:52

a couple of learnings from what we've

13:53

seen deploying these large scale memory

13:56

systems in production. And for example,

14:00

we see you get better accuracy. So you

14:03

have this effect where the second time

14:04

the agent does the task, it actually

14:06

does it better with higher results

14:10

because it's noted all of those memories

14:12

about what went wrong. Secondly, that

14:15

then has second order effects on the

14:16

speed and latency, sorry, speed and cost

14:19

of your agents running because they're

14:22

then spending fewer tokens. they can

14:24

more easily oneshot these tasks because

14:26

they actually know what they're doing.

14:28

And you'll see that across all sorts of

14:30

different processes, um, agents are just

14:32

able to do the task better and faster.

14:34

Finally, having this process where your

14:38

agents are starting to autonomously

14:40

write their own memories frees up

14:43

capacity and context for you as product

14:45

developers potentially to focus on

14:47

product wins while you know that the

14:48

agents are doing this kind of

14:50

self-arning continual learning loop in

14:52

the background. And yeah, once that

14:54

infrastructure is set up really well,

14:56

this this works very symbiotically.

15:00

Um,

15:02

as ever we do then reach a new

15:04

bottleneck

15:06

and this specifically is about inband

15:09

memory. So inband memory as I mentioned

15:12

before is when agents are writing to and

15:15

reading from memory within a specific

15:18

session. So if you think about clawed

15:20

code for example um when [snorts] you

15:22

like spin up a new session it's it's

15:24

largely like focusing on that specific

15:26

context when it's reading to reading and

15:29

writing from memory. Um and this just

15:31

architecturally or philosophically has

15:34

limitations in the general like agent

15:36

fleet continual learning objectives.

15:39

There's two two main reasons why. First

15:42

of all is that you have this inherent

15:44

split of focus and resources. So you're

15:46

asking an agent to complete a task, but

15:49

at the same time, you're also asking it

15:51

to invest in memory curation, which

15:53

would help it perform better in a future

15:55

run. So when you put these things

15:58

together, it's just a very difficult

15:59

optimization problem because how much

16:01

capacity should an agent put into like

16:03

helping future versions of itself versus

16:05

doing the task that you actually asked

16:06

it to do?

16:08

And also there's like other effects like

16:10

latency, for example.

16:12

The second thing is that the agents just

16:15

have an inherent visibility limitation.

16:18

So they only have the context of what's

16:21

going on in their session. As such, they

16:23

just won't see patterns that happen

16:25

across sessions. So when you get

16:26

frustrated that your agent keeps making

16:28

the same mistake over sessions, it just

16:30

doesn't understand how frustrating that

16:31

is because it has a new context window

16:34

in each of those. Secondly, when you're

16:36

running multiple fleets of agents in

16:37

different environments,

16:39

you these single agents just don't have

16:41

the context of what other failures other

16:43

agents are running into. So for these

16:46

two reasons, we introduce this concept

16:47

of some outofband memory curation. And

16:51

this helps to make these problems go

16:53

away. And just to introduce an analogy

16:56

for why this in theory should work, I'd

16:59

like you to think about a school for

17:01

example where you have lots of students

17:03

that submit a lot of work and you also

17:06

have uh teachers that market and a

17:08

headteer that reviews everything.

17:11

This is a system that we have in the

17:12

real world for good reason and it's

17:14

because when you have certain

17:16

individuals that have dedicated capacity

17:18

for helping people learn, that's really

17:20

effective. And when [snorts] you also

17:21

have people that have visibility over

17:23

the whole fleet of agents or learners

17:25

and they're able to spot patterns and

17:27

then kind of steer context or let's say

17:29

in this case the curriculum uh that's

17:31

also really effective. So as always we

17:34

kind of look to the real world world to

17:36

think about how to build these systems.

17:39

Uh sorry I also didn't touch on a final

17:41

limitation which is that memories go

17:43

stale. So you need something some pass

17:45

that checks that everything that's

17:47

written there is still correct.

17:51

And so we introduced this concept of

17:54

dreaming which is like a second o second

17:56

second order process over memory. So if

17:59

we think about how that's been

18:00

constructed, we have the like actual

18:02

context which agents reference and is

18:05

has useful information. The memory

18:07

processes which allow agents to kind of

18:10

autonomously manage that context

18:11

themselves. And then dreaming which is a

18:14

process that runs in batch and

18:17

asynchronously

18:18

with its own allocated resources to

18:20

ensure that those memories themselves

18:23

are effective up to date um and helping

18:25

the agents learn over time.

18:31

So what does dreaming look like?

18:35

Essentially what we do is we take an

18:38

existing memory store. So this is a

18:41

collection of memories.

18:43

We then take a bunch of sessions or

18:46

transcripts from agent interactions over

18:48

a period of time

18:50

and we give these together to an agent

18:53

which reviews all of the transcripts,

18:56

looks at the memory store and starts to

18:58

identify patterns for where there could

19:00

be uplift in the memories.

19:05

It then outputs a new memory store where

19:08

there are proposed changes to the

19:10

existing memory store. And what the

19:12

agent is able to do, as I mentioned, is

19:15

spend tokens on solving this problem of

19:17

making agents learn better. Identify

19:20

patterns for where agents are

19:22

consistently failing and then propose

19:25

changes for what m might make a more

19:26

effective memory store such that next

19:29

day when you run these agents again

19:31

they're actually feel smarter and

19:32

they're running better. [snorts] To go

19:35

back to my analogy just to paint some

19:37

pictures of like what this could look

19:38

like in practice. Let's imagine that the

19:42

headteer reviewing all these transcripts

19:44

notices that every geography student has

19:47

incorrectly answered a question. They're

19:49

just [snorts] all writing like complete

19:50

garbage to this question.

19:53

The teacher notices that actually by

19:55

kind of in this case analyzing the

19:57

memory store that entire topic is

19:59

missing from the curriculum. So what the

20:01

teacher was able to do is notice that

20:03

pattern, look at the memory store and

20:05

suggest a new change to that curriculum

20:07

such that the next day when these agents

20:09

run, they now have that information that

20:11

they needed.

20:12

To give another example, the teacher

20:15

might notice that um in a certain maths

20:17

exam, all of the answers are wrong in

20:19

the same way. Uh all of the students are

20:21

outputting radians when it's meant to be

20:23

degrees. I don't know if anyone else in

20:25

like GCSE maths had that problem, too.

20:27

Uh but what they're able to do is give

20:30

an instruction saying like this is how

20:31

you should configure your calculators.

20:33

And in the case of agents that's like

20:37

noticing in the transcripts that there's

20:38

something wrong with a tool

20:39

configuration. So you might notice that

20:42

something in the tool calls keeps

20:43

failing. And what's important here is

20:46

that when we look at those transcripts,

20:48

we're not just looking at kind of the

20:50

passes of like uh responses between

20:52

agent and the system or the user. We're

20:55

also really scrutinizing like those tool

20:57

calls and all of the other metadata that

21:00

is really central to the agents

21:01

performance.

21:03

Finally, you could also notice something

21:05

that's like fleetwide or

21:07

organizationwide. So, for example, like

21:09

everybody's using too many m dashes and

21:10

you don't like that. So, you want to add

21:13

some organizationalwide organ um

21:16

announcement or context change that says

21:18

not to do that. And so, I hope that

21:21

paints the picture of like why this

21:22

could be really really effective.

21:24

And now I'll just talk about how you

21:29

would go about designing such a system

21:31

in production.

21:33

So you have some concept of your memory

21:36

store which is a concept which is a

21:37

collection of memories. Memories

21:39

themselves might just be markdown files

21:42

organized in this directory.

21:44

You then take a number of the

21:46

transcripts and like I mentioned that is

21:49

a mixture of like the back and forth

21:52

passes between the agents as well as

21:53

metadata on tools uh other skills they

21:56

used etc. And the way that we've

21:59

designed it we have the orchestrator

22:01

deploy a fleet of sub aents that

22:03

[snorts] go and analyze all those

22:04

transcripts.

22:07

And one point worth making here is that

22:09

when you design these systems,

22:11

you have the ability to steer how these

22:14

agents which both write memories and

22:16

coordinate dreaming go about the

22:18

problem. And by steering, I mean that

22:20

you're able to tell them like in your

22:22

specific case, these are the kinds of

22:24

things I think are important and

22:25

relevant. These are the kinds of things

22:26

that are not important and relevant. So

22:28

you do have the ability there to start

22:30

to curate that memory and dreaming

22:32

process to your organization

22:35

specifically.

22:37

And the orchestrator then reviews all of

22:40

the responses from the sub agents and it

22:44

then decides like where there are

22:46

prevalent enough patterns that it thinks

22:48

this warrants a change in the memories.

22:51

From there it proposes individual

22:54

changes to the memory store. And in our

22:56

case, the way that we've designed this

22:58

in production is the agent will

23:01

additionally give you examples of

23:03

transcripts where it's noticed this

23:04

pattern has happened and also some stats

23:06

on like how prevalent this issue is and

23:08

why this warrants actually updating uh

23:10

the memory store.

23:14

And so all of this works really neatly.

23:16

you get this output and you as the

23:18

individual

23:19

can decide where you want to accept

23:22

changes to the memory um where you want

23:24

to reject them etc. And this works

23:27

really effectively.

23:31

So together

23:33

we have these two processes that run in

23:35

parallel.

23:37

The first is memory and these agents are

23:42

using some of their uh like inbound

23:46

context and inbound resources to write

23:48

to memory where they think it's

23:49

important. And this is neat because it

23:51

means that in the actual next run, the

23:54

next session that agent will be better.

23:56

So there's a shorter time to kind of

23:58

seeing that change. But inherently these

24:01

agents have competing resources when

24:03

they think about what to dedicate to

24:04

memory, what to dedicate to um

24:07

completing the task and additionally a

24:09

lack of visibility. So on the other side

24:11

we have dreaming which is this outofband

24:14

process and this allows again broader

24:18

visibility and dedicated capacity i.e.

24:22

token spend which is specifically

24:23

directed towards helping agents learn

24:25

better.

24:27

And you might think, okay, that sounds

24:29

really expensive. Why would I want to

24:31

chuck extra resources at this? But if we

24:34

kind of go back to the improvements we

24:36

saw when you build effective memory

24:38

stores, actually you can see a bunch of

24:40

costs go down because um agents are able

24:43

to oneshot things more effectively. Uh

24:45

they have more information that they

24:47

need in order to uh perform a task well.

24:53

So to summarize,

24:58

at the very least, do the simple thing

24:59

that works. Context management uh makes

25:02

such a huge difference to your agent

25:05

performance.

25:06

Implementing things like a Claude MD

25:08

file, like skills, which I'm sure you've

25:11

heard about a bunch, and allowing agents

25:13

to autonomously manage these systems

25:15

themselves goes a really long way. Once

25:17

you think about scaling those things

25:19

into architectures with many agents,

25:23

agents that run over a very long time,

25:27

situations where you will like continue

25:29

to work and develop on a workspace or a

25:31

codebase over a long period of time or

25:34

very complex domains, you should start

25:36

thinking about adding some features or

25:38

some guard rails that allow those agents

25:40

to manage their memory in a way that is

25:42

safe, verifiable, auditable.

25:47

I should also say here that whilst this

25:50

kind of these kinds of practices are

25:52

really effective when it comes to coding

25:54

tasks for example this by no means is

25:57

just specific to coding like I use

25:58

memory all the time when I'm producing

26:01

presentations that has context on like

26:02

how I like to write things how I like my

26:04

slides etc etc and that develops over

26:06

time so this is really not coding

26:08

specific

26:10

thing

26:12

if you really want to kind of like close

26:13

the loop here think about adding an

26:16

additional outofband process like

26:18

dreaming as we call it to consolidate

26:20

your memory and cut things that are no

26:24

longer relevant, add things that agents

26:26

are missing and clean up and organize

26:28

memory systems.

26:31

So to close, I want to say that this

26:35

journey that we've been on with context

26:37

engineering, a lot of this stuff has

26:38

only happened in this past year. This is

26:41

very much an open area of research and

26:43

development. and one which we see huge

26:46

value in the future. So, we're so

26:48

excited to see the kinds of things and

26:50

contributions that you'll all make to

26:51

this space. So, I encourage you to keep

26:53

thinking, keep learning, and keep

26:55

dreaming. Thank you. [applause]

27:03

Wonderful.

27:05

Thank you, Lamis. That was great. Uh do

27:08

we have any questions in the room? Oh,

27:10

golly gosh. Uh I'll dive straight here

27:12

first.

27:14

Thank you. Thank you for the

27:16

presentation. Um, do you have any memory

27:20

store implementation that you would like

27:22

to suggest?

27:24

>> Any memory storage implementation that

27:27

you would like us?

27:28

>> Sorry, did you say papers or memory

27:31

storage implementation?

27:32

>> Oh, okay. Okay. That we' like

27:33

>> you would like to suggest?

27:35

>> To solve what problem specifically?

27:37

>> The ones.

27:39

Well, one thing is put things in files

27:41

that I have on my laptop. Yeah. But I

27:43

think I'm looking into something more

27:46

enterprisey.

27:48

So, what kind of solution do you suggest

27:50

over there?

27:52

>> Okay. Yeah. So I mean maybe I was kind

27:54

of koi in the talk because we're not

27:55

allowed to make product call to actions

27:57

but given that you asked um [laughter]

28:02

we have uh a lot of this references the

28:05

architecture that we used in our memory

28:08

uh our memory infrastructure for our

28:11

managed agent solutions. And so when I

28:13

talk about these things about

28:14

productionizing um memory, so everything

28:17

like versioning uh hashing etc. that's

28:21

all available within our memory and

28:22

dreaming API through claude manage

28:24

agents. So if you did want an out-of-box

28:27

solution for this kind of thing, that is

28:28

where I would point you to.

28:31

[snorts]

28:32

>> Um hi. Uh the early on you talked about

28:36

guardrails and permissions. Um, and I

28:40

think I'm sure most of us have probably

28:41

read the Claude code leak and the memory

28:43

stuff. The dreaming stuff was definitely

28:45

some of the most interesting in it.

28:47

[gasps] But how do you scale that at

28:49

enterprise? If you've got hundreds of

28:51

users with different permission sets,

28:54

how do you make sure dreaming follows

28:55

those same guardrails? If it's happening

28:59

out of band and the context is different

29:02

compared to say the context the agent

29:04

might have when a user is using it.

29:08

So just to check that I understand um we

29:11

have like some permissioning about what

29:13

agents can access like in terms of

29:14

memory and then a separate like yeah so

29:17

I mean I think this these things compose

29:19

quite well um because when you set up a

29:22

dreaming procedure you decide exactly

29:25

which session transcripts to attach and

29:28

so you could build a process which

29:29

mirrors whatever permissioning you have

29:31

on the agents. Um, so yeah, I mean if

29:35

that's to say that it's not the case

29:37

that when you kind of trigger a dreaming

29:38

job, it just takes like everything in a

29:40

certain time period. You can configure

29:42

it that way. But you could also just

29:44

search over whichever transcripts have

29:46

the same permission set as like um

29:48

whatever your memory store is and then

29:50

make sure that that matches if that

29:51

makes sense.

29:55

>> Hi, thank you. This was really really

29:57

interesting. I I found it fascinating

29:59

earlier when you were mentioning about

30:00

like versioning, concurrency,

30:02

durability, all the all these things. At

30:04

what point are we like reinventing

30:06

databases from like first principles

30:08

again?

30:09

[snorts]

30:10

>> Um

30:12

yeah, this is this is an interesting

30:13

point. I still think

30:17

like one of the things that I suppose

30:21

for me that's something I didn't say. Um

30:24

what we're trying to do here is like

30:26

thread the needle like sorry find the

30:27

right boundary to draw between kind of

30:30

letting these agents autonomously act

30:32

and then also like which things should

30:34

just be kind of programmatic um things

30:37

that are baked into the harness. And so

30:39

I think what you allude to is like

30:42

first of all we were just kind of like

30:43

letting these agents write in markdown

30:44

files and just like commit whatever they

30:46

wanted. And now we're kind of seeing

30:48

having seen which primitives work really

30:49

well we're thinking about like kind of

30:50

codifying that in the harness. And so

30:52

when we think about like the hashing or

30:54

the versioning, yeah, we are kind of

30:55

going back to the software engineering

30:57

principles that we've seen work well in

30:58

the past, but in a way that kind of

31:00

autonomous agents can act and like uh

31:04

can in can interact with those really

31:05

effectively. So I think to to some

31:08

extent like we sort of are merging back

31:11

into those practices, but that's because

31:12

we have enough signal now to know that

31:14

those things should just be done in a

31:15

very deterministic way and there's no

31:17

need to reinvent the wheel. I hope that

31:18

answers your question.

31:21

Perfect.

31:21

>> We're absolutely out of time. Thank you

31:24

once again. Big round of applause for

31:25

Lam. Thank [applause] you.

More transcripts

Explore other videos transcribed with YouTLDR.

Get the TLDR of any YouTube video

Transcribe, summarize, and repurpose videos in 125+ languages — free, no signup required.

Try YouTLDR Free