AI agents that actually work — a build checklist for 2026
Most 'AI agent' deployments hallucinate, escalate too much, or cost $2/conversation. Here are the guardrails that separate a real production agent from a demo.
Every SMB has been sold on an AI receptionist by now. Very few of them actually work. The ones we get called in to rescue share the same four problems: they hallucinate, they escalate every third message, they cost more per conversation than a human, and nobody can explain what prompt is in production.
Here’s the checklist we run on every AI-agent build we ship.
1. Ground on a real knowledge base
If the agent isn’t grounded on your actual FAQ, pricing, hours, and policies, it will invent them. Retrieval-augmented generation (RAG) sounds fancy; in practice it’s: “when the user asks a question, first fetch the top 3 most relevant chunks from your knowledge base, then include them in the prompt to the model, then answer only from those chunks”. Cloudflare Vectorize on the free tier handles this for most SMBs; embedding cost with Workers AI is negligible.
2. Give it a fixed escalation policy
The agent needs to know exactly when to hand off to a human. Our default:
- Confidence below 60% → escalate immediately.
- User explicitly asks for a human → escalate immediately.
- Third exchange without resolution → escalate.
- Any question about billing, refunds, cancellations, legal → escalate.
The escalation goes into GHL as a task assigned to your owner, with the full transcript attached.
3. Cap the cost
The model choice matters more than the prompt engineering. We default to Cloudflare Workers AI (Llama 3.1 Instruct Fast, free tier) for the concierge tier; GPT-4o-mini for reasoning-heavy tasks; Claude Sonnet only when the context genuinely needs 200k tokens. For a small-agency SMB, target: <$0.10 per conversation, publish the cost dashboard on day one.
4. Version the prompt
The prompt is code. It lives in git, gets code-reviewed, has a rollback path. When the agent starts behaving weirdly at 3pm on a Tuesday, you need to know what changed. Every prompt we ship has a version tag; the response includes the version so the operator can see which prompt produced it.
5. Evaluate against a fixed test set
Before any prompt change ships, it runs against a fixed set of 50 real customer questions from your history, and produces a diff against the previous version’s answers. If more than 5% of answers change unexpectedly, we hold the release.
6. Guardrail against prompt injection
Users will try to jailbreak your agent. Standard guardrails: strip the user message of anything that looks like instructions, refuse tool-calls that weren’t in the original scope, refuse to disclose the system prompt, refuse to change persona. These are all one-liners; the fact that most agents don’t have them is a red flag.
What we ship
- Chat agent: Llama 3.1 (Workers AI, free) or GPT-4o-mini. RAG on your knowledge base. GHL escalation.
- Voice agent: Vapi or Retell, with the same RAG + escalation + cost caps.
- Cost + latency dashboard: real numbers, real-time.
- Written policy on failure modes: what happens if the model is unavailable, what happens if the KB is stale, what happens if a user tries to jailbreak.
From $697 for a single chat agent, $1,497 for chat + voice, $2,997 for multi-agent orchestration. Full detail at /services/ai-agents.
The AI concierge on this very site is a working demo. Try it — the floating button in the bottom-right of every page.