A language model has weights (trained) and a window (this run). It does not have your company. When vendors say “memory,” they usually mean one of:
| Kind | What it actually is | Risk |
|---|---|---|
| Window | Tokens in this call | Truncation, lost constraints |
| Vendor memory | Notes stored in their product | Retention, cross-chat bleed, surprise recall |
| Your files | Git, docs, tickets, designs | You control it if you designed the pack |
| Tool output | Search, browser, DB, tests | Stale or wrong tools → confident lies |
Bye Prompt’s preference: files you own + tools you can audit. Vendor memory is a convenience, not an archive.
Files are the real memory
If it matters next week, it is a file:
- Specs and context packs
- Decisions (“we chose X because Y”)
- Eval checklists
- Examples of good output
Chat threads are not archives. Export anything you would miss if the product reset your history — which they do.
Name files so a model (and a human) can find them: GOAL.md, MUST-NOT.md, sources.txt beat asdf-final-FINAL2.docx.
Tools are how agents touch the world
Without tools, you have chat. With tools, you have side effects.
Minimum tool hygiene:
- Allowlist — browser, repo, calculator, none. Not “whatever the demo enabled.”
- Arguments in the trace — what URL, what path.
- No production credentials in consumer agents.
- Idempotency for anything that spends or creates tickets (see Pay By Prompt for the money version).
If you cannot see the tool call, you cannot evaluate.
Retrieval (RAG) without a religion
Pulling chunks from a large corpus is useful when:
- The corpus is yours and maintained
- Queries are specific
- You still cite what was retrieved
It is theater when the corpus is a junk drawer and you never check citations. A 12-file pack beats a 12-million-token mystery index for most small-team jobs.
What to keep out of memory
- Secrets and session cookies
- Customer PII unless the environment is actually approved for it
- Temporary insults you typed in a debugging rage (yes, that gets retrieved)
- Outdated policies
Garbage in, confident garbage out. Living packs need an owner who deletes.
Practical default for a small team
- One repo or Drive folder per job type, not per chat
- Spec + pack versioned
- Agent writes to
draft/ - CI or a human runs tests
- Merge is memory (the good kind)
That is enough to leave the prompt box without buying a “second brain” product.