Standardizing Customer Service: Inside DiDi’s Solution Platform Architecture
This article explains how DiDi built a unified solution platform that standardizes customer‑service responses across multiple channels by integrating business information, service capabilities, dynamic workflows, static knowledge bases, and a matching layer, while detailing the underlying workflow and resource engines and their performance impact.
Introduction
Customer service acts as a bridge between business units and users, handling diverse scenarios and requiring a unified approach to maintain answer consistency, quality, and operational efficiency.
Solution Platform Overview
The platform consolidates business information and service capabilities from various units into three standardized solution types: dynamic solutions (process‑driven SOPs), static solutions (knowledge bases), and a matching layer that maps user problems to appropriate answers.
Dynamic Solutions
Dynamic solutions are workflow‑based processes that guide users through standardized steps, such as self‑service bike lock recovery or manual fee dispute handling. The design addresses three challenges:
Interaction Modes : Different form types support various channels, providing extensible components for diverse business needs.
Process Management : A lightweight workflow engine drives node execution, allowing business‑specific process customization and online, end‑to‑end lifecycle management.
Resource Management : APIs and fields supplied by business units are abstracted as resources, managed via a resource engine that offers configuration‑driven access and unified monitoring.
Static Solutions
Static solutions store structured or unstructured knowledge (FAQs, rule explanations, guidance) that can be retrieved in consulting or instructional scenarios. The platform plans to upgrade storage beyond relational databases and enhance retrieval, operation, and feedback capabilities.
Solution Matching
The matching layer maintains many‑to‑many relationships between problem descriptors and solution packages, handling multidimensional problem representations and composite solutions (e.g., a static knowledge item combined with a dynamic workflow).
Technical Foundations
Workflow Engine
After evaluating mature engines like Activiti, DiDi built a lightweight custom engine focused on core process‑driving capabilities, offering high performance for C‑end scenarios. Key concepts include:
Process : Defines start/end nodes and the sequence of activities.
Process Elements : Nodes (events, tasks, gateways) and sequence flows.
Process Model : A snapshot of elements that fully describes a workflow.
The engine separates definition (design‑time snapshot) from execution (runtime instance) to ensure stability during updates.
Resource Engine
The resource engine abstracts business‑unit APIs and their fields as “resources.” It provides:
API : Service endpoints (e.g., order‑detail query).
Field : Individual data points returned by APIs.
Its architecture includes a management backend, a high‑performance server for query handling, and a client SDK that fetches and processes resources. The processing pipeline consists of:
Interpret – parse protocol and identify required resources.
Preprocess – gather definitions and dependencies.
Allocate – group resources based on dependency graphs.
Process – recursively fetch dependencies, invoke APIs, and transform results.
Results and Impact
Since deployment, the workflow engine handles over 90% of dynamic solution traffic with strong stability and performance. The platform reduced iteration cycles, increased R&D efficiency, and improved data‑driven operations, achieving an average 60% boost in self‑service iteration speed.
Future Directions
Upcoming work focuses on further automation and intelligence, expanding the matching capabilities, and applying the resource engine to additional scenarios such as feature flags and ticketing.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
