The Ambiguity Is Constant
"Clean up the data" could mean removing duplicates, fixing formatting, handling null values, standardizing column names, or all of the above. "Search for recent issues" could mean GitHub issues, customer complaints, or technical problems. "Make it faster" could mean optimizing code, caching results, or reducing API calls.
Humans resolve this ambiguity through context, shared knowledge, and asking clarifying questions. AI agents have limited context, no shared knowledge beyond their training, and an inconsistent tendency to ask versus guess. How they handle the gap determines the quality of the user experience.
When Agents Should Guess
For low-stakes operations with obvious defaults, guessing is fine. If a user says "search my files for config" and there's a filesystem MCP server connected, the agent should search for files containing "config" in the accessible directories. The worst case is returning irrelevant results, which the user can redirect.
Guessing works when the cost of being wrong is low and the cost of asking is high (interrupts the user's flow). A good rule of thumb: if the agent can try something, check whether the result looks right, and course-correct without wasting the user's time, it should go ahead rather than asking.
When Agents Should Ask
For irreversible actions, the agent should always clarify. "Delete the old files" needs specificity before execution. Which files? How old is "old"? Delete permanently or move to trash? An agent that asks before destructive actions is annoying once but saves the user from disaster over time.
For high-effort operations, asking is also the right choice. If fulfilling a vague request would require 20 minutes of compute and API costs, it's better to spend 30 seconds getting clarification than to produce an expensive result that misses the mark.
The Clarification UX
How an agent asks for clarification matters as much as whether it asks. Bad: "I need more information about your request." Good: "I found three types of config files in your project: application configs (.env, config.yaml), build configs (webpack, tsconfig), and deployment configs (docker-compose, Dockerfile). Which type are you looking for?"
The good version shows that the agent already did some work, presents concrete options, and makes it easy for the user to respond with minimal effort. It turns a vague request into a multiple-choice question, which is faster and more pleasant than being asked to rephrase from scratch.
Building Ambiguity Handling Into Agent Design
When designing agents, explicitly address ambiguity in your instructions. Include guidance like: "If the user's request could refer to multiple things, briefly describe the options and ask which one they mean. If the request is clear enough to act on, proceed without asking." This teaches the agent the appropriate threshold for when to guess versus when to clarify.
Testing with deliberately ambiguous inputs during development reveals how your agent handles the gray areas. These edge cases often produce the most frustrating user experiences and are worth investing time to get right.
Related Reading
- How AI Agents Decide When to Ask for Human Help
- The Agent Loop: How Autonomous AI Systems Make Decisions
- Why Most AI Agents Fail at Multi-Step Reasoning
Discover AI agents on Skillful.sh. Search 137,000+ AI tools.