Layer 4 — Agentic AI: AI Assistant
Six specialised agents and a conversational AI Assistant — all operating within hard compliance boundaries.
Table of Contents
- 7.1 Agent Architecture Overview
- 7.2 AI Assistant
- 7.3 Document Review Agent
- 7.4 AML/BSA Pre-Fill Agent
Framework decision deferred. The service language (Python), runtime (FastAPI on EKS), and agent capability design are fixed. The orchestration framework will be selected at build time from: LangChain, LangGraph, Anthropic APIs (Claude tool use), or OpenAI APIs. The agent structure and tool catalogue below are framework-agnostic.
7.1 Agent Architecture Overview
The agentic layer runs as a Python service (agent-service) on EKS. It exposes:
- A REST API consumed by the
workflow-servicefor automated pre-fill triggers - A WebSocket endpoint consumed by the React workspace for real-time AI Assistant conversation
Agent Service (Python, FastAPI)
├── AI Assistant Conversational Agent — operator-facing AI assistant
├── DocumentReviewAgent — automated document completeness check
├── CompliancePreFillAgent — questionnaire pre-fill from documents
├── CustomerLookupAgent — CRM + Core Banking data retrieval
├── EntitlementMappingAgent — user role → entitlement suggestions
└── WireAccountAgent — wire account setup reference generator
7.2 AI Assistant
The AI Assistant is a role-aware conversational AI embedded in the React workspace and React Native mobile app. It has access to case context, workflow state, and can trigger actions via the GraphQL API.
Capabilities by Role
| Role | What the AI Assistant Can Do |
|---|---|
| Banker / RM | Pre-fill intake form from CRM data; suggest products based on client profile; answer “what does product X require?”; draft client communication |
| Document Review Analyst | Summarise document completeness status; flag missing/expired documents; auto-classify uploaded documents |
| Compliance Officer | Pre-fill AML/BSA (Anti-Money Laundering / Bank Secrecy Act) questionnaire from uploaded documents via OCR + NLP; flag high-risk indicators; explain regulatory requirements |
| Operations Team | Answer “what credentials have been sent?”; guide through credential delivery steps; draft password notification email |
| Product Operations | Generate wire account setup references; surface provisioning rules and product requirements; flag conflicts |
| Error Recovery Handler | Explain what the integration error means; suggest retry vs. skip based on error type and downstream impact |
| Manager | Summarise team queue bottlenecks; explain SLA at-risk cases; generate exception reports |
Tool Catalogue (Framework-Agnostic)
# Tool catalogue — same regardless of orchestration framework chosen.
# Wiring to LangChain / LangGraph / Anthropic tool_use / OpenAI function_calling
# will be implemented at build time.
tools = [
CaseLookupTool(), # reads Aurora case records
WorkflowStateTool(), # queries Temporal workflow state
CoreBankingReadTool(), # reads customer/account data
DocumentMetadataTool(), # reads S3 document metadata
ProductCatalogTool(), # reads product rules
CRMReadTool(), # reads CRM opportunity data
RegulationReferenceTool(), # vector search over regulation corpus
DraftTextTool(), # LLM text generation for comms/emails
]
3-State Confidence Framework
HIGH CONFIDENCE (≥ 0.95): Pre-fill field silently; mark as AI-suggested (blue highlight)
MEDIUM (0.70 – 0.94): Pre-fill + surface to operator for review; yellow highlight
LOW (< 0.70): Do not pre-fill; suggest only via AI Assistant chat panel
All suggestions are logged to the ai_suggestions table with confidence score and source. The operator always has the ability to override — and their override is captured in the audit trail.
7.3 Document Review Agent
The Document Review Agent replaces the manual completeness check that currently causes a 1–3 business day bottleneck:
Trigger: Document uploaded to S3
→ S3 event → SQS → DocumentReviewAgent
Agent chain:
1. Retrieve document from S3 (pre-signed URL)
2. OCR tool → extract text
3. Document classifier → identify type (AML form / signature card / ID / agreement)
4. Completeness checker → compare against required document checklist for this case type
5. Signature detector → verify signatures present
6. Date validator → check document freshness (not older than 90 days)
7. Write assessment to Aurora: { doc_id, status, confidence, missing_items[], flags[] }
8. If all documents complete and confidence > 0.85:
→ Send Temporal signal: submitDocumentReview(APPROVED, auto_approved=true)
Else:
→ Create human task for Document Review Analyst with pre-populated assessment
Target: 70–80% of cases auto-approved. Remaining 20–30% surface to the analyst with a pre-populated checklist — reducing analyst time from 30–60 min to 5–10 min.
7.4 AML/BSA Pre-Fill Agent
Trigger: Temporal workflow reaches BSA/AML review phase
→ workflow-service calls CompliancePreFillAgent REST API
Agent chain:
1. Retrieve all case documents from S3
2. OCR + NLP extraction: entity names, beneficial owners, business description,
transaction volumes, geographic footprint
3. Map extracted data to AML questionnaire fields
4. Sanctions screening: compare entity names against sanctions list tool
5. Risk indicator detection: PEP flags, high-risk jurisdiction flags
6. Write pre-filled questionnaire to Aurora with confidence scores per field
7. Return pre-filled form to React UI → Compliance Officer reviews and attests
Compliance boundary:
BSA Officer attestation is always required — 31 USC 5318(g). The CompliancePreFillAgent pre-fills and assists, but the
submitBSAAttestationsignal requires a human actor. Theai_auto_approvedflag is blocked for this task type in the workflow implementation. This is not configurable.
Target: ~50% of fields pre-filled at ≥ 0.70 confidence; saves 20–40 min per case. The Compliance Officer reviews a pre-populated form rather than filling it from scratch, but the attestation decision remains entirely theirs.