Everyday Assist, Evidence First
Inspiration
Everyday agents are useful when they reduce friction, but the same convenience can become risky when an assistant silently turns an ambiguous request into a message, purchase, appointment, or account change. We wanted an agent that is helpful before it is powerful: it should expose its plan, identify missing information, and keep consequential actions with the person using it.
What it does
Everyday Assist turns a natural-language request into a bounded, reviewable plan. It classifies the request, detects urgency, proposes concrete steps, and adds safeguards appropriate to the domain. Health requests receive an explicit non-diagnostic boundary. Every plan declares whether human review is required and contains an auditable list of external actions. In this release that list is always empty, so the agent cannot claim that it sent, bought, booked, or changed anything.
How we built it
The project uses Python and the Strands Agents SDK. A Strands Agent receives a
system prompt that requires use of the plan_request tool. That tool delegates
to a deterministic planning core and returns structured JSON. Separating the
agent runtime from the safety core makes the boundary easy to test and lets the
same behavior run in an offline demonstration mode when no cloud credentials
are configured.
Challenges
The central challenge was deciding where model flexibility should stop. Free text is useful for understanding a request, but safety guarantees are easier to verify in deterministic code. We therefore kept categorization, urgency rules, human-review requirements, and the prohibition on external side effects in a small local module, while Strands handles orchestration and explanation.
Accomplishments
- A real Strands Agent factory with a registered planning tool.
- A deterministic offline mode that produces the same auditable plan structure.
- Explicit human approval and no-external-action guarantees.
- Automated tests for core planning, Strands registration, and runtime routing.
- Reproducible architecture documentation and an MIT license.
What we learned
Agent safety becomes easier to explain when it is a visible product behavior, not only a policy paragraph. Tool boundaries, structured outputs, and an offline reference path make claims testable and help users understand exactly what the agent did and did not do.
What's next
Next steps are an optional review interface, user-approved connectors with preview-before-send behavior, and evaluation scenarios covering ambiguous or conflicting requests. Any future connector will remain behind an explicit human approval gate.
Built With
- ai-agent
- amazon-web-services
- human-in-the-loop
- python
- strands-sdk
- structured-json
Log in or sign up for Devpost to join the conversation.