AI Learning Hub › Learn AI › Self-Paced Courses › Agents Without the Hype › Give the Agent a Job
Module 2 ยท Beginner
Give the Agent a Job
A goal, a success condition, boundaries and a stop condition: what the agent is actually being asked to do, and where its discretion ends.
By the end
- Turn a vague goal into a bounded agent job
- Define what successful completion looks like
- Set limits without prescribing every step
- Identify when an agent should stop rather than improvise
- Recognize when instructions have become so prescriptive that they describe a workflow instead
A goal needs edges
Module 1 asked who decides what happens next? This module asks the follow-up question:
How much direction is enough?
If the model is allowed to choose the route, what still needs to be decided by the human?
In Module 1, a goal was the outcome the user wants, without necessarily specifying every step required to reach it. That flexibility is exactly what gives agent behavior room to emerge.
But flexibility is not the same as usefulness. “Research this topic” is not automatically a good agent job. The model still needs enough information to know what outcome matters, how to recognize completion, what it should not do, and when continuing would become guessing or unnecessary work. The goal defines the destination. The rest of the job defines the edges.
Three more words to learn
Success condition
An observable condition that tells you the requested outcome has been reached.
Boundary
A limit on what the system should access, change, use, or do while pursuing the goal.
Stop condition
A condition that tells the system to stop, pause, or return control even if the goal has not been fully completed.
These three are this course’s vocabulary, not anyone’s protocol. The underlying ideas are well supported in the engineering guidance from Anthropic and OpenAI, but those sources reach for different words, and sometimes narrower ones. The Sources section sets our terms beside theirs so you can move between them.
One assignment, three ways
The same fictional assignment runs through the rest of this module, so that the only thing changing is the instruction style.
The assignment
A faculty member is considering a new AI research platform and asks for a short background briefing before deciding whether to explore it further.
The platform is unnamed and no real research is performed here. The assignment exists only to compare ways of writing the job.
Too vague
Version A
Research the new AI research platform and tell me what I should know.
What is missing? Decide before you open this.
Reveal the discussion
Almost everything that would let anyone judge the result:
- How much research — ten minutes, or a day?
- For which audience — the faculty member, a committee, a class?
- What should the result contain, and how long should it be?
- What sources are appropriate — the vendor’s own marketing, independent reviews, published documentation?
- Can the system create an account to try the platform?
- Can it contact the company?
- When should it stop?
The problem is not simply that the prompt is short. A short prompt can be a perfectly good job.
The problem is that the system has to invent too many important parts of the assignment. Whatever it produces, you will have no basis for saying it finished, because nobody said what finishing meant.
Too scripted
Version B
1. Open the vendor homepage.
2. Open the features page.
3. Open the pricing page.
4. Search the documentation for "research."
5. Search the documentation for "citations."
6. Write three bullet points from each page.
7. Put the bullets into a one-page memo.
What changed?
Reveal the discussion
The human has selected almost the entire route in advance.
AI may still appear within individual steps — reading a page and writing bullets is real work. But the overall structure now looks much more like the workflow pattern from Module 1 than the agent pattern. The path was fixed before anyone saw a single page.
If you choose every step, there may be very little left for the agent to decide.
Notice that this is an observation, not a criticism. Sometimes a fixed workflow is exactly what the task needs, and Version B has real advantages: you know precisely what will happen, and you can check it was done. The point is only that you should know which one you have written.
Give the goal room, but give it edges
A third version keeps the destination and the limits in human hands, and leaves the route open.
Version C — a bounded job
Prepare a one-page background briefing for a faculty member who is
considering whether to explore a new AI research platform.
Explain what the platform appears to do, identify two important
limitations or unanswered questions, and support the briefing with at
least three primary sources.
Do not create an account, upload Stanford materials, contact the
company, or change anything outside the research session.
If primary sources do not support an important point, identify the gap
instead of filling it in.
It is only a few sentences longer than Version A, and considerably shorter than Version B.
What did the human decide?
The same job, broken into its parts:
- Goal
- Prepare a useful background briefing.
- Success condition
- A one-page briefing that explains what the platform appears to do, identifies two limitations or unanswered questions, and uses at least three primary sources.
- Boundaries
- Do not create an account, upload Stanford materials, contact the company, or make external changes.
- Stop condition
- If primary sources do not support an important point, report the gap rather than inventing the answer.
Four decisions, all of them the human’s, and none of them about which page to read first.
What did the human leave open?
This half matters just as much, and it is easy to miss. The job did not specify:
- which primary source to inspect first;
- which search terms to use;
- whether another source is needed after the first;
- which limitation will ultimately matter most; or
- the exact sequence of research steps.
Those are potential decision points for the agent.
That is the direct connection back to Module 1. Version B left almost none of these open, which is why it read as a workflow. Version C leaves all five open while still telling the system what “done” means — and that combination is what a bounded agent job looks like.
“Do a good job” is not a success condition
A success condition should be observable enough that a human can inspect whether it was met. If you cannot tell by looking at the result, neither can the system.
Weak
“Give me a thorough answer.”
Thorough by whose measure? Two people could read the same result and disagree about whether the job was done.
More useful
“Produce a one-page briefing that explains what the platform does, identifies two unresolved questions, and cites at least three primary sources.”
You can hold the result up against this and answer yes or no.
This does not mean every task needs numeric quotas. “Two questions” and “three sources” happen to suit a briefing; they would be silly attached to something else, and a condition like “covers each of the four topics we discussed” is just as observable without counting anything. The aim is to make “done” less ambiguous, not to count everything.
Success is not correctness. A success condition tells the system what output or state counts as completion. It does not guarantee factual accuracy, good judgment, source quality, or usefulness. A briefing can satisfy every element of Version C and still be wrong. Human review remains necessary, and a later module returns to how to do it.
Boundaries protect the shape of the job
A boundary describes something the system should not do merely because it might help achieve the goal. That last part is the whole idea. Creating an account really would produce a better briefing. It is still out of bounds.
Boundaries tend to look like:
- do not upload private material;
- do not contact another person;
- do not create an account;
- do not modify a file; or
- do not use sources outside a defined set.
A useful goal does not automatically authorize every action that might help achieve it.
An instruction is still an instruction
A written boundary tells the model what you want.
It is not automatically a technical barrier. Nothing in the sentence “do not create an account” physically prevents an account from being created; it is a request, expressed in the same language as the rest of the job.
Later modules will examine stronger controls around which tools are available at all and which consequential actions require a human first.
Sometimes the right next step is to stop
This is one of the most important ideas in the module, and one of the least intuitive.
An agent should not be encouraged to keep looking for something merely because the original goal has not been achieved yet. A system that treats “the goal is incomplete” as “keep going” will eventually fill a gap by guessing, because guessing looks more like progress than stopping does.
Useful stop conditions might include:
- required information cannot be found;
- sources conflict in a way the task cannot resolve;
- the next step would require access not provided;
- the next action falls outside the agreed boundary; or
- the system needs a human decision.
Stopping can be successful behavior.
Version C has exactly one stop condition, and it is doing real work: if primary sources do not support an important point, identify the gap instead of filling it in. Without it, the instruction to use three primary sources quietly becomes pressure to find three, whether or not three exist.
The two conditions are easy to confuse, so it is worth setting them side by side:
Success condition
We have enough to finish the job.
Example: the briefing contains the requested elements and supporting sources.
Stop condition
We should stop even though the goal is incomplete.
Example: an important claim cannot be supported by the permitted sources.
One describes arriving. The other describes deciding not to.
Build the job, not the route
Your turn. Here is a request in the state most requests actually arrive in:
The request as given
Help me understand whether a new technology would be useful for my class.
Before reading on, write down three things — on paper, in a note, or just in your head:
Supply the missing parts
- Success condition — what would you need in the final result to consider the assignment complete?
- Boundary — what is one thing the system should not do while working?
- Stop condition — what should cause it to stop and return the problem to you?
One possible version
- Success condition
- A short comparison of the technology’s main classroom uses, two limitations, and three questions I should investigate before deciding whether to try it.
- Boundary
- Do not create an account, upload course materials, or contact anyone.
- Stop condition
- If reliable information is unavailable for an important question, identify the gap and stop rather than guessing.
There are many reasonable versions, and yours may be better suited to your class than this one. What matters is whether the job makes completion, limits, and stopping behavior clearer than the original request did.
Notice what this version still does not say: which technology pages to read, in what order, or how many to look at. Those were left open on purpose.
More instructions are not always better
There are two opposite ways to overdo this, and both are common.
You can constrain an agent so tightly that you effectively prescribe the whole workflow — Version B, arrived at one well-meant clarification at a time. You can also add so many requirements that the job becomes difficult for anyone to understand, including you, three weeks later, when you are trying to work out why the result looks strange.
The goal is not to write the longest prompt possible. Make the important decisions explicit, and leave the appropriate decisions open.
Which decisions are “important” is a judgment call, and it changes with the stakes. That judgment is most of the skill this course is trying to build.
Who still decides what happens next?
Module 1’s question, answered for the bounded job:
The human decides
- the goal;
- what completion requires;
- important boundaries; and
- when the system should stop.
The agent may decide
- what useful step to take next;
- which permitted capability to use;
- whether an intermediate result is sufficient; and
- whether another permitted step is needed.
Agent design is partly about deciding which decisions belong on each side of that line.
What to notice
A good agent job is neither an empty wish nor a script.
- Too vague — the system must invent important requirements.
- Too scripted — the human has already chosen the route.
- Bounded — the human defines the outcome and limits while leaving meaningful route choices open.
The three versions in this module distribute the same decisions differently; none is a better draft of the others.
Before you continue
You are ready for Module 3 if you can:
- turn a vague goal into an observable success condition;
- name a meaningful boundary;
- identify a reason the agent should stop before completing the goal;
- explain why a natural-language boundary is not automatically a technical guarantee; and
- leave some route decisions open rather than prescribing an entire workflow.