BM25 + Vector Search with RRF: how I stopped guessing at retrieval quality
Why hybrid retrieval beats either retriever alone, how Reciprocal Rank Fusion quietly does the hard part, and why I now refuse to tune RAG without an evaluation harness.
I buildagent systems
Computer Systems Engineering undergraduate at the University of York, specialising in Artificial Intelligence. I've produced SFT/RLHF training data for GLM-series models at Zhipu, and I enjoy the unglamorous engineering that makes AI systems reliable — retrieval, evaluation, data quality and orchestration.
Selected work
Retrieval engines, agent platforms and AI applications — each with a case study covering the engineering decisions behind it.
A hybrid retrieval engine for RAG that fuses BM25 and vector search with Reciprocal Rank Fusion — and measures itself with Recall@K and Precision@K in CI.
A research assistant that plans its own investigation: decompose a question, search and read across sources, then synthesise a cited answer you can verify.
A low-code studio for composing AI workflows: drag nodes onto a canvas, wire them into an agent pipeline, and run it with streaming output and inspectable state.
Focus
Three threads run through everything I build: making model data trustworthy, making retrieval measurable and making agents actually finish the job.
Produced and QA'd SFT/RLHF training data for GLM-series models — exact-match dedup pipelines, error taxonomies and annotation guidance that turned raw batches into training-ready datasets.
Hybrid retrieval that fuses BM25 with vector search via Reciprocal Rank Fusion, plus evaluation harnesses (Recall@K, Precision@K) so quality is measurable instead of vibes.
Tool-calling LLM agents with multi-step decomposition, result aggregation and offline fallbacks — from a low-code workflow platform to an Android task manager with GLM.
Research
W. Wang, Y. Lin, Q. Zhang, X. Shao, & Z. Cai · 2026
Co-authored research on edge-computing resource orchestration for smart parking, focusing on feedback-driven, relay-assisted task-offloading strategies that adapt to dynamic demand.
Submitted to Elsevier's Computer Networks journal
Writing
Short, practical write-ups on retrieval, LLM data and the engineering behind my projects.
Why hybrid retrieval beats either retriever alone, how Reciprocal Rank Fusion quietly does the hard part, and why I now refuse to tune RAG without an evaluation harness.
Notes from my SFT/RLHF data internship at Zhipu: how training data is really made, the error taxonomy that saved my sanity, and why data quality is an engineering discipline.
How a hash grid rescued Endless Onslaught from its own particle system, why profiling beats intuition, and what game-loop optimisation taught me about retrieval indexes.
I'm always happy to talk about AI engineering, retrieval systems, agents — or an interesting problem you're stuck on.