RAG agents for customer service

An AI agent that sounds human and never invents.

We build and improve RAG agents for support and internal knowledge. Every answer comes from your own content, cites its source, and speaks in your customer's own register.

The engine underneath is state of the art: vector, lexical and knowledge graph, three retrieval paths converging on a single ranking, with first-tier embedding and rerank models.

How an answer is built

  1. 01 Permissions
  2. 02 Search your content
  3. 03 One ranking
  4. 04 Related documents
  5. 05 Best passages
  6. 06 Cited answer
  • Digitro
  • Essilor
  • ConnectMix
  • Unifique
  • BrasilCard
  • Societario Digital

How to engage

We build your agent, or we fix the one you already run.

The engine is the same in both, and it is the state of the art in retrieval: vector and lexical fused by weighted RRF, plus a knowledge graph and first-tier reranking. What changes is the starting point, one begins with your documents and the other with the agent that already answers wrong.

  • Build

    Your agent, built end to end

    For a team that has decided to put an agent in front of customers and wants it engineered, not assembled from a tutorial.

    Starts from
    Your documents and the questions they have to answer
    Runs in
    Your cloud or your own hardware
    You get
    Source, tests and runbooks in your repository
    Scope
    Fixed, in writing, before any code

    What gets built

    • The agent itself: on your channels, answering from your own documents, with the source attached to every claim.
    • The search behind it: exact words and meaning searched together, so an error code finds the right page and so does a vague question.
    • The tests that keep it honest: your real questions, a baseline next to the code, and a gate that blocks a release when quality drops.
  • Consulting

    The agent you already run, corrected

    For a pilot that answers but answers wrong, or a bill that grew faster than the results. Changes arrive as pull requests your team reviews.

    Starts from
    Your agent and the questions it gets wrong
    Measured
    Search and answer scored separately
    You get
    Pull requests, plus the tests that prove the gain
    Scope
    Fixed, in writing, before any code

    What usually changes

    • The search first. Most wrong answers are the wrong passage retrieved, not a model that made something up.
    • The voice. Register, jargon and answer length tuned to your customers instead of a default assistant tone.
    • The bill. Caching that actually hits, a smaller model on the customer-facing answer, and the routine steps moved into ordinary code.

What we build

What the agent does, and what holds it up.

Four capabilities, each one running in production today. If a capability has no mechanism behind it, it is not on this list.

A support agent on your customer messaging channel, and an internal chat over the same content. The answer your customer reads runs on a small, fast model on purpose, and the routine steps run as ordinary code that costs nothing per message.

  • One model call per turn, measured rather than assumed
  • Every claim carries its source, or it never reaches the customer
  • Voice notes transcribed, and silence never sent to a paid model
  • A person confirms anything the agent proposes to open or change

Humanized communication

Not sounding like a bot is engineering, not luck.

40% of Brazilian consumers say they fully prefer human interaction (CX Trends 2026). Most agents use one brand voice on everyone; ours reads the register of each message and answers in kind.

  1. Mirror behavior

    The agent matches the formality, sentence length and vocabulary of whoever is writing to it. Short and blunt gets short and blunt; formal gets formal. Research calls this linguistic style matching, studied in written conversation since Niederhoffer and Pennebaker's 2002 paper.

  2. Your customer's words

    If the customer calls it a receipt and your system calls it a settlement document, the agent answers in their word and maps it to yours behind the scenes. Internal jargon stays internal.

  3. Calibrated, and disclosed

    Copying a customer too closely reads as unstable rather than personal, so the range is bounded: the register moves, the identity does not. And the customer is told they are talking to an agent, never left to work it out.

  4. It says it does not know

    When the evidence is thin, the honest output is no answer. A claim with no source fails validation before a customer sees it, and a claim citing something the search never returned is caught and counted.

  5. It hands over to a person

    The agent can propose a ticket. It never opens one. A person confirms, the number the customer sees is the real one, and every refusal is recorded with a reason.

  6. One voice, versioned

    The instruction set that defines how the agent speaks is a versioned artifact under a production label, pinned into every trace. When the voice changes, you can see which version said what.

In production

Latest systems delivered

The agent that answers on the customer channel, the retrieval engine it runs on, the curation that governs what enters the index, and the assistant that answers and drafts over a private legal corpus. This is the set we deliver, as consulting or as a build.

Systems

A first-line agent that answers customers on a messaging channel from the company's own knowledge base, plus an internal chat over the same base for the team. Every claim leaves carrying the id of the passage behind it, and a deterministic check compares each id against what the search returned. When one does not match, the violation is recorded.

  • Debounce, burst grouping and per-conversation serialization resolved in one row-reservation query: a customer sends five messages in a row and gets one answer, not five.
  • The turn is committed before it is sent, and the first statement in that transaction checks whether a person has just taken the conversation over, so nobody gets a bot reply after an agent steps in.
  • Two-phase escalation: the agent proposes the ticket, and opening it passes only when the server finds that earlier proposal in the log, or when the customer asked for a person outright.
  • support agent
  • cite-then-write
  • durable queue in Postgres
  • two-phase escalation
  • internal chat over SSE
  • pinned prompt cache

Security and compliance

What your security team will ask, already answered

Data residency, prompt injection, training on your content, permissions, LGPD and exit terms. Every answer names the architecture behind it.

  • Your data does not leave your perimeter

    Delivery inside your own tenant or on premises is the default, not an upgrade. Search, indexing and the document map run in one database you control. For a buyer whose data cannot leave the country, that is an architecture, not a promise.

  • Retrieved content is data, never instructions

    Injection attempts are rejected before any search or paid model call. Retrieved passages and uploaded files enter the prompt fenced as inert content, and image type is read from the file itself, not from what it claims to be. OWASP catalogs this as LLM01.

  • No training on your data, written into the contract

    Content export to third-party tooling is off by default, and even enabled it passes a redaction step with the user identifier pseudonymised at the boundary. The architectural reason it holds is that there is nowhere for the content to go.

  • Permission-aware search, stated precisely

    Search accepts an access-tag filter and, when one is present, applies it to both legs and re-checks it per related document, discarding any whose tags cannot be resolved. Wiring it to your own identity provider is engagement work, not a switch we flip.

  • The regulation, dated correctly

    LGPD governs this today and no Brazilian AI statute has replaced it: PL 2338 is still a bill. The ANPD standard contractual clauses have been mandatory since 23 August 2025, though transfers to the EU can now rely on the ANPD adequacy decision of January 2026. In Europe, the Article 50 transparency duties have applied since 2 August 2026, and the Digital Omnibus, Regulation (EU) 2026/1744, pushed the high-risk obligations to 2027 and 2028.

  • Exit before entry

    The index is exportable, the test set is yours and lives in your repository, the quality gate runs in your CI, and the ingestion contract is documented. A supplier who cannot be replaced is a risk.

Straight answers

Frequently asked questions

The questions that actually come up on the first call.

Almost always because the search handed the model the wrong passages, not because it hallucinated. What the market calls hallucination is, in most cases, wrong retrieval. Three different failures look identical from outside: the right passage was never retrieved, it was retrieved and ignored, or nothing relevant existed and the agent answered anyway. Measuring them separately is the first thing we do, and usually two of the three are fine.

Next step

One scoped conversation

You reach the engineers who do the work. If neither engagement is the right first step, expect to be told that on the call.

Useful to bring

  1. The questions your agent gets wrong, in your users' own words
  2. Roughly what your content is: how much, which formats, how often it changes
  3. Who owns the decision to grant data access

Send a message