Case study · Controlled-response AI assistant
AI that knows when not to answer.
ARIA is an AI-assisted support platform designed to answer research inquiries from approved information sources, routing anything outside its scope to a human rather than guessing, and automatically creating tracked tickets for follow-up.
Research administration offices field a constant stream of inquiries, most of them answerable from existing policies, guidelines, and records. Answering them by hand consumes staff time; leaving them unanswered erodes trust in the office.
A generic chatbot is the wrong fix for an institutional setting. When an AI assistant speaks for a university office, a confidently wrong answer is worse than no answer at all.
ARIA is built on a controlled-response architecture with three rules.
Approved sources only
The assistant answers from approved information sources via retrieval-augmented generation, not from open-ended model knowledge.
Human handoff
Anything outside the assistant's scope routes to a human rather than being guessed at.
Tracked follow-up
Inquiries that need follow-up automatically become tracked tickets, so nothing disappears into a chat log.
The assistant is powered by Claude. The hard part wasn't the model; it was the refusal behaviour. The same responsible-AI stance runs through all of my AI work: AI should reduce operational risk, not add it.
For engineers and technical recruiters: how ARIA is actually built, as of 2026. There are two surfaces.
- Public assistant. Runs on the office's Next.js 16 site with the Anthropic SDK and Claude Haiku 4.5, streamed, with a low temperature and a hard cap on output. Only the last six messages are sent, each trimmed, and requests are rate-limited per IP.
- Retrieval. Keyword-scored retrieval over the office's own content: one chunk per FAQ, downloadable file and page, scored by length-normalised term frequency with a title boost, top six, each windowed around the query. No embeddings or vector database, on purpose: the corpus is small, fully controlled, and the sensitive fields upstream are encrypted.
- Grounding. The system prompt is a cached facts block plus a per-query context block, and the model may answer only from those. Links in the reply are checked against an allowlist built from the facts and the retrieved chunks; anything else is stripped while streaming.
- Handoff. When the assistant cannot answer, or the visitor asks for a person, the reply ends with a marker that opens a ticket form. The ticket is created in SURI's help desk with a year-numbered reference, the transcript attached, and an acknowledgement email carrying a reply token. If SURI is unreachable, the ticket falls back to email with a local reference.
- Privacy. Conversations live only in the visitor's browser session. Both the public and the staff AI features sit behind environment flags that default to off.
- Staff assistant inside SURI. A Laravel service on Claude Sonnet 4.6 with seven read-only tools (worklist, documents, SURI records, analytics, bibliometrics, ranking, email drafting) that return totals, breakdowns and samples of at most 15 rows. Each tool maps to a permission; tools the user cannot run are not offered to the model at all, and the tool loop is capped. Session context tells the model who is asking, where they are in the app and the office's current counts.
- Audit and retention. One audit row per turn stores hashes and lengths of prompt and reply rather than text, tokens, latency, tool calls, referenced records and a prompt-injection heuristic flag. Verbatim capture requires the feature on, per-turn consent and an identified user, and is purged after 30 days; rows are kept two years. Reading the log is permission-gated and itself audited. Retention and purge run as scheduled commands.
ARIA operates in the same research-platform ecosystem as SURI, the research information system at UP Manila. Alongside both, TRACE is the research-team workspace being built on SURI's API and records, so the office, its assistant and its research teams work from one set of data.
Written by Ruther Bergonia, Software Systems Architect & Senior Full-Stack Engineer, Metro Manila. I designed ARIA's controlled-response architecture. More about me.
Related case studies
Start here
Have a system worth building properly?
Tell me what you're building and what's getting in the way. I'll come back with an honest read on whether I'm the right fit, and how I'd approach it. Replies within one business day.