Logbook

Memory


Memory

I want Woodhouse to get to know me, like a real butler would, and to use that knowledge to serve me in a better and more personalised way.

Woodhouse has a memory. He is capable of picking up on things and bringing them forward in our relationship.

But not everything is worth remembering. If he simply records everything we ever talk about, he will get very heavy — and expensive in tokens. So how do we configure that?

I want to try to configure Woodhouse to evaluate whether something matters, or whether it is personal information about me and my life, and if it is, to save it to memory.

I am excited to see whether I can get this to work, and whether Woodhouse will actually use the memory in conversations we have in the future.

Where this stands

Woodhouse has a memory file, and reading it was instructive — mostly for what is not in it.

Almost all of it is a technical note about my home automation API, followed by three entries about football fixtures being added to a calendar. Useful to him as working notes. But there is essentially nothing in there about me. Four months of conversation and the long-term memory has recorded an API endpoint and some match dates.

So the mechanism works and the judgement is missing. Nothing tells him what is worth keeping, and left to itself the answer has been “whatever I was doing at the time”.

It also holds my Atrium API key in plaintext, which is a separate problem with the same root: no rule about what belongs in that file. That one is on the list to fix properly, including rotating the key.

One thing is already in place. The instruction files now say the memory is his and the configuration is not:

Your memory files are yours. Your instructions are not.

He can write freely to memory. He cannot quietly edit the rules he operates under.

What goes in

The test I want is not “is this interesting” but something closer to would a butler who had worked here for years know this. Preferences, how I like things done, the people and projects that keep coming up, decisions and why they were made. Not the contents of every conversation.

There is a cost argument pulling the same way. MEMORY.md is read at the start of every main session, so every line in it is paid for again on every wake. A memory that records everything is not just cluttered, it is a standing charge. Selectivity is the feature.

What I genuinely do not know yet is whether he will use it — whether something saved in March surfaces unprompted in September, at the moment it is relevant. That is the part I am curious about, and it is not something a configuration file can promise.

← Back to the Logbook