AI Product Case Study: Sentinel Autonomous AML Adjudication Agent

Live Demo: https://sentinel-pi-steel.vercel.app/ (Note: May be temporarily unavailable due to API limits)

Slide Deck

Built At Tartan Hacks 2026. Sentinel is an AI-powered “Compliance Co-Pilot” that automates the adverse media screening process for financial institutions.

The Problem It Solves

The Solution: A Deterministic Reasoning Engine

Unlike basic LLM wrappers, Sentinel acts as an autonomous Adjudication Engine. It ingests customer profiles from Capital One’s Nessie API, scans the live web for negative news using Model Context Protocol (MCP) tools, and autonomously adjudicates whether the subject in the news is actually the bank’s client using strict negative constraint logic.

Technical Agentic Architecture

graph TD UI[Next.js Workbench UI] API[FastAPI Gateway] Engine{Dedalus Agent Runner} CapitalOne[(Capital One Nessie API)] Exa[Exa Search MCP] LLM[Anthropic LLM] SSE[SSE Handler] UI -- "1. Start Adjudication" --> API API -- "2. Initiate Workflow" --> Engine Engine <-->|"3. Retrieve Client Profile"| CapitalOne Engine <-->|"4. Scrape Live Web"| Exa Engine <-->|"5. Apply Constraint Logic"| LLM Engine -- "6. Stream Monologue" --> SSE SSE -- "7. Real-Time Updates" --> UI Engine -- "8. Structured JSON Verdict & SAR" --> UI style Engine fill:#f9d0c4,stroke:#333,stroke-width:2px style CapitalOne fill:#bfe6ff,stroke:#333 style Exa fill:#bfe6ff,stroke:#333 style LLM fill:#bfe6ff,stroke:#333 style UI fill:#e1f7d5,stroke:#333 style API fill:#e1f7d5,stroke:#333

The application is built around a true agentic workflow where various modular systems communicate to achieve an autonomous adjudication vertex. The core intelligence is driven by a single, multi-phase agent orchestrated by the Dedalus SDK, rather than a complex multi-agent system.

The 3-Phase Single-Agent Workflow

By examining the SYSTEM_PROMPT running within the FastAPI backend, we designed the agent to transition sequentially through three distinct personas within a single API call:

  1. Phase 1: The Researcher (High Recall): The agent begins by using the Capital One Customer Information API (Nessie) to retrieve the client’s detailed profile (Age, Location, Account History). It then calls the Exa Web Search MCP to query the live internet for adverse media. Crucially, the prompt constrains the search here to only use the client’s name and risk keywords (avoiding overly specific queries that might drop real news).
  2. Phase 2: The Analyst (The Filter): Armed with full article contents scraped by Exa, the agent shifts from recalling data to filtering it. It applies the “Negative Constraint Logic”: it assumes the subject in the news is a different person until proven otherwise. If it detects a variance—such as a 5-year age gap or a location mismatch between the Nessie profile and the news article—it aggressively throws the result out. It also enforces a “Zero-Result Guardrail,” forcing a manual review if no data is found, preventing the agent from falsely clearing a user based on internal model hallucination.
  3. Phase 3: The Judge (The Verdict): Finally, the agent evaluates the remaining filtered data against a strict scoring rubric to arrive at a definitive JSON Risk Verdict (Escalate vs. Dismiss), automatically drafting a highly-structured Suspicious Activity Report (SAR) with required URL citations.

Why a Single-Agent Architecture?

We deliberately chose a Single-Agent, Multi-Phase approach over a Multi-Agent system (e.g., separate LLMs acting as Researcher, Analyst, and Judge) for three core reasons:

Real-Time Streaming (SSE) to the UI

As this 3-Phase engine executes, it streams its “inner monologue” (tool calls, search results, and reasoning) through a Server-Sent Events (SSE) Handler back to the Next.js Workbench UI. This transparency allows the human analyst to see exactly how the AI is reaching its conclusion in real time, ultimately delivering a ready-to-file SAR framework updating the React State.