Learn AI.
Build AI Systems · ORIGINAL LEARN AI LESSON

Define an assistant’s job.

Specify an assistant’s inputs, scope, permissions, evidence and stopping rules before choosing a model or adding tools.

By the end: Build and test a task contract that distinguishes supported answers, authorized actions, clarification and unresolved handoff.

01 · TRY

Start with something concrete.

A school assistant can read room notices and is technically able to reserve rooms. Someone asks whether a room is available and says not to reserve it. Predict what the assistant may do, then test the difference between a capability and permission for this request.

Try the interactive model ↓
02 · PREDICT
Before you experiment

An assistant has a reservation tool, but the user only asks whether a room is free. What follows?

An assistant has a reservation tool, but the user only asks whether a room is free. What follows?
03 · EXPERIMENT

Change one thing. Watch what follows.

  1. Answer the weekday library question using a current notice. Restart, read the archive and attempt the old time; explain which evidence check rejects it.
  2. Read the art notice for a robotics question. Compare source freshness, topic relevance and support for the proposed claim.
  3. Try the ambiguous club request. Explain why a plausible time does not replace the missing club name.
  4. Enable reservation capability. Compare an availability-only request with an explicitly authorized reservation; read the matching board first.
  5. Use a one-read budget, spend it on irrelevant evidence and decide how to stop. Capture the unresolved outcome, then compare a two-read contract.
  6. Test a request outside scope and the missing holiday notice. Distinguish an appropriate decline from a missing-evidence handoff.

Loading this browser experiment…

04 · UNDERSTAND

Begin with a job, not a model

Imagine a student asks, “Is Room A available on Wednesday at 15:00? Do not reserve it.” A useful response needs a current availability notice. It does not need to make a reservation. Even if a tool can reserve rooms, that capability does not supply the student’s authorization to use it.

A task contract is a written agreement about what the assistant receives, may do, must verify and should return. It makes the difference between “help with school information” and a task you can test. The contract is not a legal document in this lesson; it is an engineering description of intended behavior.

Start with this concrete contract:

PartExampleA test that could expose a gap
InputA school-information request with a topic and requested fact“What time is the club?” does not identify which club
ScopeLibrary information, club schedules and room availabilityA bus-route question is outside this local collection
Allowed actionsRead up to two notices; answer; clarify; decline or hand offReading the same notice twice still consumes two reads
Optional actionSimulate one reservation after explicit authorizationAsking whether a room is free is not authorization to reserve
EvidenceA read, current notice matching the exact requested factA current art-club notice does not answer a robotics question
SuccessA supported answer or the specifically authorized simulated actionA confident time from an archive fails the evidence rule
StoppingStop after an outcome or six attempted actionsRepeated rejected answers must not create an endless loop

The lab uses fictional documents and manually supplied request fields. It is a programmed simulator, not an AI system that understands arbitrary language. You act as the controller by proposing each next action. This makes the boundary inspectable before later lessons introduce retrieval and model-generated proposals.

Separate four checks on evidence

Suppose a notice says “The library closes at 18:00 on weekdays.” It contains an answer-shaped value. That alone is not enough.

  1. Was it read? An answer should point to evidence actually inspected during the task, not a guessed source.
  2. Is it current? An archived policy may accurately describe the past while being wrong for today’s question.
  3. Is it relevant? Weekday hours do not establish holiday hours. Two claims can concern the same library and still answer different questions.
  4. Does it support the claim? Even a current, relevant notice cannot support a time it does not state.

The lab displays freshness, relevance and exact value support separately. Its “current” flag is authored metadata, not an automated trust detector. In a real application, who maintains the source, when it was updated, and whether other sources contradict it would need explicit treatment.

Try reading the current art notice for a robotics question. It is a valid local document and it supports its own stated time, but it does not support the requested robotics answer. Similar topic words, proximity in a search result or a high similarity score do not repair that mismatch.

Capability, contract permission and request authorization

Three questions govern an action:

  • Can the system perform it? This is capability: whether an operation exists.
  • Does the contract permit it? An information-only assistant should not turn a tool capability into permission to change a record.
  • Did this request authorize it? A permitted reservation function still needs a request that actually asks for a reservation.

The availability-only case can be answered from the room notice even when reservation capability is enabled. The explicitly confirmed case additionally permits the fictional reservation. An ambiguous request such as “Help me with Room A” needs clarification rather than an assumed action.

No real room is reserved in this lesson. A successful simulated reservation changes only the temporary task record. This is a teaching example of an action boundary, not a browser security boundary or a real booking integration.

Make incomplete outcomes explicit

Clarification addresses missing input or intent: which club, or whether a reservation is wanted. It is different from handoff, which ends the local attempt without claiming the question was answered. A decline explains that the request is outside scope.

If the holiday-hours source is absent, asking the user which library is meant does not magically create the missing evidence. The question can be sufficiently clear while the answer remains unavailable. Use retrieval while budget remains, then state the gap and hand off.

A stopped loop is not automatically a successful service outcome. The lab keeps answered, reserved, clarified, declined, handed-off and stopped distinct. An exhausted attempt limit means the task is unresolved, even if the runtime behaved safely.

Count work without hiding failure

The small budget arithmetic is deliberate. With a two-read allowance, reading one irrelevant notice leaves 2 − 1 = 1 read. A rejected unsupported answer does not read another document, but it does consume one of the six action attempts. Reading the same notice again is another read even though it adds no new source to the evidence list.

This distinction prevents two misleading reports: counting only useful reads, and pretending repeated proposals cost nothing. The lab counts operations, not seconds, money or tokens. A later real implementation would need measured latency and its own resource model.

Change from one read to two while keeping the same initial request and first irrelevant read. Compare what becomes possible and what still needs evidence. More budget can recover a poor first choice; it cannot turn an unrelated source into support.

Apply the contract to a new setting

For a student project, write a contract for an event-information helper and test an ambiguous event name. For an engineering project, express permissions, input validation and terminal states as functions and tests. For a management brief, define which unresolved cases need human handling and what success would mean for the intended users.

Include at least one normal request, one missing-input case, one irrelevant result, one outdated fact, one prohibited action and one exhausted-budget case. Record the intended outcome before running the workflow. A completed transcript or a few passing examples do not establish independent implementation quality or reliable open-ended behavior.

The next application work will add document retrieval and claim-to-source evidence. Training a language model is not a prerequisite for defining a useful, testable job.

05 · APPLY
Check your understanding

A current notice says the library closes at 17:00 on weekdays. The user asks about a holiday, and the read budget is exhausted. What is supported?

A current notice says the library closes at 17:00 on weekdays. The user asks about a holiday, and the read budget is exhausted. What is supported?
06 · CONTINUE

Take this idea with you.

A useful assistant needs a declared job: what it can read, what it can do, what counts as evidence, and when it must stop without a complete answer.

My work
Learn AI · Understand by doing.Loading local progress…Copyright (c) 2026 Mobi Weave, Inc. All rights reserved