Skip to main content
Techdome
All Insights/Studio Architecture

Building AI agents that hold up in production: what we learned from voice, interviews and GraphRAG

Narrow jobs, grounded answers, deterministic scoring, a latency budget, full logs and a human handoff: the patterns behind our voice agents, AI interviewer and GraphRAG platform.

Rahul Joshi
Rahul JoshiChief Executive Officer
September 20267 min read
Verified Architecture
3D illustration of an AI agent connected to calendar, database and phone tools, with a sound wave and a small knowledge graph

A demo agent answers a question. A production agent does a job, in front of real customers, on a budget of seconds, and has to be right often enough that people trust it. The gap between those two is mostly engineering, not model choice.

We have shipped three kinds of AI agent: Aether Voice, a voice agent that qualifies leads on live calls; JustInterview.ai, an AI interviewer that adapts as a candidate answers; and a GraphRAG conversational platform for a US venture. These are the patterns that held across all three.

Pattern 1: give each agent a narrow job and a small set of tools

An agent with one clear job and a few well-defined tools is easier to test and cheaper to run than a general assistant. Aether Voice calls, answers, qualifies and routes high-intent leads, and its tools are specific: it can book meetings and check inventory in a CRM through function calling while the call is still going. The tool list is the agent's real capability.

Pattern 2: ground the answer in your data, not the model's memory

An LLM answers from what it learned in training, which is how you get a confident wrong answer, known as a hallucination. RAG fixes the most common case by retrieving your own documents first and answering from them.

When the answer depends on relationships between facts, plain vector search starts to miss. For the US conversational AI venture, we built a GraphRAG pipeline that combines vector similarity with knowledge graph traversal, using Apache AGE and PostgreSQL with pgvector. It is a live production platform, not a demo. See the case study.

Pattern 3: keep the deterministic parts deterministic

Do not ask a model to do what a rule can do. In JustInterview.ai, the interviewer is adaptive, following up on a candidate's answer in real time, but the outcome is scored against a standardised rubric, and code runs in a sandboxed in-browser environment. The model handles the conversation; the scoring and execution stay predictable, which is what makes the result fair to compare.

Pattern 4: design to a latency budget

Voice is the strictest case. People notice a pause, so each stage, from speech recognition to the model to speech output, has a share of a small budget. Aether Voice handles natural interruptions mid-sentence and connects through SIP trunks, Twilio, Plivo and Vonage.

In the GraphRAG platform, the context synthesis step that feeds real-time audio generation runs in under 300 milliseconds. A budget like that decides your design: what you cache, what you precompute, and which calls run in parallel.

Pattern 5: log everything an agent does

When an agent misbehaves you need to see what it heard, what it retrieved, which tool it called and what came back. Aether Voice keeps audio logs and automated transcription. JustInterview.ai builds a candidate dossier with code replay, audio transcripts and integrity checks. The same records let you improve the agent over time.

Pattern 6: plan the handoff to a person

Agents should know when to stop. Aether Voice qualifies and routes leads, and JustInterview.ai produces a scored dossier for the hiring team to review. Decide in advance which cases go to a human, and make the handoff carry the full context so nobody asks the customer to repeat themselves.

Pattern 7: orchestrate with tools you can operate

The GraphRAG platform is orchestrated through n8n workflow triggers with streaming WebSockets, with a background pipeline that parses multimodal user documents into graph nodes. A workflow engine your team can inspect makes the pipeline observable. Our companion post covers running n8n in production.

One agent or many?

A single agent with good tools is the right starting point. Split into several agents only when roles genuinely differ, such as one that retrieves, one that drafts and one that checks, and when you can test each separately. More agents add more handoffs, and every handoff is another place for context to be lost.

How this looks at Techdome

Our AI agents topic page collects the agent work, and the automation practice builds and runs agents and the pipelines around them. The fixed-scope sprints in our Blueprint suit a first agent: the GraphRAG platform went from blank repository to production in two to three weeks.

Takeaways

  • Give each agent one job and a short list of tools it can call.
  • Ground answers in your own data, and reach for GraphRAG when relationships matter.
  • Keep scoring, routing and rules in code, and keep the model for language.
  • Set a latency budget early, log every step, and plan the handoff to a person.

Have a project like this? Talk to our engineers.

FAQ

Questions readers ask

What is the difference between an AI agent and a chatbot?

A chatbot answers questions. An agent takes actions toward a goal, such as booking a meeting or updating a record, by calling tools, and it usually works over several steps.

When do I need multiple agents?

When distinct roles need separate tests and permissions, for example retrieving, drafting and checking. For most first projects, one agent with good tools is simpler and easier to debug.

What is the difference between RAG and GraphRAG?

RAG retrieves relevant passages by similarity and answers from them. GraphRAG adds a knowledge graph, so the system can also follow relationships between facts. It costs more to build, and it pays off when answers depend on connections.

How do you keep a voice agent fast?

Set a latency budget for each stage, from speech recognition to the model to speech output, then cache and precompute what you can. Handle interruptions mid-sentence and keep the retrieval step short.

How do you reduce hallucinations?

Ground answers in retrieved documents, constrain the agent to a small set of tools, move rules and calculations into code, and log outputs so errors are visible and fixable.

Can an agent safely act on my CRM?

Yes, if its tools are narrow and its permissions are scoped. Give it only the actions the job needs, validate arguments before they run, and log every call.

Can Techdome build an agent for us?

Yes. See Aether Voice for voice, our AI agents topic, and the automation practice for agents and pipelines built to your workflow.

Continue reading

More foundry teardowns

View all
+
+
+
+
Healthcare AIOct 28, 2026·2 min read

Asynchronous vs synchronous telehealth: which to build first

Asynchronous telehealth means a clinician reviews a prepared case; synchronous means a live visit. How they differ, what each changes in the build, and why most platforms end up with both.

Techdome Engineering
Techdome EngineeringEngineering Team
+
+
+
+
Healthcare AIOct 28, 2026·4 min read

Telehealth compliance checklist for the US and UK

An engineering checklist for a telehealth platform serving US and UK patients: contracts, access and audit, clinic isolation, licensing by jurisdiction, prescribing, signatures, payments and incidents.

Techdome Engineering
Techdome EngineeringEngineering Team
+
+
+
+
Healthcare AIOct 28, 2026·3 min read

How to build a GLP-1 telehealth platform

A builder's guide to a GLP-1 telehealth platform: compliance, multi-tenant clinics, eligibility checks, licensing by jurisdiction, chart review, pharmacy routing, cold chain and billing.

Techdome Engineering
Techdome EngineeringEngineering Team
+
+
+
+
Healthcare AIOct 28, 2026·2 min read

Telehealth metrics and KPIs: the numbers that matter

The 15 telehealth metrics an operator should track, from intake completion to time to physician decision and cold-chain excursions, with real figures from a US and UK GLP-1 platform.

Techdome Engineering
Techdome EngineeringEngineering Team
A technical illustration comparing queued task delivery with retained event streaming.
System DesignOct 26, 2026·3 min read

Message queues vs event streams: SQS, RabbitMQ, Kafka

Use SQS or RabbitMQ for work distribution; use Kafka when you need retained event logs, replay, fan-out, and per-key ordering.

Techdome Engineering
Techdome EngineeringEngineering Team
Illustration of webhook retry flow using a stable idempotency key, de-duplication store, and dead-letter queue.
System DesignOct 26, 2026·3 min read

Webhook retries and idempotency keys, together

Webhook retries need stable idempotency keys so repeated deliveries are safe, deduplicated, observable, and recoverable through DLQs.

Techdome Engineering
Techdome EngineeringEngineering Team
Blueprint-style illustration of a server rack behind a layered firewall shield, with a PHP version badge being upgraded
Engineering PracticeOct 22, 2026·6 min read

PHP2Shell: how to check and protect your PHP site

PHP2Shell (CVE-2026-109618 and CVE-2026-109619): how to check your PHP version, patch it or shield it with a WAF, with two real cases.

Techdome Engineering
Techdome EngineeringEngineering Team
Computer screen filled with code
Engineering Practice8 min read

API testing explained: types, what to automate, and tools

API testing checks an interface directly, below the UI. Learn the five main types, how mocking and test data fit in, and which tests to automate first.

Techdome Engineering
Techdome EngineeringEngineering Team
Computer screen with data
n8n Automation7 min read

"Automating mortgage back-office work with n8n"

Mortgage back offices drown in documents. A staged n8n workflow can handle intake, classification, extraction and validation, and route exceptions to people with a full audit trail.

Techdome Engineering
Techdome EngineeringEngineering Team
Interface illustration of a browser window with three gauge dials, a heavy block swapped for a light placeholder, and images compressed
Engineering PracticeSeptember 2026·6 min read

Making a Next.js site fast: the fixes that moved Core Web Vitals on techdome.io

Hero images that wait for JavaScript, an embedded scheduler that blocked the page, oversized images and bloated page data: the real fixes behind our site's performance work, and a checklist for yours.

Rahul Joshi
Rahul JoshiChief Executive Officer
Pipeline illustration of an automation workflow with a queue feeding two workers, a retry loop, an alert bell and a review tray
n8n AutomationAugust 2026·7 min read

Production n8n: the patterns that keep automation from failing quietly

Idempotent triggers, retries with limits, failure alerts, human review and workflows kept in Git: the patterns we use to run n8n automation in production, with the builds they come from.

Rahul Joshi
Rahul JoshiChief Executive Officer
Isometric illustration of one platform split into separate clinic compartments, with a shield, an access gate and an audit log
Healthcare AIAugust 2026·8 min read

Engineering HIPAA-ready telehealth platforms: the decisions we make first

How tenant isolation, access control, audit logging, identity and vendor agreements shape a HIPAA-ready telehealth system, with what each looked like on three clinical platforms we built.

Rahul Joshi
Rahul JoshiChief Executive Officer
Blueprint-style illustration of five phases from a drawing board to a launched product, rising along a path
Studio ArchitectureAugust 2026·7 min read

The Techdome Blueprint: how we take a product from a blank repo to production in eight weeks

The five steps of our Blueprint, what each one delivers, how fixed-scope sprints and engineering pods are priced, and how recent builds ran from kickoff to production.

Rahul Joshi
Rahul JoshiChief Executive Officer