Agent Memory Overview
A lightweight, open format for portable agent memory.
Problem
Most agent harnesses implement some form of memory, but there is little standardization beyond “memory as Markdown.” Some use AGENTS.md, some use MEMORY.md, and others use files such as USER.md or HUMAN.md.
This makes memory difficult to move between harnesses. A user should be able to move a stateful agent by moving its memory directory. Developers also need a standard target for designing memory systems, models, and algorithms.
Existing standards cover related forms of context:
AGENTS.mdprovides project-specific context and instructions to coding agents.- Agent Skills package procedural knowledge and capabilities that an agent can load when relevant.
They do not specify core memory that must remain in context, or non-procedural external memory such as episodic history, semantic knowledge, and other context owned by the agent.
Progressive memory disclosure
Agent Memory assumes memory is stored as Markdown files in a directory and may grow quickly over time. Its main job is to define what enters the context window and what stays outside it.
A persona must be in context to condition the model’s output. A long archive of daily activity usually should not be. Agent Memory separates these by directory level:
- Markdown at the memory root is core memory and is always in context.
- Markdown in subdirectories is external memory and is loaded only when relevant.
- Every memory directory contains
MEMORY.md, which provides context for that directory, indexes it, or does both.
memory/
├── MEMORY.md # Required; always in context
├── persona.md # Core memory; always in context
├── human.md # Core memory; always in context
├── projects/
│ ├── MEMORY.md # Context and index for projects
│ └── project.md
└── notes/
├── MEMORY.md # Context and index for notes
└── 2026-08-12.md
Placing memory in a deeper directory places it lower in the context hierarchy. The agent discovers it progressively through MEMORY.md files and reads only the files needed for the current task.
What the format defines
The format defines a memory directory, required MEMORY.md files, and a small harness contract for loading and discovering memory. It does not define git history, storage, synchronization, ownership, or how memory is learned and edited.
Open development
The Agent Memory format was originally developed by Letta and is open to contributions from the broader agent ecosystem. Join the discussion on GitHub.