AI智能培训中台 – 产品说明与技术设计文档

版本:v1.0 | 日期:2026-04-10 | 作者:田旭旭


一、产品概述

1.1 产品定位

AI智能培训中台(YQG AI Training Center)是一款面向金融催收行业的AI驱动全场景培训平台。平台通过大语言模型(LLM)模拟真实催收场景中的借款人角色,为催收员提供沉浸式的对话陪练、智能评分、个性化学习路径等能力,实现"AI替代传统师傅带徒弟"的培训模式革新。

1.2 核心价值

维度 传统培训痛点 AI培训中台方案
成本 资深员工带教成本高,占用产能 AI 24小时可用,零边际成本陪练
标准化 带教质量因人而异 统一Prompt+评分规则,输出一致
效率 新员工上手周期长(2-4周) 高频反复练习+即时反馈,缩短50%+
覆盖 场景单一,难以覆盖极端case 多剧本多角色,覆盖首催/复催/投诉等全场景
数据 培训效果难量化 多维度评分+数据看板,效果可追踪

1.3 目标用户

  • 培训管理员:配置剧本、培训计划、评分规则,查看数据看板
  • 催收员(学员):执行陪练任务,查看评分报告,持续改进
  • AI工程师:管理Prompt模板、评测实验、LLM调用监控
  • 业务运营:通过数据看板监控培训ROI

二、产品功能全景

2.1 功能架构图

┌─────────────────────────────────────────────────────────────────────────┐
│                        AI 智能培训中台                                    │
├──────────────┬──────────────┬───────────────┬──────────────────────────┤
│  培训管理     │  内容管理     │  AI 工程       │  系统管理                 │
├──────────────┼──────────────┼───────────────┼──────────────────────────┤
│ · 培训计划    │ · 剧本管理    │ · Prompt管理   │ · 用户管理                │
│ · 数据看板    │ · AI角色库    │ · Prompt调试   │ · 权限控制                │
│ · 全部练习    │ · 话术知识库  │ · DAG编排画布   │ · 通用配置                │
│ · 练习任务    │              │ · 评测中心      │                          │
│   看板       │              │ · LLM调用日志   │                          │
│ · 员工学习    │              │ · RAG调用历史   │                          │
│   看板       │              │               │                          │
├──────────────┴──────────────┴───────────────┴──────────────────────────┤
│                        学员门户                                          │
├──────────────┬──────────────┬───────────────┬──────────────────────────┤
│ · 学习首页    │ · 我的学习计划 │ · AI陪练对话    │ · 练习报告                │
│ · 排行榜     │ · 剧本详情    │ · 语音/文字输入  │ · 历史记录                │
└──────────────┴──────────────┴───────────────┴──────────────────────────┘

2.2 核心功能模块详述

2.2.1 剧本管理(Script Management)

剧本是培训的基础内容单元,定义了一次陪练对话的完整上下文。

两种对话模式:

  • 开放式(OPEN):无固定流程,学员自由发挥,AI根据角色设定灵活应对。适合综合能力评估。
  • 流程式(PROCESS):预设多个目标节点(如自我介绍→身份核实→共情→方案提出→异议处理→微信邀约→礼貌挂机),学员需按序推进。适合标准化技能训练。

剧本组成要素:

要素 说明
基本信息 剧本名称、场景描述、对话模式
AI角色 关联的借款人角色(性格、背景、年龄)
对话目标 开放式为整体目标,流程式为多个分步目标
目标达成/失败条件 每个目标的可观测、原子化判定条件
行为策略 每个目标下AI的触发行为和回应策略
过程反馈 学员特定行为时的即时系统反馈
标准话术 业务标准应答参考
评分规则 多维度评分体系(满分100分)
禁用词 违规词汇列表及扣分规则

AI辅助创建流程(8步DAG流水线):

场景润色 → 问卷确认 → 角色生成 → 剧本生成 → 目标生成 → 评分规则生成 → 对话模拟 → 评分验证
2.2.2 AI陪练对话(Practice Session)

核心交互场景,学员与AI角色进行实时对话练习。

对话流程:

创建会话 → AI发送开场白 → 学员回复(文字/语音)
    ↓
[并行触发]
├── AI回复生成(LLM对话)
├── 话术润色(实时点评学员回复)
├── 灵感提示(推荐下一句话术)
├── 目标判定(流程式:是否达成当前目标)
└── 结束判定(开放式:是否满足结束条件)
    ↓
AI回复 + TTS语音 → 学员继续回复
    ↓
对话结束 → 触发AI评分 → 生成练习报告

关键特性:

  • 实时灵感提示:学员卡壳时,AI基于RAG知识库+标准话术推荐回复
  • 实时话术润色:每轮对话后,AI以"教练"视角点评并提供改进版话术
  • 语音支持:WebSocket + 阿里云NLS实现ASR(语音转文字)和TTS(文字转语音)
  • 目标追踪:流程式对话实时展示目标进度,达成/失败即时通知
  • 屏幕切换限制:防止学员切屏查阅资料(考试模式)
  • 倒计时机制:限制每轮回复时间,模拟真实通话压力
2.2.3 AI智能评分(Scoring System)

评分架构 – MapReduce模式:

Map阶段:每个评分维度独立调用LLM打分(可并行)
    ↓
Reduce阶段:汇总各维度分数,生成综合评价和改进建议

评分三级对齐原则:

  • Rule A(80%+):学员话术覆盖了标准话术的核心要点
  • Rule B(50%起):标准话术未要求的内容,不额外扣分
  • Rule C(50%以下):严重偏离且有具体违规行为,必须引用原文

评分输出:

  • 各维度得分及详细说明(含对话原文引用)
  • 目标达成情况展示
  • 综合评价(HTML折叠格式)
  • 改进建议("你说了X → 问题是Y → 建议改为Z"格式)
2.2.4 培训计划(Training Plan)

两种计划模式:

  • 周期模式(CYCLE):每月/每周定期轮训
  • 日期范围模式(DATE_RANGE):固定时间段内的一次性培训

计划组成:

  • 多阶段(Stage)结构,支持顺序解锁和自由访问
  • 每阶段包含多个剧本,可配置练习/考试模式
  • 学员分配(支持组织架构导入)
  • 通过分数线、考试次数上限、灵感提示开关、屏幕切换限制等精细配置
2.2.5 Prompt工程中心

Prompt版本管理:

  • 模板内容 + 模型配置(模型名、温度)版本化存储
  • 状态生命周期:Draft → Published → Active
  • 配置中心热切换(DynamicProperties覆盖classpath模板)

Prompt调试:

  • 在线输入变量执行测试
  • AI建议输入变量
  • 人工标注(满意/不满意)
  • AI辅助Prompt修订(对比Diff展示)
  • 调试历史记录追溯

DAG编排画布:

  • 可视化展示8步Prompt DAG流水线
  • 支持选择起止节点部分执行
  • 节点级版本覆盖
  • 中间结果传递与查看

评测中心(Eval Center):

  • Golden数据集管理
  • 自动评测实验(Dokimos LLM-as-Judge框架)
  • 5维度10分制评分:格式正确性(20%) + 指令遵循(25%) + 内容质量(30%) + 一致性(15%) + 安全性(10%)
  • A/B实验对比
  • 多次重复执行衡量稳定性(方差统计)
2.2.6 数据看板

三大看板:

  1. 练习任务看板:总览卡片、剧本统计、学员排行榜(练习次数/时长/平均分)
  2. 员工学习看板:完成率/参与率、部门排行、计划/剧本/维度诊断
  3. 剧本使用看板:剧本使用频次、部门平均分、使用/学习/分数排行

可视化组件:

  • ECharts 6 部门率对比图(水平柱状图)
  • 饼图(完成率分布)
  • 排行榜柱状图(多色调色板)
  • 全部支持Excel导出
2.2.7 知识库与RAG

知识库类型:

类型 说明
CUSTOM 自定义Q&A知识库
SCRIPT_STANDARD_QA 剧本标准话术Q&A
SCRIPT_KNOWLEDGE 剧本背景知识
SCRIPT_TRANSITIONAL_REPLY 剧本目标过渡回复Q&A

两种交互模式:

  • AGENT_ASK_AI_REPLY:催收员提问场景的标准回复
  • AI_ASK_AGENT_REPLY:借款人提问时催收员应如何回复

RAG集成:

  • 对话生成、灵感提示、话术润色、评分建议均注入RAG检索结果
  • 优先级:RAG知识 > 标准话术 > 行为策略 > 兜底策略库

三、技术架构设计

3.1 系统架构总览

┌──────────────────────────────────────────────────────────────────────────┐
│                            用户层                                        │
│  ┌─────────────┐    ┌─────────────┐    ┌─────────────┐                   │
│  │  管理员PC端   │    │  学员PC端    │    │  学员移动端   │                   │
│  │  (Vue 3)     │    │  (Vue 3)    │    │  (H5适配)    │                   │
│  └──────┬───────┘    └──────┬──────┘    └──────┬───────┘                  │
│         │                   │                  │                          │
│         └───────────────────┼──────────────────┘                          │
│                             │                                             │
├─────────────────────────────┼─────────────────────────────────────────────┤
│                        接入层                                             │
│                ┌────────────┴──────────────┐                              │
│                │   Nginx / API Gateway      │                             │
│                │   (SSO + Token双认证)       │                             │
│                └────────────┬──────────────┘                              │
│                             │                                             │
├─────────────────────────────┼─────────────────────────────────────────────┤
│                        应用层                                             │
│  ┌──────────────────────────┴──────────────────────────────────┐          │
│  │              Spring Boot 2.7 + JDK 21                       │          │
│  │  ┌─────────┐ ┌──────────┐ ┌───────────┐ ┌────────────┐     │          │
│  │  │  Admin   │ │   API    │ │ Scheduler │ │  Consumer  │     │          │
│  │  │ (REST)   │ │  (RPC)   │ │  (YJob)   │ │  (Kafka)   │     │          │
│  │  └────┬─────┘ └────┬─────┘ └─────┬─────┘ └─────┬──────┘    │          │
│  │       └─────────────┼─────────────┼─────────────┘           │          │
│  │                     │             │                          │          │
│  │              ┌──────┴──────┐      │                          │          │
│  │              │  Core Module │      │                          │          │
│  │              │  (业务逻辑)   │      │                          │          │
│  │              └──────┬──────┘      │                          │          │
│  └─────────────────────┼─────────────┘                          │          │
│                        │                                        │          │
├────────────────────────┼────────────────────────────────────────┤          │
│                    AI 服务层                                     │          │
│  ┌─────────────────────┴──────────────────────────────────┐     │          │
│  │                                                         │     │         │
│  │  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐  │     │         │
│  │  │PracticeLLM   │  │  ScoreLLM    │  │  ScriptLLM   │  │     │         │
│  │  │Service       │  │  Service     │  │  Service      │  │     │         │
│  │  │(陪练对话编排) │  │ (评分规则生成) │  │ (剧本生成)    │  │     │         │
│  │  └──────┬───────┘  └──────┬───────┘  └──────┬───────┘  │     │         │
│  │         └─────────────────┼──────────────────┘          │     │         │
│  │                           │                              │    │         │
│  │                ┌──────────┴──────────┐                   │    │         │
│  │                │ LangChainChatService │                   │    │         │
│  │                │  (统一LLM调用封装)    │                   │    │         │
│  │                └──────────┬──────────┘                   │    │         │
│  │                           │                              │    │         │
│  │                ┌──────────┴──────────┐                   │    │         │
│  │                │  ChatModelFactory    │                   │    │         │
│  │                │  (模型路由+缓存)      │                   │    │         │
│  │                └──────────┬──────────┘                   │    │         │
│  └───────────────────────────┼──────────────────────────────┘    │         │
│                              │                                   │         │
├──────────────────────────────┼───────────────────────────────────┤         │
│                         模型层                                    │         │
│  ┌───────────┐  ┌───────────┐  ┌───────────┐  ┌───────────┐     │         │
│  │  GPT-5.4  │  │DeepSeek   │  │ Qwen3     │  │  Kimi K2  │     │         │
│  │  (Azure)  │  │  V3.2     │  │  系列     │  │           │     │         │
│  └───────────┘  └───────────┘  └───────────┘  └───────────┘     │         │
│                                                                  │         │
├──────────────────────────────────────────────────────────────────┤         │
│                        数据层                                     │         │
│  ┌───────────┐  ┌───────────┐  ┌───────────┐  ┌───────────┐     │         │
│  │  MySQL 8  │  │  Redis    │  │  Kafka    │  │  RAG      │     │         │
│  │  (JOOQ)   │  │ (缓存+锁) │  │ (消息队列) │  │  Gateway  │     │         │
│  └───────────┘  └───────────┘  └───────────┘  └───────────┘     │         │
│                                                                  │         │
│  ┌───────────┐  ┌───────────┐  ┌───────────┐                    │         │
│  │ 阿里云NLS  │  │  InfluxDB │  │  七牛云    │                    │         │
│  │ (ASR/TTS) │  │  (监控)    │  │  (文件存储) │                    │         │
│  └───────────┘  └───────────┘  └───────────┘                    │         │
└──────────────────────────────────────────────────────────────────┘         │

3.2 技术栈明细

3.2.1 后端技术栈
类别 技术 版本 用途
语言 Java 21 主开发语言,启用虚拟线程等新特性
框架 Spring Boot 2.7.x Web框架 + 依赖注入
云原生 Spring Cloud - 服务治理
ORM JOOQ 3.18.7 类型安全SQL,代码生成
数据库迁移 Flyway 9.22.3 Schema版本管理(36个迁移文件)
LLM框架 LangChain4j 1.12.2 统一LLM调用抽象
LLM评测 Dokimos - LLM-as-Judge评测框架
语音 阿里云NLS SDK 2.2.19 ASR(语音识别)+ TTS(语音合成)
消息队列 Kafka - 异步事件处理
缓存 Redis - 分布式缓存 + 锁 + WebSocket广播
调度 YJob - 分布式定时任务
HTTP OkHttp 4.9.0 外部API调用
NLP HanLP - 中文自然语言处理
工具 Hutool 5.7.12 通用工具集
认证 Chidori SSO - 内部员工单点登录
3.2.2 前端技术栈
类别 技术 版本 用途
框架 Vue 3 3.x Composition API + TSX
构建 Max (Vite) - 内部构建工具链
UI Ant Design Vue 4.2.1 组件库
图表 ECharts 6.0 数据可视化
状态 Pinia - 全局状态管理
HTTP Axios - API请求封装
拖拽 vuedraggable - 剧本/阶段排序
Diff diff - Prompt版本对比
Markdown markdown-it 14.1.1 Prompt内容渲染
样式 LESS - CSS预处理
语言 TypeScript - 类型安全

3.3 后端模块架构

3.3.1 Maven多模块设计
training-center-parent (pom.xml)
├── training-center-common       # 共享工具类、异常定义
├── training-center-client       # RPC客户端接口
├── training-center-core         # 核心业务:Service + Model + 数据库迁移 + JOOQ生成
├── training-center-admin        # HTTP REST API(主服务入口)
├── training-center-api          # 内部RPC接口
├── training-center-scheduler    # YJob定时任务
└── training-center-consumer     # Kafka消费者

依赖规则(严格单向):

  • 所有Web模块 → core + common
  • core → 仅依赖 common
  • 模块间禁止交叉引用
3.3.2 分层架构
Controller层 (training-center-admin)
  │  25+ Controller包,REST风格 /admin/training/{module}
  │  所有接口 @PreAuthorize 权限控制
  │  独立VO类(请求/响应)
  ▼
Service层 (training-center-core)
  │  33+ Service包
  │  PracticeLLMService (841行) -- 对话编排核心
  │  LangChainChatService (457行) -- LLM调用封装(含多策略JSON解析管道)
  │  ChatModelFactory (197行) -- 模型路由
  │  PromptDynamicService (535行) -- Prompt模板管理
  ▼
Model层 (training-center-core)
  │  JOOQ生成的Record类(54个表)
  │  TraBaseModel<T,R> 基类提供通用CRUD
  │  57个Model类(命名为*Model而非*Dao)
  ▼
Database (MySQL 8.0)
  46张表,utf8mb4编码,InnoDB引擎

3.4 LLM调用架构

3.4.1 多模型路由
┌─────────────────────────────────────────────────────────┐
│                  ChatModelFactory                        │
│                                                          │
│  配置指纹热重载:computeConfigFingerprint()               │
│  指纹变化 → 缓存清空 → 模型实例重建                        │
│                                                          │
│  ┌──────────────┐     ┌──────────────────┐               │
│  │ Azure Gateway │     │ Qwen Compatible  │               │
│  │ (GPT系列)     │     │ Gateway          │               │
│  │               │     │ (Qwen/DeepSeek/  │               │
│  │ · GPT-5.4    │     │  Kimi)           │               │
│  │ · GPT-5.2    │     │                  │               │
│  │ · GPT-5      │     │ · Qwen3-Next 80B │               │
│  │               │     │ · Qwen3.5-35B   │               │
│  └──────────────┘     │ · Qwen3-Max     │               │
│                        │ · Qwen3-8B/14B  │               │
│                        │ · DeepSeek V3/   │               │
│                        │   V3.1/V3.2     │               │
│                        │ · Kimi K2.5     │               │
│                        └──────────────────┘               │
└─────────────────────────────────────────────────────────┘

5级配置优先级:

  1. training.center.llm.scenario.{场景}.model.{模型}.api.url – 场景+模型级
  2. training.center.llm.scenario.{场景}.url – 场景级
  3. training.center.llm.model.{模型}.api.url – 模型级
  4. training.center.llm.api.url – 全局级
  5. 硬编码默认值

场景化模型分配:

场景 默认模型 说明
practice GPT-5.4 陪练对话
inspiration GPT-5.4 灵感提示
score DeepSeek V3.2 评分
script GPT-5.4 剧本生成
scenario GPT-5.4 场景润色
eval_judge 可配置 评测裁判
3.4.2 LLM调用流水线
业务Service调用
    ↓
LangChainChatService.chatForJsonObject() / chatForText()
    ↓
构建ChatMessages (system + user)
    ↓
ChatModelFactory.getModel(modelType, scenario, jsonMode)
    ↓
LangChain4j ChatModel.chat() → HTTP调用
    ↓
[异常处理]
├── 网络/超时 → TIMEOUT → TrainingException
├── 内容过滤 → CONTENT_FILTER → TrainingException
├── 线程中断 → REQUEST_CANCELLED → 保留中断标志
└── HTTP错误 → HTTP_ERROR → TrainingException
    ↓
[响应清洗]
├── 正则去除 ```json...```代码块包裹
├── 去除格式化伪影
└── JSON反序列化 → TypeReference<T> 强类型VO
    ↓
[自愈重试] JSON解析失败 + 输出含{/[ + 上下文<60K
├── 拼接失败输出 + 纠正Prompt
└── 重试一次
    ↓
[异步记录] LlmCallLogRecordingService → tra_llm_call_log
    ↓
返回结果
3.4.3 Prompt模板管理

32个Prompt模板,存放于 training-center-core/src/main/resources/promot/

模板加载策略:

  1. 配置中心 DynamicProperties.getString("training.center.prompt." + key) – 最高优先级(热切换)
  2. Classpath文件缓存 – 默认

变量替换: Mustache语法 {{camelCaseVariable}},通过 LangChain4j PromptTemplate.from().apply() 渲染

核心模板矩阵:

模板Key 文件 用途
practiceDialogueOpen ai_practice_dialogue_open.md 开放式陪练对话
practiceDialogueProcess ai_practice_dialogue_process.md 流程式陪练对话
practicePolish ai_practice_polish.md 话术润色
practiceInspiration ai_practice_inspiration.md 灵感提示(RAG优先+3步生成+难度策略库)
practiceGoalJudge ai_practice_goal_judge.md 目标判定(已移除RAG依赖,精简输入)
practiceGoalSummary ai_practice_goal_summary.md 目标摘要
practiceFinishCheck ai_practice_finish_check.md 结束判定
practiceScoring ai_practice_scoring.md 整体评分
practiceScoringDimension ai_practice_scoring_dimension.md 维度评分(Map)
practiceScoringReduce ai_practice_scoring_reduce.md 评分汇总(Reduce,折叠HTML+三行改进格式)
practiceScoringS suggestion ai_practice_scoring_suggestion.md 评分建议
scriptCreateOpen ai_script_create_open.md 开放式剧本生成
scriptCreateProcess ai_script_create_process.md 流程式剧本生成(3-5目标+强制收尾目标)
scoreGenerateOpen ai_score_generate_open.md 开放式评分规则
scoreGenerateProcess ai_score_generate_process.md 流程式评分规则
trainingPolishedScenario ai_training_polished_scenario.md 场景润色
trainingQuestionChecklist ai_training_question_checklist.md 问卷生成
trainingRoleDef ai_training_role_def.md 角色生成
knowledgeQaParse ai_knowledge_qa_parse.md 知识库Q&A提取
qaKeywordExtract ai_qa_keyword_extract.md 质检QA关键词提取+质量评分
qaSelectRepresentative ai_qa_select_representative.md 代表性QA对筛选
qaKeywordCatalogCollection ai_qa_keyword_catalog_collection.md 催收关键词目录(18类180+词)

3.5 数据库设计

3.5.1 核心ER关系
tra_character (AI角色)
    ↑ character_id
tra_script (剧本) ──1:N──→ tra_script_goal (目标)
    │                          │
    │                     1:N  ↓
    │               tra_script_goal_strategy (策略)
    │
    ├──1:N──→ tra_script_feedback (反馈规则)
    ├──1:N──→ tra_script_standard_reply (标准话术)
    └──1:N──→ tra_score_dimension (评分维度)
                    │
               1:N  ↓
              tra_score_detail (评分细则)

tra_plan (培训计划)
    ├──1:N──→ tra_plan_stage (阶段)
    ├──1:N──→ tra_plan_script (计划-剧本关联)
    ├──1:N──→ tra_plan_user (计划-学员关联)
    └──────→ tra_plan_script_user (三方进度)

tra_practice_session (练习会话)
    ├──1:N──→ tra_practice_dialogue (对话消息)
    └──1:1──→ tra_practice_report (评分报告)
                    │
               1:N  ↓
              tra_practice_report_detail (维度得分)

tra_ai_prompt (Prompt定义)
    └──1:N──→ tra_ai_prompt_version (版本)
                    │
              ┌─────┴─────┐
              ↓            ↓
    tra_ai_prompt_    tra_eval_experiment
    debug_run         (评测实验)
                          │
                     1:N  ↓
                    tra_eval_result
3.5.2 数据库演进(9个阶段,36个迁移)
阶段 版本 表数 核心能力
基础设施 V1-V7 12 用户、角色、配置、Kafka
内容创作 V8-V12 8 AI角色、剧本、评分规则
培训管理 V13-V16 5 培训计划、学习进度
知识库 V14,V24,V30 2 Q&A对、RAG知识
陪练引擎 V17,V29,V33,V34 4 会话、对话、报告
Prompt管理 V18-V21 3 模板、版本控制
评测系统 V26 6 数据集、实验、结果
可观测性 V22,V28,V31-V35 7 RAG日志、热词、LLM日志
质检集成 V36-V37 3 质检数据同步+关键词提取
标注闭环 V38,V41 2 标注修复追踪(fix_session_id)
多租户 V40 1(影响18张表) 全表business_id扩展

设计模式:

  • 软删除:大部分域表使用 deleted 字段(‘T’/‘F’)
  • 毫秒时间戳:所有 time_created/time_updatedbigint(20) 毫秒精度
  • 报告快照tra_practice_report_detail 冗余维度名、评估点、满分等,确保历史数据不受规则变更影响
  • Kafka Outboxkafka_message + kafka_message_lock 保证消息可靠投递
  • 状态机:会话(IN_PROGRESS→COMPLETED|TERMINATED)、报告(NONE→GENERATING→COMPLETED|FAILED)、版本(Draft→Published)

3.6 前端架构

3.6.1 双门户SPA
src/
├── pages/                     # 40+ 页面模块
│   ├── [Admin Portal]
│   │   ├── training-plan/     # 培训计划管理
│   │   ├── script-management/ # 剧本管理
│   │   ├── script-editor/     # 剧本编辑器
│   │   ├── ai-role-library/   # AI角色库
│   │   ├── speech-library/    # 话术知识库
│   │   ├── prompt-list/       # Prompt管理
│   │   ├── prompt-debug/      # Prompt调试
│   │   ├── prompt-dag/        # DAG编排画布
│   │   ├── eval-center/       # 评测中心
│   │   ├── data-dashboard/    # 数据看板
│   │   ├── llm-call-log/      # LLM调用日志
│   │   └── user-management/   # 用户管理
│   │
│   └── [Student Portal]
│       ├── student-home/      # 学员首页
│       ├── learning-plan/     # 学习计划
│       ├── practice-session/  # AI陪练对话(核心交互页)
│       ├── practice-report/   # 练习报告
│       └── my-practice-records/ # 历史记录
│
├── resources/                 # API服务层(28个文件)
├── components/                # 共享组件(14个)
├── stores/                    # Pinia状态(3个Store)
├── hooks/                     # 自定义Hooks
└── constants/                 # 枚举 & 常量
3.6.2 API集成模式

所有API请求遵循统一模式:

// resources/practice-session.ts
export async function sendChatMessage(sessionId: number, params: SendMessageParams) {
    const res = await axios.post(`/admin/training/practiceSession/${sessionId}/sendMessage`, params);
    return unwrapBody<SendMessageResponse>(res);
}

响应信封: { status: { code: number }, body: T }
错误拦截: 统一interceptor处理 token过期(302重定向)、权限不足(403)

3.6.3 实时通信 – WebSocket语音
浏览器 (Web Audio API)
  │  getUserMedia → ScriptProcessorNode
  │  16kHz 16bit Mono PCM → Base64编码
  │  200ms/帧 (3200样本)
  ↓
WebSocket (/admin/practiceVoice)
  │  ESTABLISH → DATA(base64) → SEND → CLOSE
  ↓
后端 PracticeVoiceWebSocketHandler
  │  积累ASR句末结果
  │  SEND时:flush转写器,等待4秒最终句
  │  拼接所有片段
  ↓
返回 TRANSCRIPTION → 前端展示 → 触发HTTP sendMessage

3.7 关键设计决策

决策 选择 理由
JOOQ而非JPA JOOQ + Flyway 类型安全SQL,编译期校验,避免N+1问题
禁用@Transactional 手动事务 与加密JDBC驱动冲突
禁用@Async ExecutorService 更精细的线程池控制
WebSocket仅做ASR HTTP做对话 避免WS+HTTP双写消息
MapReduce评分 维度并行+聚合 单维度prompt更精确,可并行加速
Prompt配置中心热切换 DynamicProperties覆盖classpath 生产环境无需重启即可调优prompt
配置指纹热重载 fingerprint比对 LLM配置变更自动重建模型实例
LLM日志异步写入 2线程守护池 不阻塞主流程,保障可观测性

3.8 多区域部署

环境 用途 数据库
dev 本地开发 localhost
test 测试环境(中国) 远程MySQL
test-indo 印尼测试 印尼集群
test-sea 东南亚测试 东南亚集群
test-mex 墨西哥测试 墨西哥集群
prod 生产(中国) 生产MySQL
prod-indo 印尼生产 印尼集群
prod-phi 菲律宾生产 菲律宾集群
prod-mex-huawei 墨西哥生产 华为云
feat 预发布 Staging

四、AI Prompt工程设计

4.1 8步DAG流水线

Step 1: 场景润色 (trainingPolishedScenario)
   ↓  用户原始输入 → 结构化Markdown场景描述
Step 2: 问卷确认 (trainingQuestionChecklist)
   ↓  场景 → 4道ABCDE选择题,细化训练维度
Step 3: 角色生成 (trainingRoleDef)
   ↓  场景+问卷+素材 → AI借款人角色(姓名/年龄/性格/背景)
Step 4: 剧本生成 (scriptCreate[Open|Process])
   ↓  角色+场景+问卷 → 完整剧本(目标+策略+反馈+话术)
Step 5: 目标生成 (scriptGoal[Open|Process])
   ↓  补充/追加训练目标
Step 6: 评分规则生成 (scoreGenerate[Open|Process])
   ↓  剧本 → 多维度评分体系(总分100分)
Step 7: 对话模拟 (practiceDialogue[Open|Process])
   ↓  学员与AI实时对话
Step 8: 评分验证 (practiceScoring)
       对话历史 → 多维度评分+改进建议

4.2 核心Prompt工程技术

技术 应用 示例
角色扮演(Persona) 全部模板 “你是一名逾期借款人” / “你是资深催收培训师”
结构化JSON输出 28/32模板 严格字段定义+长度约束
Few-Shot示例 8个模板 灵感提示5个完整示例、润色6个示例
Chain-of-Thought 5个模板 目标判定3步推理、灵感3步生成
领域知识注入 15+模板 催收全流程、还款方案分类、客户心理模型
负面约束 20+模板 禁用词列表、禁止格式、反面示例
情绪递进模型 对话模板 5阶段情绪弧:防御→试探软化→方案博弈→异议波动→理性回归
绝对被动原则 流程式对话 AI只在学员主动提及话题后才响应
输出自检 3个模板 “输出前检查:1.无行业术语? 2.回应了问题? 3.无泄密?”
优先级层级 5个模板 RAG知识 > 标准话术 > 行为策略 > 兜底策略库
互斥规则 3个模板 “achieved和failed不能同时为true”
Meta-Prompt 1个模板 ai_prompt_revise_meta.md – 用Prompt修改Prompt

五、Agent与开发效能工具

5.1 Claude Code Skill体系

项目深度集成了Claude Code的Skill生态,构建了完整的AI辅助开发工具链:

Skill 用途
backend-local-run JDK 21构建并本地启动Admin服务
local-acceptance 前后端同时启动+验收清单生成
local-mysql-ops Flyway迁移、JOOQ代码生成、Mock数据
schema-pull-sync 团队迁移脚本同步
code-style-review 代码规范审查
review-java 阿里巴巴Java规范+项目CodeStyle审查
eval-center-backend 评测中心后端开发专用
training-center-prd AI辅助PRD生成
ut-scan 单测覆盖率扫描+自动补充
skill-reviewer Skill质量审核

5.2 Cursor Agent

Agent 功能 规模
code-to-docs 代码变更→飞书技术文档 36KB配置
feishu-to-docs 飞书文档整理美化 40KB配置

5.3 Speckit工作流(15个命令)

speckit analyze    → 需求分析
speckit specify    → SDD规约生成
speckit plan       → 实现计划
speckit implement  → 代码实现
speckit verify     → 验证
speckit parallel-* → 并行版本
speckit save/restore-context → 上下文保存/恢复

六、项目数据概览

指标 数值
后端总提交数 ~362次
前端总提交数 ~504次
贡献者 7人(后端)/ 11人(前端)
数据库表 46张+(V40多租户扩展18张表)
Flyway迁移 41个
JOOQ生成类 54个
Model类 57个
Controller包 25+
Service包 33+
前端页面模块 40+
API资源文件 28个
Prompt模板 32个
支持LLM模型 13个
部署区域 10个环境
活跃开发周期 2026.03 - 2026.04
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐