Ron Shitrit
All work

2026

Vera: RAG & Multi‑Agent Assistant

A finance assistant that answers only from company documents, cites every answer, and refuses rather than guesses.

View the code on GitHub
Terminal recording of Vera giving a cited answer, refusing a forecast question and escalating a question about an unclosed period.

Some context

In finance, a wrong number that sounds confident is worse than no answer. Vera is a prototype assistant for a made-up company, with made-up documents, built around that idea. It answers budget and variance questions from closed, published documents, always with its source. Ask for a forecast or a competitor's margin and it refuses. Ask about a month that hasn't closed and it escalates.

How it works

  1. Every question goes to the intake agent first, which decides if it's in scope.
  2. Out-of-scope questions are refused or escalated right there, before the document store is ever searched.
  3. The analyst agent retrieves documents with vector search in ChromaDB, plus a keyword rerank.
  4. The drafter agent writes the answer using only the retrieved text.
  5. The reviewer agent checks for missing citations and forward-looking claims, and can send a flawed draft back for one retry.

Decisions I made

The structure enforces the rule

"Never guess" isn't only a line in a prompt. On the refused paths the search never runs, so there's nothing to guess from.

Tested like software

A set of 16 questions with known answers screens every run for invented numbers, missing citations, forward-looking claims and wrong departments. It runs in GitHub Actions on every push, and all 16 pass.

A false alarm worth fixing

The reviewer's first version flagged normal finance language, like "capital project requests", as a prediction. I rewrote its checks to look for what a leaked forecast actually sounds like.

Where it stands

The pipeline and evals work. Right now the agents are rule-based Python and answers are composed directly from retrieved text, with no live model call. The model routing is designed but not connected yet: a fast tier for intake and retrieval, and a stronger one for drafting and review.

Python · RAG · ChromaDB · GitHub Actions