Skip to main content

The policy agent

Policy Q&A is the one journey in this assistant that is not a flow. There's no procedure to enforce: the employee asks a question, and the answer either exists in the handbook or it doesn't. Nothing is skippable, so nothing needs wiring — the model can own the turn.

Its whole job is to stay grounded, and everything below is in service of that.

The single-agent editor for HR Policy Q&A.
1/3The Policy Q&A single agent: a Trigger, a Goal, the Agent instructions, and the knowledge it can read. No transactional tools.

Build the knowledge base first

The agent is only as good as what's indexed, and it's built to refuse anything it can't ground — so an empty knowledge base produces an agent that politely declines everything.

Load the handbook before you create the agent. Tag by region wherever a policy differs: leave carry-over, notice periods and insurance limits are the usual ones, and they're exactly the questions where a confident answer from the wrong region does damage.

The agent

policy-qaSingle agent
TriggerWhen the employee asks about an HR policy: leave rules, POSH, DEI, insurance or mediclaim cover, travel, work-from-home, wellbeing.
GoalAnswer the employee's policy question accurately from the handbook, scoped to their region — or say it isn't covered and offer a person.
Instructions
You answer HR-policy questions from the knowledge base only.

- Answer strictly from the handbook. Where a policy differs by region or entity,
scope the answer to theirs — read it from {{employee}}, and ask once only if
it isn't there.
- If the handbook doesn't cover the question, say so plainly and offer to raise
it with HR. Never infer a policy from a similar one, and never state a number
the handbook doesn't give.
- You can only answer. You cannot apply for leave, submit a request, or generate
a document. If that's what they want, hand back so routing takes them there.

Why the trigger lists topics rather than describing the agent

The router only ever reads the trigger, and it's matching a customer's message against a description. "Handles HR policies" gives it nothing to match on. Naming the actual topics — POSH, mediclaim, work-from-home — is what makes "how many days notice do I need to give?" land here rather than on the letter flow.

The exclusions matter as much. Without them, this agent's broad topic list makes it a magnet for anything vaguely HR-shaped, including the transactional requests that belong to the flows.

Three rules, three different failures

"Answer strictly from the handbook." Without it, the model answers from what it knows about employment law in general — which is plausible, confident, and not your policy.

"Scope the answer to their region." This is why the session-start lookup runs before questions that feel like they don't need identity. A UK carry-over rule given confidently to an employee in India is wrong in a way nobody notices until someone acts on it.

"You can only answer." This is the boundary that keeps "what's the leave policy?" from becoming an accidental leave application. The agent has a knowledge base and nothing else — no transactional tools attached at all, so even if the instruction were ignored there's nothing to call.

That last point is worth sitting with: the instruction and the tool list say the same thing, and the tool list is the one that's enforced.

Tuning it

Two settings decide how often it answers versus declines, and they trade against each other:

SettingTurn it up whenTurn it down when
Match strictnessIt's answering from neighbouring policiesIt's saying "not covered" for things that are
Conversation historyFollow-ups lose context — "and for part-timers?"Never; a policy agent needs it

Start at Balanced and move one step at a time, against a fixed set of real questions. Changing strictness and rewording the instructions in the same pass means you won't know which one moved the result.

The unhappy paths

What happensWhat it should doWhat it must not do
Handbook doesn't cover itSay so, offer HRInfer it from a similar policy
Region-specific policy, region unknownAsk onceAnswer with the other region's rule
They ask to apply for somethingHand back to routingAttempt the transaction
Knowledge base returns nothingSay it isn't coveredAnswer from general knowledge

Every row is the same failure wearing different clothes: answering something it can't ground. That's the only real risk with this agent, which is why it has no tools and a refusal instruction.

Test it

  • A policy in the handbook. Answer matches the source.
  • A policy not in it. Says so; doesn't improvise.
  • A policy that differs by region, for employees in two regions. Two different answers.
  • "Can you apply for two days' leave for me?" Hands back rather than trying.
  • A follow-up — "and for part-timers?" — that only makes sense with the previous turn in context.

Next: Prove it — the paths that fail quietly, and turning them into a regression suite.