Project vs RAG corpus
What you'll learn
A Claude.ai Project pastes every attached file into every chat — it doesn't search them. RAG searches first, then pastes only the relevant bit.
- Project = in-context file storage. Every file loads every chat.
- No embeddings index. No retriever. No vector store.
- Quality degrades with file count because attention competes against more text.
A Claude.ai *Project* gives one chat (or many) a persistent system prompt plus a small attached file corpus. Files attached to a Project are loaded into the model's context for every chat in that Project — every file, every time, as raw text.
Critically: there is no semantic search, no embeddings index, no retrieval step. The Project does not pick the most relevant file for your question. It puts them all in front of the model and lets attention sort it out.
A *RAG* system is the opposite: an embeddings index sits between the user question and the documents. Only the top-k most relevant chunks ride into context. The corpus can be vastly larger than the model's context window because retrieval filters before the model ever sees the data.
This single distinction explains why answer quality degrades as you add files to a Claude.ai Project. The model isn't confused — it's correctly attending to a noisier prompt. Adding more files makes the prompt noisier, not smarter.
Key points
- Project = in-context file storage. Every file loads every chat.
- No embeddings index. No retriever. No vector store.
- Quality degrades with file count because attention competes against more text.
- RAG = retrieval before context. Corpus can be unbounded; context cost is constant.
Examples
All 40 PDFs land in the system context for every chat. The model has to find the relevant one inside a wall of text — and worse, irrelevant content starts to compete for attention with the actual answer. The fix isn't 'better prompting'; it's switching to retrieval (RAG, MCP server, etc.).
Pitfalls
- Treating a Project like a corpus: 'I'll just upload all our docs and Claude can answer across them.' Works at 3 files. Breaks at 30.
- Assuming Claude.ai exposes an 'index' or 'vector store' you can query. It does not. There is nothing to re-index, no quota to hit.
Source notes: 00-academy-basics/notes/01-claude-101.md
Ask Claude
Build a prompt with this lesson + your question, copy it, and open the Claude Project in a new tab.