Overview
Located atsrc/athena/tools/agentic_search.py, this module implements a 4-phase agentic RAG pipeline:
- Planner - Decompose query into 2-4 sub-queries (rule-based NLP)
- Retriever - Execute sub-queries in parallel via
run_search() - Validator - Deduplicate and validate with cosine similarity
- Synthesizer - Merge ranked results with provenance tracking
Function Signature
Parameters
query- Complex search query to decomposelimit- Maximum results to return (default: 10)validate- Enable cosine similarity validation (default: True)debug- Show decomposition and provenance details
Returns
Phase 1: Query Decomposition
Strategy 1: Multi-Question Detection
Detects compound questions:Strategy 2: Conjunction Splitting
Splits on conjunctions and commas:Strategy 3: Keyword Clustering
Fallback for dense single queries:Constraints
Phase 2: Parallel Retrieval
Each sub-query executes the full hybrid search pipeline:Orchestration
Phase 3: Validation
Validates each result against the original query using cosine similarity:Cosine Similarity
Phase 4: Synthesis
Deduplication
Results are deduplicated bydoc.id across all sub-queries:
Provenance Tracking
Each result tracks which sub-queries found it:CLI Usage
Basic Agentic Search
With Debug
JSON Output
Performance
Latency Breakdown
Comparison
| Approach | Latency | Recall | Precision |
|---|---|---|---|
| Simple Search | 800ms | 0.72 | 0.81 |
| Agentic Search | 1.1s | 0.89 | 0.85 |
Use Cases
Multi-Concept Queries
Comparison Queries
Sequential Queries
Integration Example
Related
Hybrid Search
Single-query RRF search
Search Models
SearchResult data structure