Fix memory-first travel recommendations#55
Conversation
Improve Explore city handling, add themed place-search fallback, and make recommendation specialist nodes use deterministic memory-first retrieval with taxonomy-based preference alignment. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
@aayush3011 I didn't change any of the lab files in this PR. I wanted you to review this first. It will definitely impact the lab and the text in those modules. I don't know if you have a way to handle this, agent, etc. but I wanted you to see this first. |
|
@aayush3011 PS this is on my analytics branch. Let me know if you want me to submit this on main. I can do that. |
Please do! |
|
Ok. I've had an agent analyze and cherry pick the fixes from the analytics branch. Then apply those to both the completed and exercises folder. I gave instructions on how to implement the changes that touched the learning content. It appeared to understand this and reflected that back to me. Here is the new PR: #56 once this is done, i'm going to pull that back into my branch so they are both aligned. I'm then going to do what I should have before, which is to create a new set of modules at the end of this workshop for this analytics work. once that is merged, i'll update the aka.ms link I've been using to the main branch. Lastly, Theo and I had a discussion about this workshop. It may make sense to refactor this to focus on agent-led coding. worth a discussion at some point. |
Summary
Why
Recommendation requests were slow and could loop through Orchestrator/specialist ReAct tool calls. Some responses also claimed to check memories while not reliably applying important saved constraints such as dietary preferences. The new specialist path keeps the multi-agent handoff but makes the specialist execution deterministic: memory profile first, place retrieval second, formatted answer last.
Validation
python -m compileall -q python\src mcp_servernpm run build -- --configuration production --progress=falseng test --watch=false --browsers=ChromeHeadless --progress=false(121 tests passed)git diff --check