Σ 0:00▸ 0:00

Module 3 · Agent Tools, Knowledge, Memory & Research Design · scripted

Grounding: Asking the World If You're Right

25 minoutcomes: context-engineering, tool-design

Overview

Tools are not only ways for an agent to do things. They can also let an agent find out whether something it currently believes is actually true. In this lesson we name these grounding actions, watch an agent test a proposal against the world and revise it, learn to ground not just the action but the relationships around it, and see how this changes the way we design toolsets.

Tools can test beliefs, not just do things

A tool call does not have to change anything. It can be chosen purely to find out whether the agent is right. A grounding action is an action chosen to determine whether something the agent currently believes is actually true — an interpretation, an assumption, a prediction, or a proposed solution.

Grounding actions

grounding actionan action chosen to test whether something the agent currently believes is actually true
what it can testan interpretation, an assumption, a prediction, a proposed solution

The tool connects the agent's reasoning to evidence outside its own generated reasoning.

Suppose an agent concludes that the 2:15 PM train will get us to the airport in time. Rather than simply continuing to reason from that assumption, it can check the live train schedule and the flight departure time. Suppose it concludes that sales declined because we lost several large customers. It can query the underlying sales records and test whether the decline is actually concentrated among large customers. Suppose it proposes moving the workshop to Thursday because everyone appears to be available. It can check the participants' calendars. In each case, the tool connects the agent's reasoning to evidence outside of its own generated reasoning.

A belief, a check, an update

Grounding does not mean confirming — often the most valuable observation is the one that shows the agent was wrong. The important capability is that the agent can take actions specifically designed to test its own beliefs. Watch that happen:

A proposal, checked and revised
user

You have the following tools available for use:


  1. check_calendars( people, time_range )
  2. schedule_meeting( people, time_range )

Task: Schedule a two-hour project meeting next week for the five people on the project team.

assistant
think(thought = "Tuesday afternoon looks open from what I know. I will propose Tuesday 2-4 PM, but check everyone's calendars before scheduling.")
user
OK.
assistant
check_calendars(people = "project team", time_range = "Tuesday 2-4 PM")
user
Three available. Priya has a client call 2-3 PM. Marcus is out
Tuesday afternoon.
assistant
think(thought = "I was wrong — two people have conflicts. Wednesday morning may work. Check before scheduling.")
user
OK.
assistant
check_calendars(people = "project team", time_range = "Wednesday 9-11 AM")
user
All five available.
assistant
schedule_meeting(people = "project team", time_range = "Wednesday 9-11 AM")
user
Meeting scheduled.
assistant

Scheduled the project meeting for Wednesday 9-11 AM. My first proposal, Tuesday 2-4 PM, conflicted with two calendars, so I moved it and verified everyone is free.

✎ noteThe first check disproved the agent's belief. That observation was the most useful step in the run — it is why the final answer works.

The grounding loop

The agent could have scheduled the meeting immediately. Instead it checked first, learned it was wrong, revised, and checked again.

What grounds what

Different beliefs call for different checks. The pattern is the same every time: name the belief, then find the action that tests it.

Beliefs and the actions that test them

everyone can attend Thursdaycheck the calendars
the hotel has enough roomscheck current availability
this is the current policycheck the effective date and source
the route takes 30 minutescheck current travel information
the budget is below $50,000calculate the total independently
this code change workscompile and run the tests

For every belief the agent is about to act on, there is usually a tool call that could test it. The design question is whether the agent has that tool and thinks to use it.

Grounding a proposed solution

A finished proposal is still a belief. Before presenting it, the agent can test it. Suppose the task is a catering plan for 30 people with a budget of $1,000, and the agent builds a menu it believes totals $940:

The $940 that was $1,075
user

You have the following tools available for use:


  1. get_menu_prices( vendor )
  2. calculate( expression )

Task: Create a catering plan for 30 people with a budget of $1,000.

assistant
get_menu_prices(vendor = "Fresh Fork Catering")
user
Premium lunch box $26/person. Standard lunch box $22/person.
Delivery $95. Tax 9.75%. Service fee 12%.
assistant
think(thought = "30 premium boxes at $26 is $780, plus $95 delivery, plus tax — roughly $940. That fits the budget. But I should calculate the full total independently before presenting.")
user
OK.
assistant
calculate(expression = "(30 * 26 + 95) * 1.0975 * 1.12")
user
$1,075.55
assistant
think(thought = "I believed the plan cost about $940. Food plus delivery plus tax plus the service fee is actually $1,075 — over budget. Revise to the standard boxes and check again.")
user
OK.
assistant
calculate(expression = "(30 * 22 + 95) * 1.0975 * 1.12")
user
$928.05
assistant

Recommended plan: 30 standard lunch boxes from Fresh Fork plus delivery, total $928.05 including tax and service fee. The premium option came to $1,075, which is over the $1,000 budget.

✎ noteThe calculator grounded a claim the model might otherwise simply have assumed was correct. The $940 was a belief; the $1,075 was an observation.

Grounding also catches a subtler failure: information that is true but not enough. Suppose the agent must recommend a room for a 60-person workshop. It finds a room described as "Capacity: 75." That seems sufficient. But a grounding action reveals that 75 is the capacity for theater seating — with tables, the room holds 42.

True but not enough

The room listing said "Capacity: 75" — that was true.

For a workshop with tables, the real capacity was 42.

The first piece of information was not false. It simply was not sufficient to establish that the proposed solution would work.

Ground the relationships, not just the action

Often the most important errors are not contained in the proposed solution itself. Suppose an agent is asked to move the department meeting to Thursday. The agent successfully finds an open time. But the room may already be occupied. A key participant may be traveling. The meeting may need to happen before Friday's board meeting. Catering may already have been ordered for Wednesday. The time was right; the world around the time was not checked.

The two questions of grounding

A good grounding step asks not only "is my proposed action valid?"

It asks "what else must be true for this action to be correct?"

move the meeting to Thursdayis the time open — and is the room free, is everyone in town, does it still precede Friday's board meeting, was catering already ordered

Tools have a second job

It is tempting to describe tools only as capabilities. A calendar tool lets the agent schedule meetings. A database tool lets the agent query records. But there is another design question: what uncertainties should this agent be able to reduce?

The second job

A tool set does two things.

It lets the agent act on the world.

And it lets the agent ask the world whether its reasoning is correct.

Designing the questions a tool set can ask — and making some checks required, not optional — gets a lesson of its own next.

The whole picture

Grounding completes the loop this module has been building. The agent interprets the task, acquires the information it needs, reasons over it, proposes an answer — and then asks the world whether the proposal holds, observes what comes back, and revises.

The full loop

When grounding matters

Not every task needs every step.

As ambiguity, uncertainty, and consequences grow, grounding matters more.

A powerful agent does more than reason, search, and act.

A powerful agent can identify its important uncertainties and turn them into observations.