Product1 publisherNot yet confirmed elsewhere3 min readPublished
The personal agent is a folder, not a model: four files and less memory than you thought
Ben's Bites rebuilt its author's personal agent from scratch. The lesson from version one was that automatic memory made the agent steer him instead of helping him.
The Product Desk

What happened
- The author of Ben's Bites rebuilt his personal agent from scratch because the old one was messy and kept raising irrelevant things.
- The agent challenged two of those five files, proposing a merge and a deletion; he accepted the deletion and rejected the merge.
- In the earlier setup, memory the agent had written for itself pulled brainstorming sessions back toward preferences it had recorded.
- He dropped the idea of automatic memory in favour of the smallest possible files, updated by hand when something changes.
Compiled by The Product DeskSomething wrong?How this is made
Why it matters
- constraint Memory sized for recall becomes a ceiling on divergence: the more an agent has stored about your stated preferences, the less use it is for work where you want it to push against them.
- decision The configuration choice that actually bites is which text gets re-read at the start of every session, and that decision sits in your folder rather than in a vendor comparison.
- exposure Ask a coding-tuned agent to design your workspace and its own system prompt leaks into the advice, so defaults arrive with a bias you have to price in.
- cost Hand-curated memory shifts the upkeep onto the operator: someone has to notice the agent going wrong and edit the file that caused it.
Retained memory failed here in a specific way, and it is worth being precise about it. The previous folder told the agent to write down anything that looked like important context about him or his work [13]. What came back, when he wanted to explore a new direction, was steering: the agent kept citing what the file said he liked and staying in that lane [14]. The instruction worked exactly as written. Written was the problem.
The same mechanism shows up inside a single session, at a shorter timescale. He floated auto-saving early on, then later asked the agent to review recent chats and describe what he actually uses it for. It came back still holding the auto-save idea and proposing another, more complicated auto-commit instruction [17]. Text in the context window outweighs the thing you asked for two messages ago, whether that text arrived from a memory file or from your own discarded suggestion.
The file layout is where the argument gets settled. Five files went into the sketch [5]. The agent contested two of them: merge the building preferences into the main instructions, and drop the session log because git history already records the work [9][11]. He took the second and refused the first, which leaves four [20][21]. His reason for refusing is the useful part. He is working in Codex, whose system instructions say it is a coding agent, so its advice about how to organise a workspace came out shaped like a coding workspace [10]. About half the readers who answered his poll wanted to know how this works in Claude specifically [2]; his answer is that the vendors work much the same way, being files, folders, tools and instructions [22]. On that reading, one line in AGENTS.md saying questions get answers, not changes [6] is doing more work than the choice of model behind it.
One loose end is left open, and it is the one an operator will hit first. The log file was dropped because git already stores versions of files, diffs and commits [12], and a duplicate is not worth the space [11]. But the request he says he makes most often is "what did we talk about last week re: [thing]" [18], and a commit history of file changes is not a record of conversation. He notes that agents save all chat sessions to files, and the published text breaks off mid-sentence there [3], with a dedicated memory post promised later [19].
What survives is a rule rather than a stack: pick the smallest files with the least context, know what is in them, and edit when something changes or when the agent starts saying things you do not like [16]. Memory, on this evidence, is not storage. It is a standing instruction about what gets re-read, and the first version of his agent read too much [4].
What to watch
- The promised follow-up post on memory, and whether it resolves where cross-session recall actually comes from once log.md is gone.
- Whether the four-file layout survives use, or whether todos.md and memory.md grow back into the context bloat he just deleted.
- Whether git commit history can serve the "what did we talk about last week" query, given it records file versions rather than conversations.