Skip to main content
Libi is a Hebrew-speaking agent for Libra Insurance, designed to manage the end-to-end process of vehicle insurance claims, including accidents and thefts, with strict regulatory and legal compliance.

View Agent

Open in Wonderful Platform

Overview

FieldValue
MarketIsrael - Insurance
VerticalInsurance
CompanyLibra (ליברה)
ModelGPT-4o Realtime (2025-06-03)
LanguageHebrew
ChannelVoice

Skills

  • Customer Verification — Mandatory identity verification using Israeli ID numbers and vehicle license plates\
  • Accident vs. Theft Triage — Classifies the caller’s intent as accident or vehicle theft\
  • Open Accident Claim — Collects timestamps, location, and initial accident context\
  • Fill Theft Claim — Manages stolen vehicle flows, including protection systems and police reports\
  • Finalize Accident Claim — Gathers third-party details and determines claim action type\
  • Garage & Appraiser Selection — Guides customers through authorized repair shops and appraisers

Key Tools

ToolPurpose
decide_fault()Determines accident fault using strict regulatory rule mapping
damage_handler()Routes the flow based on whether vehicle damage occurred
is_hit_and_run()Identifies hit-and-run scenarios using KV-store state
match_insurance_company_name()Phonetically matches spoken insurance company names

Prompting Techniques

Tool-first deterministic control — Decision-making logic is extracted from the LLM and implemented in low-code tools to ensure predictable behavior:
  • The agent must NOT infer fault independently
  • All accident responsibility decisions must come from decide_fault()
Hard-prompted Hebrew responses — In sensitive or legally constrained steps, predefined Hebrew strings are returned directly from tools:
  • Legal instructions must be read verbatim
  • No paraphrasing or summarization is allowed
KV-store centric memory — All verified user inputs are persisted centrally:
  • Every confirmed value is written to context.kv
  • Downstream tools may only rely on KV data, not conversation memory
Multi-step workflow orchestration — The agent follows explicit system instructions generated by tools: Step 1: Inform the user of the selected action type Step 2: CALL set_action_type(“policy_activation”) Step 3: Continue flow based on tool confirmation

Lessons Learned

What worked
  • Deterministic if-else logic reduced ambiguity in edge cases\
  • Tool-generated system instructions improved flow discipline\
  • Hard-coded Hebrew responses avoided pronunciation and phrasing errors\
  • KV-store persistence ensured consistency across long claim sessions
Challenges
  • Objective fault assessment from biased user narratives\
  • Enforcing verbatim legal disclosures without LLM drift\
  • Maintaining regulatory compliance across dynamic conversational flow

Deep Dive

1. decide_fault(description) - Regulatory Fault Engine

Purpose: Objectively determine accident responsibility using predefined regulatory sections provided by Libra, removing subjective interpretation from the LLM. What it does:
  • Accepts a free-text accident description
  • Maps the description to structured accident patterns
  • Matches patterns against explicit regulatory clauses
  • Returns a deterministic fault outcome and justification
  • Generates system instructions guiding the next agent step
Key prompting strategy:
  • No probabilistic reasoning
  • No “best guess” outcomes
  • Full alignment with insurer-approved legal definitions

2. damage_handler() — Flow Router

Purpose: Controls claim branching based on whether the vehicle sustained damage. What it does:
  • Reads damage indicators from KV-store
  • Routes to:
    • Damage collection flow
    • No-damage declaration flow
  • Prevents invalid transitions between claim states
Key logic:
    if (damage === true) {
      route = "damage_flow"
    } else {
      route = "no_damage_flow"
    }

3. is_hit_and_run() — Incident Classification Tool

Purpose: Identify hit-and-run scenarios using structured session data rather than conversational inference. What it does:
  • Reads parked-state and involved-vehicle flags from KV
  • Determines hit-and-run eligibility
  • Locks the flow into the correct legal and reporting path
Key advantage:
  • Eliminates ambiguity caused by partial or emotional user descriptions\
  • Ensures consistent regulatory handling across cases

How They Work Together

User: “מישהו פגע לי ברכב בזמן שהוא היה חונה וברח”
  1. Accident description collected
  2. is_hit_and_run() → true ↓
  3. decide_fault() → No driver present, third-party fault ↓
  4. set_action_type(“claim_on_behalf”) ↓
  5. damage_handler() → Routes to damage assessment ↓
  6. Agent continues with legally compliant claim completion