AI agents & business automation
A chatbot answers. An agent acts. The difference is a loop: the model receives a goal, chooses a tool, sees the result, and decides what to do next, until the goal is met or a limit is hit. That loop is what lets AI move from drafting text to actually checking an order, raising a ticket or updating a sheet.
The four parts of an agent
- Model — decides the next step.
- Tools — functions it may call: a database query, an API call, a calculator, a file reader.
- Loop — run tool, feed the result back, repeat with a step limit.
- Memory — the running conversation, plus anything stored between sessions.
Tools are just functions with a description
You describe each function so the model knows when to call it, then execute the call yourself in normal Python:
def check_order(order_id: str) -> dict:
# replace with a real database lookup
return {"order_id": order_id, "status": "in transit", "eta": "2 days"}
def raise_ticket(order_id: str, issue: str) -> dict:
return {"ticket_id": "TKT-3391", "order_id": order_id, "issue": issue}
TOOLS = {"check_order": check_order, "raise_ticket": raise_ticket}
TOOL_SPECS = [
{
"name": "check_order",
"description": "Get delivery status and ETA for one order id.",
"input_schema": {
"type": "object",
"properties": {"order_id": {"type": "string"}},
"required": ["order_id"],
},
},
]
def run_tool(name: str, args: dict) -> dict:
if name not in TOOLS:
return {"error": f"unknown tool {name}"}
try:
return TOOLS[name](**args)
except Exception as exc: # never let a tool crash the loop
return {"error": str(exc)}
The agent loop then repeats: send the conversation to the model, and if it asks for a tool, run it with run_tool,
append the result as a new message, and send again — capped at, say, five steps so a confused agent cannot spin forever.
Which processes are worth automating?
| Good fit | Poor fit |
|---|---|
| High volume, repetitive, rule-light (order status, invoice data entry) | One-off tasks done twice a year |
| Inputs are messy text or documents | Inputs already clean and structured — plain code is cheaper |
| A wrong answer is cheap to reverse | Irreversible money movement or legal commitments |
| A human reviews the output anyway | No reviewer and no audit trail |
A useful rule for a small business: automate the retrieval and drafting, keep the sending and paying with a human. A dispatch clerk approving 60 drafted replies an hour is a far better system than an agent emailing customers unsupervised.
Guardrails that matter
- Least privilege: read-only tools by default; any write, refund or send needs explicit approval.
- Step and cost limits: cap loop iterations and tokens per task.
- Validate tool inputs: an order id should match your format before it touches the database.
- Log everything: prompt, tool calls, results and final output, for debugging and audit.
- Treat fetched text as data, not instructions — a supplier PDF must never be able to tell your agent what to do.
Key takeaways
- An agent is a model plus tools plus a bounded loop, not a smarter chatbot.
- Reliability comes from narrow tools and hard limits, not from a longer prompt.
- Measure it like a process: tasks completed without human edit, cost per task, minutes saved.
Practice
Pick one repetitive task in a business you know (matching UPI payments to invoices, say). List the 3 tools an agent would need, mark each read or write, and write the approval rule for every write tool before any code.