Module 1 · Foundations of Agentic AI · scripted

Tools: Constraining the Actions

20 minoutcomes: tool-design

The cooking agent had no bounds

In the sveler conversation, the LLM just dreamed up actions. Whisk this, sift that, butter the pan — it assumed a fully equipped kitchen. But what if I don't have a particular utensil, appliance, or ingredient, and it tells me to take an action that uses it?

I could correct it reactively — "there's a problem, I don't own a whisk" — and let it adapt, the way it did with the thick batter. But every correction costs a turn, and the plan was built on assumptions the kitchen never satisfied. Instead, we do something better: we tell the LLM, up front, what tools it has at its disposal — and the tools bound the space of actions it can take.

Tools bound the action space

Same goal, different tools, different agent

Declare the tools in the conversation and watch the plan reshape itself around them:

Example 1 · A hotel room is a kitchen
user

I want to cook a salmon fillet dinner. The only tools I have: an electric kettle, a heatproof zip-top bag, aluminum foil, a clothes iron, an ironing board, and a coffee mug. Plan the cooking for me, one step at a time — only use what I have.

assistant

We can do this properly. Step 1: fill the kettle and boil it. While it heats, season the salmon and seal it flat in the zip-top bag, pressing the air out. We're going to poach it gently, sous-vide style — the bag is our pan and the kettle is our stove. Ready?

user

Ready. Salmon is in the bag.

assistant

Step 2: pour the boiling water into the mug and the bag's container — actually, better: put the bagged salmon in the emptied kettle base? No — never inside the kettle. Use the mug: it's small, so we'll poach in stages. Pour boiling water over the bagged fillet in the largest container you have and cover it with foil to hold heat. Tell me what you're using.

user

I found the ice bucket. Bag is in, water poured, foil on top.

assistant

The ice bucket is perfect — good find. Step 3: let it sit 12 minutes, re-topping with fresh boiling water at minute 6. Meanwhile, heat the iron to its hottest setting — when the salmon is poached, we'll wrap a foil packet around it, skin-side out, and press it with the iron for ninety seconds to crisp the skin.

NoteNo stove, no pan — and the plan is made of the tools: kettle as stove, bag as pan, ice bucket as bath, iron as grill. The declared tool list didn't just restrict the plan. It generated it.
Example 2 · Same dish, different tools
user

Same goal — a salmon fillet dinner. But now my only tools are: a microwave, a coffee maker, and a roll of parchment paper.

assistant

Different kitchen, different technique. We'll steam, not poach: Step 1 — wrap the seasoned fillet loosely in parchment with a spoonful of water, en papillote. The coffee maker's hot plate will be our warming station for the finished fish, and the carafe gives us hot water for a quick sauce. Start by brewing a plain pot — water only.

NoteSame goal, same LLM — but swap the declared tools and you get a different agent: different technique, different sequence, different risks. The tool list is part of the prompt, and the trajectory grows out of it.
Read the plans
  • In Example 1, which tool got used for a purpose it wasn't designed for? Who decided that?
  • What would each plan look like if we hadn't declared tools — and how many correction turns would it have cost?
  • What's the difference between "the LLM can't do X" and "X isn't in the tool list"?

Constraints as a design instrument

Declaring tools turns out to be one of the most important design moves in all of agent building. The tool list is how we tell the agent what kind of world it is acting in — and, just as important, what it must work around. A creative plan under tight constraints (an iron as a grill) and a safe plan under generous ones both come from the same mechanism: the conversation states what actions exist, and the LLM composes a trajectory out of exactly those actions.

But so far, our tools are just names. A real microwave doesn't accept "warm it up a bit" — it wants a power level and a time. That's the next lesson: tools have controls.

Your turn

Pick a task from your own domain and write two tool lists for it: one generous, one severe. Give an LLM the same goal with each list. Where did the severe list force something clever? Where did it force something worse?