I design and evaluate adaptive agent systems that decide when to retrieve evidence, what to retain in memory, how to update from feedback, and when to act or abstain.
My work sits at the intersection of information retrieval, agent memory, test-time learning, and search-guided reasoning. I focus on systems whose decisions remain grounded in evidence, resilient to stale or conflicting memory, and measurable through reproducible experiments.
| Area | Problems I care about |
|---|---|
| Adaptive evidence seeking | Query planning, source routing, hybrid retrieval, cross-encoder reranking, provenance, evidence sufficiency, and budget-aware stopping |
| Agent memory and test-time learning | Episodic, semantic, and procedural memory; consolidation; temporal validity; forgetting; experience replay; feedback; and online adaptation |
| Search-guided reasoning | Best-of-N, beam and tree search, verifier-guided trajectories, process feedback, uncertainty estimation, adaptive compute, and calibrated act or abstain decisions |
| Reliable agent execution | Structured tool schemas, durable checkpoints, idempotent actions, pre-action verification, sandboxing, prompt injection testing, and memory poisoning resistance |
I treat retrieval, memory, reasoning, and execution as one connected system. Each layer needs clear interfaces, traceable decisions, and evaluation that reflects real failure modes.
| Layer | Technologies and methods |
|---|---|
| Engineering and data contracts | Python, Git, Linux, PostgreSQL, uv, Ruff, mypy, Pydantic, FastAPI, pytest, Docker, and GitHub Actions |
| Models and adaptation | PyTorch, Hugging Face Transformers, Datasets, Accelerate, Sentence Transformers, PEFT and LoRA, TRL, vLLM, replay buffers, adapter versioning, and retention or forgetting evaluation |
| Retrieval and evidence routing | BM25 and Lucene, dense embeddings, reciprocal-rank fusion, cross-encoder reranking, FAISS, PostgreSQL and pgvector, OpenSearch, filtered ANN and HNSW, query decomposition, source routing, provenance, and evidence-sufficiency stopping |
| Agent memory and data plane | Episodic, semantic, and procedural memory; append-only and bi-temporal event stores; PostgreSQL for durable state; Redis for caching; DuckDB with Parquet and Arrow for trajectory data; graph storage when traversal is a core requirement |
| Agent runtime and reasoning search | LangGraph or explicit state machines, structured tool schemas, Model Context Protocol, durable checkpoints, timeouts, retries, idempotency, best-of-N, beam and tree search, MCTS, verifier models, uncertainty scoring, and adaptive compute allocation |
| Evaluation and observability | ir_datasets and BEIR-style corpora, ir_measures, pytrec_eval, ranx, Recall@k, MRR, nDCG, MLflow, OpenTelemetry traces, Brier and ECE calibration, risk-coverage curves, latency, and cost budgets |
| Security and reliable action | Sandboxed tools, least privilege, ACL-aware retrieval, secrets management, append-only provenance, policy gates, prompt injection tests, memory poisoning tests, and deterministic replay |
- Learning retrieval and memory policies instead of relying only on fixed RAG pipelines
- Routing information between working context, external memory, and model updates
- Adapting from interaction feedback and failed trajectories while measuring retention and forgetting
- Using retrieval-grounded verification for long-horizon reasoning
- Maintaining memory freshness, provenance, temporal validity, and contradiction handling
- Building poisoning-resistant memory and prompt-injection-aware retrieval
- Calibrating when an agent should search, continue reasoning, act, ask for help, or abstain
I am interested in collaborating on agent memory benchmarks, learned retrieval policies, test-time adaptation, search-guided reasoning, agent evaluation, and reliable tool-using systems.
I am especially interested in work that combines a clear research question with reproducible systems, measurable failure modes, and honest evaluation.