A municipal water utility wants a single agent to handle both "report an outage" and "ask about my bill" for residents. Which approach best applies state-based low-code design to this two-purpose agent?
Select an answer to reveal the explanation.
Short Explanation
One agent can comfortably wear two hats as long as each hat gets its own room — an outage-reporting page and a billing page, with a transition route acting as the doorway between them. Splitting into two full agents for two related tasks is like building a second building just to add a second room.
Full Explanation
State-based low-code design scales naturally to multi-purpose agents by giving each purpose its own page, with transition routes handling the branch based on which intent the resident's request matches — outage reporting on one page, billing questions on another, both inside a single agent. That keeps shared context, like the resident's account, available across both tasks without extra hand-off machinery. Splitting into two separate agents introduces unnecessary complexity for what is really one workflow with two branches, and event handlers aren't designed as an inter-agent hand-off mechanism in the first place. Cramming both tasks into a single page with conditional branching inside fulfillment logic works against the state-based model, since it pushes navigation logic that belongs to transition routes down into fulfillment code, making the flow harder to maintain and test. Few-shot examples shape response style within a turn; they can't substitute for the page and route structure that actually separates two distinct conversational tasks. Scope caveat: if the two tasks later diverge into entirely different data sources or compliance requirements, revisit whether they still belong in one agent. Operational check: confirm a resident can move from an outage report to a billing question in the same session without losing their earlier account context.