Markdown memory files: the operator-friendly way to give agents context

Vector databases are great infrastructure and a bad UX. Here is why we attach plain markdown knowledge files to every agent, and how to write them.

2026-05-28 · 6 min read · GO Pilot GO Team

Every agent on GO Pilot GO has a memory file. It is plain markdown. You can open it, read it, edit it, version-control it, and email it to your cofounder. There is nothing special about it.

This is a deliberate choice. Most agent platforms hide context behind a vector database. The operator can't see what the agent "knows," can't fix a mistake without re-embedding, and can't reuse the knowledge anywhere else. That is bad UX dressed up as infrastructure.

A markdown memory file solves four problems at once. Operators can read what the agent thinks is true. Operators can edit the file directly when the agent gets something wrong. Files travel: a brand-voice file written for one agent can power three more. And files version: git-style diffs make memory drift visible.

How to write a good agent memory file. Use headings, not paragraphs. The agent skims like you do. Put facts the agent must never get wrong at the top (legal entity name, founder name, brand tagline). Put preferences and tone in the middle. Put reference data (price lists, ICP definitions, common objections) at the bottom. Keep it under ~2,000 words; longer files cost more tokens per run and rarely improve output.

We also support attached docs, vector recall, and a per-run scratchpad. But the file is the spine. Every agent we have ever shipped has had a memory file before it had anything else.

The lesson from a year of building agent platforms: the unit of agent context that operators actually maintain is a markdown file. Build for that.