First-draft replies

The value here is not the writing, it is the checking. Any model can produce a plausible support reply. The agent worth having is the one that refuses to hand you a draft that promises a refund, invents a date, or forgets to say what happens next.

The job on one screen

Runs whenA ticket lands in a queue with a known intent.
ReadsThe ticket, the customer's plan and history, and the help centre articles the retriever found.
DecidesWhat to say, what it is not allowed to promise, and whether the draft is good enough to show a person.
ProducesA draft reply in the ticket, plus the articles it used so the agent can check them.
Stops whenDraft written and all checks passed. Sending is always a human click.
Tools it needsKnowledge base retrieval, ticketing API (draft only), customer record lookup.
Autonomy to start atApprove. It does the work and stops before the irreversible step.

Optional: load a real model

Run it

The checks the draft has to pass

The model writes, then code checks. A draft that fails any check never reaches the send step, and the failure is shown rather than silently patched.

CheckWhat it protects against
No unbacked money promiseAn agent that says the word refunded before finance has approved it creates a chargeback and a complaint.
Says what happens nextA reply with no next step generates a second ticket from the same person, which doubles the cost of the first one.
Under 130 wordsLong support replies get skimmed, and the important sentence is the one that gets skipped.
No invented specific dateModels produce confident dates from nothing. If the notes had no date, the draft must not have one either.

Where this one goes wrong

Confident invention

The model fills a gap with a plausible policy that does not exist. Ground every claim in a retrieved article, and check the draft for claims that no article supports.

Tone matching gone wrong

Mirroring an angry customer produces an angry reply. Fix the tone in the system prompt, not in the model's mood.

The stale article

A correct answer from a help page nobody updated since the pricing change. Retrieval quality is the ceiling on reply quality.

How you would know it is working

MeasureWhy that one
Edit distance before sendHow much humans change the draft. Falling edit distance is the only honest sign it is getting better.
Reopen rateReplies that produced a second ticket. A fast wrong answer is worse than a slow right one.
Check failure rateHow often the agent held its own draft back. If this is zero, your checks are decorative.

Earning more rope

AssistDraft into a private note that only the agent sees. Compare against what the human actually sent.
ApproveDraft into the reply box, human edits and sends. Most teams should stay here indefinitely.
AutoAuto-send only for a narrow, boring intent list with a rollback, such as password reset instructions, and never for anything involving money.
The rule that keeps this safe. Drafting is reversible, sending is not. Keep the human on the irreversible half and you can be aggressive about everything else.

Related: Ticket triage · Guardrails · Knowledge base gaps · all agent jobs · Agent Lab home

Free from AI School - no signup, everything runs in your browser.