dotnet-presentations / dotnet-presentations/ai-workshop
Prevent the Part 8 order agent from offering unsupported notifications
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 56
- Forks
- 33
- Avg merge
- 19h 26m
- Merged PRs (30d)
- 45
Description
Issue type
enhancement
Requested priority
P3 - Polish, minor documentation, screenshots, or future improvement
Workshop area
Part 8 - Agent Framework Basics
Summary
During live validation, the Part 8 agent correctly called GetOrderStatus but then offered to notify the user when the order shipped or provide future tracking updates. The sample exposes no notification or tracking-subscription tool, so the offer cannot be fulfilled.
Attendee or instructor impact
The core lesson passes, but the output demonstrates a common agent-design problem: the model promises capabilities that are not represented by its tools. An instructor may need to explain why the offered follow-up cannot actually work.
Because model wording is nondeterministic, this is an intermittent polish issue rather than a guaranteed failure.
Reproduction or proposed change
From a fresh Part 8 project configured with gpt-5-mini, run the documented application and ask:
What's the status of order ORD-1001?
How about ORD-1002?
When will ORD-1001 arrive?
In the September 13 validation, the tool-derived dates and statuses were correct, but responses included offers such as:
Would you like me to notify you when that happens?
and:
Would you like me to notify you when it's out for delivery or provide tracking updates?
The application only has GetOrderStatus; it cannot schedule notifications or retrieve future updates.
Proposed change:
- Strengthen the agent instructions to state that it must not promise notifications, subscriptions, or future tracking updates.
- Tell it to limit answers to the data returned by available tools and suggest only actions the sample can perform.
- Optionally use this as a short teaching note about capability boundaries and tool-grounded agents.
Expected outcome
The agent answers order-status questions accurately without offering actions that have no corresponding application/tool implementation.
Validation
- Build the Part 8 snapshot in Release with zero warnings.
- Run several multi-turn order-status conversations against the configured model.
- Confirm the agent invokes
GetOrderStatusfor each referenced order. - Confirm it preserves conversational context.
- Confirm responses do not promise notifications, subscriptions, or unsupported future tracking.
- Confirm no vulnerable packages.
Dependencies and related issues
No open duplicate found. This is independent of the Aspire 13.4.6 PR.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the documented Part 8 application and its agent instructions, then inspect how the GetOrderStatus tool is exposed. Update the instructions so responses stay within available tool capabilities, and build the Part 8 snapshot in Release before running several multi-turn order-status conversations to confirm unsupported offers are absent.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- ai, backend
- Issue type
- Feature
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100