AI thatnot: is always right.knows when it’s wrong.
I’m Brejesh Balakrishnan, an AI engineer. I build AI agents and the evaluations that show whether they hold up. Right now that means governance and safety for agents on Amazon Bedrock, at Cloud202.
01 · The gateAgent GovBench
Obvious move 01 / 05Trust the guardrail.Measure it.
An agent reads an email with a hidden instruction to send invoices outside the company. With no guard, everything the agent proposes reaches the tools.
Result
94.7% · 0.4%A Gemini Flash guard blocked 94.7% of malicious tool calls and flagged 0.4% of benign ones. Model Armor at MEDIUM: 29.8% and 27.1%, on 999 synthetic scenarios with the agent in the loop.
Limit
Agent Gateway governance was not tested. I didn’t estimate a number for it.
Decision / what changed Score from the tool log and report blocking and over-blocking together.
01 · Act twoToolcall Guard
The guard that works costs a hosted model call every time. So I distilled it into a free local model.
Obvious move 02 / 05Trust the small model.Escalate when unsure.
- of attacks blocked
- 0.98
- false positives
- 0.02
- hosted cost
- USD 2.43 per 1,000
The local guard escalates 69% of calls. Same blocking rate, about 29% cheaper, on 981 held-out calls.
Drawn as 16 calls: 11 rise to Gemini, for the measured 69%.

- ✓ Verified
- × Conflict
- ? Unchecked
Interval · Otaku Oracle
A verified claim is only as true as its record.
Every claim gets a mark: verified, conflict or unchecked. Grounding lifted exact-match accuracy by 38.7 points (95% CI 31.7 to 46.0, 744 question pairs per model). The grounded arm holds the answer in context. This measures faithful reading of the record, not whether AniList is right.
Decision / what changed Mark each claim as verified, conflict or unchecked against its source.
02 · The boundaryCompliance Workbench
Someone asks a compliance assistant about a rule it was never given.
Obvious move 03 / 05Answer anyway.
Inside: 9 official texts
Outside
- HIPAA
- CCPA
- PCI DSS
- Licensed ISO and SOC 2 text
“When must a controller report a personal data breach under GDPR?”Covered example from the live app.
Answered · quoted
It can point to the text
The first retrieved provision answers the question.
“…the controller shall without undue delay and, where feasible, not later than 72 hours after having become aware of it, notify the personal data breach to the supervisory authority…”GDPR Art. 33(1) · in force since 2018-05-25
Now ask it about HIPAA.
- CoverageGDPR is in the corpus.
- RetrievalGDPR Art. 33(1) ranks first.
- ModelDrafts from the quoted provisions.1 model calls
- OutputQuoted, with its start date.
Declining is a feature here. I measured it in both directions.
Result
13 of 14Out-of-scope questions declined with no model call; 0 of 50 covered questions wrongly declined. The assistant retrieves from 3,946 provisions across 9 official texts.
Limit
One out-of-scope question still got an answer. Information from official texts, not legal advice.
Decision / what changed Check coverage and retrieval before asking the model to draft.
03 · The routerMozhi
மொழிമൊഴി
I think in Malayalam, speak Tamil and code in English. So I built an assistant for all three, and measured the part that picks the tool.
Obvious move 04 / 05Prompt the LLM.Train the router.
55% valid across the test set; acted on 40.7% of requests it should have declined.
Declined. “I can check the weather, set reminders and save notes.”
The assistant changes its form of address because “you” isn’t one word in either language. This meter illustrates the five levels.
Result
0.941 at 2.2 msAction macro-F1 for a fine-tuned 23 MB router (95% CI 0.916 to 0.962, n = 2,805), versus 0.490 at 3,333 ms for the original prompt. False actions fell from 40.7% to 0.8%.
Limit
Tamil and Malayalam missed the 0.85 target at 0.818 and 0.809. The wording still needs a native speaker’s review.
Decision / what changed Replace the prompt with a trained router and make declining an explicit action.
04 · The re-checkFeasible Day
Obvious move 05 / 05Trust the plan.Re-time it.
A day plan for Paris, the kind an LLM writes. It reads well. Two open LLMs produced a fully feasible day in 2 of 576 runs.
- 08:30to 10:00ConciergerieMuseum0 min for 0.1 km
- 10:00to 11:00Sainte-ChapelleAttraction
- 11:15to 11:55Tour de l’HorlogeAttraction5 min for 0.3 km
- 12:00to 13:00GuLiLunch
Illustrative plan written for this page. Checks use the planner’s data for this day (OpenStreetMap).
Then OSRM, an independent routing engine, re-timed every plan. 91 of 96 test days held.
94.8%The target, written before any planner code: 95%.
Result
94.8%91 of 96 test days held when OSRM, an independent routing engine, re-timed them. The pass mark written before the planner code was 95%.
Limit
94.8% is a miss. In 15 later cities, 71 of 120 plans held on the independent re-check.
Decision / what changed Keep the independent check and split out the metric that was measuring map coverage.
A near miss is still a miss.
Each line below is a pass mark I wrote down before the result existed. None of these cleared it.
Pass mark, written first
- Feasible Day94.8% · target 95%Plans still feasible on the independent re-check.
- Mozhi · Tamil0.818 · target 0.85Router macro-F1, first Tamil model.
- Mozhi · Malayalam0.809 · target 0.85Router macro-F1, first Malayalam model.
- Gambit Realms64.8% · target 85%Chess coach precision. The project met 3 of 5 targets.
I publish these next to the results that passed. They are what make the passes worth reading.
What you just watched
Five different failures. One loop.
Measure the original
LLM day plans were feasible in 2 of 576 runs.
Write the pass mark
95%, written before any planner code.
Run the comparison
12 routers, 3 seeds, bootstrap intervals.
Check independently
OSRM re-timed every plan.
Publish the miss
94.8% went out as a miss.
Decide what changes
Use the local guard as a screen; send uncertain calls to Gemini.
Tell me where your system breaks.
Which obvious move is it making?
To: brejesh.bala@gmail.com
Subject: Edge case: a model that answers anyway
Out-of-scope questions declined with no model call; 0 of 50 covered questions wrongly declined. The assistant retrieves from 3,946 provisions across 9 official texts.
Happy to talk about agent safety, evaluation or whatever you're building. Email is the fastest way in.