I'm starting to think this is the wrong abstraction entirely.
The universal interface every agent already supports is reading files. So I've been designing around that instead:
Mount a drive at /drive/ with two directories:
- /drive/files/ — actual documents (PDF, code, markdown, etc.)
- /drive/search/ — virtual directory where the filename IS the query
Agent wants context on "refund policy for enterprise customers"?
cat "/drive/search/refund policy for enterprise customers"
Returns the most relevant chunk. No custom tool. No vector store API. No pipeline to maintain. Any runtime that reads files works immediately.
Under the hood: markitdown for parsing, sqlite-vss for search, virtual filesystem layer for the interface.
Is this a solved problem I'm not aware of? Or is the "each agent builds its own RAG" approach as wasteful as it feels?
Building in public if there's interest — @r_klosowski on X.