Inspiration
Online shopping conversations are rarely static. Users refine budgets, reject attributes, change categories, and sometimes reverse earlier preferences. A useful shopping agent must remember the right constraints, forget outdated ones, and surface the correct product early without relying on external APIs.
What it does
ER-UGAE is an offline, evidence-aware conversational shopping search agent built for TikTok TechJam 2026 Problem 4.
It:
- tracks evolving intent, budget, exclusions, and attribute preferences;
- retrieves relevant products from the local catalog;
- asks clarification questions only when needed;
- reranks candidates using structured evidence and purchase tendency;
- returns up to ten products while prioritizing the correct result near the top;
- handles late intent changes without carrying stale constraints into the new request.
How we built it
The system is implemented in Python and runs fully offline.
Its main components are:
- State-aware query understanding for extracting categories, budgets, exclusions, preferences, and intent changes.
- Hybrid candidate retrieval combining lexical relevance, taxonomy evidence, structured fields, and constraint coverage.
- Agreement Gate to prevent weak or conflicting candidates from being promoted.
- Purchase-Posterior Reranking that uses catalog popularity only among candidates with comparable relevance and constraint evidence.
- Late Escape to recover strong unseen candidates during longer conversations.
- Safety and fallback controls for sparse metadata, missing prices, and difficult candidate pools.
We used failure-driven iteration: each algorithm change was tested independently, compared with a frozen baseline, and retained only when it improved the official TechnicalScore or strengthened a necessary invariant.
Evaluation
On the organizer-provided Public 200 benchmark, the final agent achieved:
- TechnicalScore: 0.929264
- Hit@10: 0.995
This means the correct product appeared in the returned Top 10 for 199 of 200 public evaluation sessions. We also used isolated fixed, blind, and stress evaluations to test intent overrides, low-popularity targets, browsing scenarios, and long conversations.
Challenges we faced
The hardest trade-off was improving ranking quality without increasing the number of conversation turns. Showing more products can reduce time-to-correct, but may reduce reciprocal rank. Popularity can help identify likely purchases, but can also overwhelm true relevance.
We addressed this by allowing purchase tendency to act only inside evidence-compatible candidate groups, while preserving hard budget, exclusion, taxonomy, and structured-constraint checks.
Another challenge was state correctness. Expressions such as “actually,” “change that,” and “I do not care about color anymore” require selective state revision rather than a complete reset.
Accomplishments
- Built a complete offline conversational retrieval and reranking pipeline.
- Achieved 0.995 Hit@10 on the official Public 200 benchmark.
- Added evidence gates that stop popularity from overriding stronger product evidence.
- Added robust handling for exclusions, budgets, sparse metadata, and intent changes.
- Maintained reproducible packaging, manifest verification, regression tests, and smoke tests.
- Completed the project as a solo submission.
What we learned
Reliable conversational search depends on more than retrieval accuracy. State transitions, evidence provenance, uncertainty, and candidate exposure policy all affect whether the correct product appears early enough to help the user.
Small, independently tested safeguards were more reliable than repeatedly increasing model or shortlist complexity.
What's next
Future work would focus on broader paraphrase robustness, candidate-driven clarification questions, intent-epoch state isolation, and evaluation on larger independent holdouts.
Log in or sign up for Devpost to join the conversation.