· Enterprise AI POCs — Claims Multi-Agent RAG
Supervisor + RAG + Citations: Building an Insurance Claims Multi-Agent POC
UI는 한국어입니다. 글 본문은 아직 영어 또는 중국어만 있습니다.
Insurance adjusters don't guess. They read the claim, pull the policy, check history, apply rules, and decide — with paperwork that shows why. Our new POC automates that workflow, not that judgment call.
Repo: xingai-enterprise-ai-pocs/pocs/claims-multiagent-rag-poc/
The problem with one big prompt
A single LLM call that "reads the claim AND checks the policy AND checks fraud AND decides" is unreliable:
- The prompt becomes huge and untestable.
- You can't audit which step failed.
- The model may deny a claim without quoting an exclusion clause.
We split the job into specialized agents with a supervisor (LangGraph) that owns explicit handoffs.
Claim → Intake → Retrieval (RAG) → Fraud-Check → Adjudication → Audit
↘ low confidence → Human Review
What RAG means here
Retrieval-Augmented Generation: before any decision text is generated, we retrieve real document chunks from three separate Chroma collections:
| Collection | Contents |
|---|---|
policy_documents | Coverage, exclusions, deductibles |
claim_history | Past claims per synthetic policyholder |
regulations | State handling rules |
Every chunk carries document_id, chunk_id, and similarity score. Downstream agents never see naked text without a citation.
Rules before models
Fraud-Check runs deterministic rules first (claim frequency, amount vs limit, new-policy window), then a lightweight narrative pass. High fraud score → escalate to human — we never auto-deny on fraud alone.
Adjudication must cite at least one policy excerpt for APPROVE or DENY. Thresholds live in config/claims_policy.yml — no magic numbers in Python:
human_review_threshold_usd: 5000escalate_risk_score: 0.70
Audit trail
Every agent step appends to SQLite (audit_trail). PII patterns are redacted before logging. One query answers: "Why was claim #123 denied?"
Demo paths (live script)
Three synthetic claims walk stakeholders through different outcomes:
- APPROVE — $450 windshield on POL-1001, low fraud score, glass coverage cited.
- DENY — flood damage on POL-2002; denial quotes the flood exclusion clause.
- ESCALATE — third glass claim in 30 days, or amount over $5,000.
See demo_script.md.
Golden-set eval
Ten synthetic claims with expected actions; CI target ≥ 80% exact-match on decision action. Run:
pytest tests/eval/test_golden_claims.py -v -m eval
Enterprise mapping
This POC validates Enterprise POC ADR-001: supervisor orchestration, append-only audit, human-in-the-loop thresholds, RAG citation discipline.
Production path (not built): Pinecone/Weaviate, PDF intake, field-level encryption, real claims system integration via MCP read tools first.
Positioning: Phase 1 validation of multi-agent RAG + governance — same architecture a production insurance copilot would use, with synthetic data only.