An LLM assistant for banking that handles complexity while staying compliant — and kind.
Internship project at Bank of China International Holdings (BOCI). BOBO is an AI-powered customer-service bot inside the bank's digital ecosystem. Instead of rigid FAQ answers, the goal was an assistant that understands nuanced financial queries and replies accurately, compliantly and empathetically.
I designed BOBO's knowledge architecture, semantic-understanding logic and workflow automation — a dual-layer solution serving both customers and internal teams.
In China, banking institutions face dual challenges: delivering personalised customer service while maintaining strict regulatory compliance. BOBO sits at the intersection of these demands, serving both external customers and internal operations teams.
To-B · Internal workflowsManual review fatigue. Staff spent hours checking mutual-fund reports and contracts (≈40K characters each) for consistency and regulatory compliance.
CustomerWhy is my transfer taking so long?
Bobo, beforeI don’t understand. (no intent detected)
How might we make BOBO handle complexity while maintaining compliance and empathy?Design question
I designed BOBO’s knowledge architecture, semantic-understanding logic and workflow automation: a dual-layer solution serving both customers and internal teams.
02.QA Database Enrichment
Challenge. The FAQ database could not cover long-tail queries; the system lacked the knowledge to handle nuanced financial questions.
01Diagnostic miningPulled 3,000+ escalated chats through the internal API to spot the ones BOBO should have answered.
02Knowledge extractionTurned those cases into clear Q&A entries with prompt engineering and fed them back into the knowledge base.
03Real-time integrationIntegrated internal APIs (accounts, transactions) so answers reflect live data.
−4 pts
chats escalated to humans, from 15% to 11% after enrichment
3,000+
escalated chats analysed
03.Multi-Platform Benchmarking
Challenge. Without clear metrics it was hard to tell which AI workflow platform delivered the best QA accuracy for different query types.
Approach. I built parallel workflows on four platforms with identical test queries to compare QA accuracy, response quality and API integration, then created a validation framework mapping platform strengths to use cases.
DifyMaxKBFit2CloudCubeFlow
Scenario (MaxKB)
Sample
Fully correct
Partly correct
Wrong
Strict accuracy
Usability
Operational Q&A
39
19
14
6
48.7%
84%
Policy Q&A
38
6
21
11
16%
71%
Usability · operational scenarios
84%
Usability · policy scenarios
71%
A 70+ case control test replaced subjective guesswork with a concrete scoring matrix, letting the team pick a target platform on real-world performance data.
04.Intent & Sentiment Recognition
Challenge. When users expressed frustration, correct but neutral answers still felt robotic, and negative sentiment led to higher escalation rates.
Adaptive templatesInject an empathetic acknowledgment before the technical response.
CustomerWhere is my money?? It’s been 3 days and I need it for a house payment NOW!
Bobo, afterI completely understand how stressful this is, especially with a house payment on the line. I’m looking into this immediately for you.
Status: the transfer is currently in the final clearing batch (#992). It typically clears within 2 hours. I will personally monitor this and SMS you the moment it lands.
05.Document Review Automation
Challenge. In the peak reporting months (March and August) the team faces 22,000+ reports averaging 40,000 characters each. Manual verification of data consistency is slow, error-prone and unsustainable.
The automated semantic verification pipeline as built in the workflow tool.
01InputWord documents exported from the XB system.
02LogicMulti-step validation: extract, compare, then verify.
03ModelsLocalised LLMs (Qwen / Llama), so no data leaves the bank.
04ScaleThreadPoolExecutor runs the checks concurrently.
~5 min
per 40k-character report, versus hours manually
>99%
accuracy identifying data discrepancies
100%
data privacy: zero cloud uploads, local execution
Running the models locally keeps every report inside the bank’s network. The pipeline flags semantic contradictions between clauses and highlights potential regulatory conflicts for the reviewer, who now checks the exceptions rather than the whole document.