Best Practices for AI Agent Creation You Cannot Retrofit

September 3, 2026

Best Practices for AI Agent Creation You Cannot Retrofit

Return to the list

Reading time: 12 min

By ITDS Team  ·  AI Engineering  ·  11 min read

The best practices for AI agent creation are mostly decisions you make before writing code. Agents rarely fail in production because the model is weak. They fail because the scope was too broad, the instructions were vague, the tools had no defined boundaries, and safety arrived late.

1
Sentence your agent's job should fit into
5
Practices, and the order they belong in
7
Fields every agent output should return
0
Guardrails worth retrofitting after launch

The best practices for AI agent creation form a sequence, and the order matters more than any individual item in it. Architecture, then instructions, then tool schemas, then guardrails, then observability. If you want the surrounding lifecycle with compliance gates, that is in our walkthrough of the AI agent development process. This article is about the craft inside those stages.

Best practices for AI agent creation start with scope

Define the agent's job in one sentence. If that sentence needs an "and", your scope is too wide.

It sounds like a slogan and works like a filter. When one agent carries too many responsibilities the system prompt bloats, tool selection gets unreliable, and tracing a failure to its cause turns into an afternoon. Enforce the heuristic before code exists, not after.

On patterns, orchestrator-worker is the most versatile starting point: a central agent decomposes goals and delegates to focused workers, each holding only the context and credentials its function requires. Move to a multi-agent system when tool count or task heterogeneity starts creating prompt overload or security boundary concerns. Move to peer-to-peer only when resilience requirements demand it, since centralised structures are considerably easier to audit and debug.

Instruction engineering: the best practice for AI agent creation most teams skip

Poor instructions are a leading cause of hallucination and behavioural drift. Three patterns carry most of the weight.

  1. Chain-of-thought

    Force step-by-step reasoning before the answer. Invented claims drop because the reasoning becomes visible and interruptible rather than happening silently inside a single output.
  2. Source anchoring

    Restrict the agent to provided context with an explicit fallback: if the answer is not in the documents, say so. One constraint, and it cuts a whole class of fabrication at the root.
  3. Chain-of-verification

    Generate a response, generate verification questions against it, run those through the model, then finalise using the pairs. It adds latency, so reserve it for high-stakes output: financial summaries, clinical recommendations, compliance reports. For everything else, chain-of-thought plus source anchoring is usually enough.

On the system prompt itself: assign a specific role to tighten output consistency, state explicit dos and don'ts, and handle uncertainty directly. An instruction as plain as "if you cannot confirm this from the provided context, say so rather than assuming" eliminates a real failure class. Lower temperature produces more deterministic output for task-oriented agents. Put critical constraints at the top of the prompt and restate them at the end in different wording, which reinforces without reading as repetition.

Tool and output schemas decide whether the agent can be trusted

Wrong tool selection is a common production failure, and it almost always traces back to a vague tool description. Every definition should declare what the tool can execute autonomously, what needs human approval first, and which parameters are mandatory. Leave any of those ambiguous and the agent guesses, which corrupts every step downstream.

A complete tool definition carries a name, a precise description with scope constraints, required and optional parameters with types, an output structure, and a confidence threshold deciding between autonomous execution and an approval gate. A send-email tool specifies allowed recipient domains, flags whether approval is needed above a threshold, and returns status, message ID and confidence.

Fields every production agent output should return and what each one enables
FieldWhat it enables
Action IDTraceability back to a specific decision
Tool usedDiagnosing wrong tool selection without replaying the session
StatusActivity feeds built from output rather than parsed prose
Confidence scoreThreshold-based routing to an approval gate
Reasoning traceAuditability at the decision level, not just the log level
Intervention flagSurfacing what needs a human before it reaches a user
Suggested next actionsIntervention interfaces that let a reviewer act rather than only observe

Swipe the table sideways to see all columns.

Free text cannot support any of that. Schema validation as a post-model guardrail cuts action drift and makes it possible to show users what the agent did, why, and how confident it was. Semantic verification and targeted human review still belong in the loop, but the schema is what makes them cheap enough to run.

Building an agent that has to survive an audit? Talk to ITDS Portugal about sequencing the build so safety is designed in.

Guardrails and quotas: the best practices for AI agent creation you cannot retrofit

Retrofitting safety onto a working but unsafe prototype commonly costs several times more than designing it in, and it usually means rebuilding structure rather than adding a layer. Guardrails belong in the main execution path from the first integration test. The layered model, before the model sees input, during execution, and after output, is covered in depth in our guide to building agents from MVP to launch.

What gets skipped more often is the quota layer. Agentic systems consume meaningfully more tokens per task than conversational tools, so a runaway loop becomes a billing problem before any alert fires.

  • Per-session token budgets and daily spend caps, set as runtime constants rather than edge-case safeguards.
  • Wall-clock timeouts per task, which stop a single runaway call rather than a whole session.
  • Loop step caps, which stop recursive reasoning consuming unbounded compute.
  • A kill switch, treated as a deployment requirement rather than a feature request.
Always gate these

Actions affecting external parties. Irreversible operations like record deletion or payment processing. Access to regulated data under frameworks such as HIPAA or SOC 2. Anything above a defined cost or risk threshold. Web browsing sessions and production data mutations belong in sandboxed environments regardless.

Monitoring that catches drift rather than describing it

The metrics that tell you the agent works are not the ones that tell you the model works. Goal accuracy, task completion rate, hallucination rate and cost per interaction form the core dashboard, with targets varying by use case rather than one number applying everywhere. Session-level signals like satisfaction and repeat usage catch a failure mode component metrics miss entirely: the agent technically completes the task and produces output nobody trusts enough to act on.

Capture a full trace per session, with every tool call emitting a span carrying name, inputs, outputs, timestamp and success status. That structure lets you find the misbehaving span, a wrong tool, a bad parameter, a timeout, without replaying everything. A critic model running over production logs gives semantic evaluation at scale, and flagging low-satisfaction sessions for manual annotation keeps that judge calibrated.

Treat latency and cost as budgets with hard gates, not as metrics you review afterwards.

Wall-clock timeouts, token budgets and maximum tool call counts work as fail conditions on traces rather than soft warnings. Drift detection closes the loop, surfacing regression as models update and data patterns shift, which they do in steps rather than gradually.

How ITDS Portugal applies these practices

Our AI specialist teams apply these best practices for AI agent creation inside compliance boundaries across finance, healthcare and banking. Scope definition happens in the first design session. Guardrail layers are built before the first integration test. Output schemas are agreed before any model is called. That sequencing is what avoids the retrofit.

In healthcare and banking the default is orchestrator-worker with explicit approval gates at any step touching patient records or transaction data, each worker holding only the credentials its task requires. Combined with proper logging, audit controls and policy enforcement, that supports HIPAA and SOC 2 obligations by design rather than by patch. More on how we work in AI, done by practitioners.

Frequently Asked Questions

Why do AI agents fail more often in production than in demos?

Usually because of design decisions made early on: scope that is too broad, vague instructions, undefined tool boundaries, and safety guardrails added late rather than built in from the start. Demos rarely stress-test these areas the way real usage does.

When should I move from a single agent to a multi-agent architecture?

Generally when tool count or task variety grows enough to create prompt overload or make security boundaries hard to manage. Starting with an orchestrator-worker pattern and only moving to peer-to-peer communication if resilience needs explicitly demand it tends to keep the system easier to audit.

What should always trigger a human approval gate?

Actions affecting external parties, irreversible operations like deletions or payments, access to regulated data, and decisions above a defined cost or risk threshold. These are generally worth treating as fixed requirements rather than optional safeguards.

Is it cheaper to add safety guardrails later, after launch?

Usually not. Retrofitting safety onto a working prototype tends to cost considerably more than designing it in from the start, partly because it often requires rebuilding parts of the agent's architecture rather than simply adding a layer on top.

What metrics actually show whether an agent is working well?

Goal accuracy, task completion rate, hallucination rate, and cost per interaction form a useful core dashboard, but session-level signals like user satisfaction and repeat usage often catch problems that these component metrics miss.

The best practices for AI agent creation, in order

Scope and architecture first. Instruction engineering second. Tool schema design third. Guardrails fourth. Observability from day one of production. Following that order is what removes the retrofitting problem, and retrofitting costs several times more than getting the order right.

The best practices for AI agent creation are also not a checklist you finish. Agents drift as models update and data shifts. The teams that handle it well are the ones with tracing, budget gates and evaluation loops already running before anything goes wrong. For deeper background, read our complete guide to AI agents in software development, or look at training options like our AI Masterclass at Porto Business School.

Want this framework applied to your project?

Book a call and we'll walk through your architecture and help you sequence the build so safety and observability are there from day one.

Get in touch