Rules It Reasons Under
Eight absolute data-integrity rules govern every response: every number traces to a tool result, uncertainty is disclosed, no confidence bluffing, tool errors are reported rather than papered over.
FINOPS CONSULTING
CASE STUDY
An AI analyst that refuses to make up numbers.
ARIA is a FinOps agent that answers leadership's cloud-cost questions in plain English: spend, budgets, efficiency, vendor costs. It holds no data of its own. Every answer is assembled live from two production FinOps applications, and every number can be traced to its source.
SAMPLE EXCHANGE · FIGURES ILLUSTRATIVE
The data existed. Two production apps I'd built already tracked every dollar of multicloud spend and every inefficient workload. But answering a leadership question still meant knowing which app, which page, and which filter. And the obvious fix, "just put an LLM on it," has a famous failure mode: language models confidently invent financial figures. An analyst you can't trust is worse than no analyst. So the engineering problem wasn't making an AI answer cost questions; it was making one that can't answer with a number it didn't retrieve.
ARIA is an agent loop around Claude, running on Vertex AI with workload identity: no API keys exist, anywhere. It orchestrates the two upstream apps through 34 read-only tools, executed concurrently, streaming its progress to the user in real time so they watch it fetch before they read its answer.
Web chat or CLI, streaming responses
Claude on Vertex AI, extended thinking, up to 10 tool rounds
Read-only, concurrent, every failure handled
Multicloud reporting · infrastructure optimization
Every tool returns server-computed totals alongside raw records. The agent reads the computed number; it is forbidden from summing rows itself. One question, one number, one source. That single design decision eliminates the whole class of "the AI added it up wrong" failures.
Eight absolute data-integrity rules govern every response: every number traces to a tool result, uncertainty is disclosed, no confidence bluffing, tool errors are reported rather than papered over.
Before a response reaches the user, the backend checks it: if it contains dollar amounts but no tool succeeded, or none was called, the answer is replaced with an honest error. Fabrication is caught even if the model slips.
Every tool failure returns an explicit instruction to the model: stop, tell the user this source is unavailable, do not invent numbers. Errors steer the agent instead of silently disappearing.
Tool calls stream live as pills in the chat: the user sees "fetching budget variance" before the answer arrives. Trust through visibility.
A lookup gets one sentence and a drill-down link into the source app. A comparison gets a table. A briefing gets the full breakdown. Depth follows the user's words, never the model's enthusiasm.
Full audit log: who asked, what was asked, which tools ran, token counts, response time. Exportable. Plus per-response feedback and one-click CSV, Excel, and PDF export.
"I'm sorry Dave, I'm afraid I can't do that."
ARIA, declining an off-topic question — one of eleven rotating refusals, because guardrails don't have to be boring