三栏一体化 AI 话术策略工作台
本文档详细说明系统二(callout-server 与 callout-webpage)中三栏一体化 AI 话术策略工作台(/ai/strategies)的架构设计、视觉动线、核心功能与实操规范。
1. 架构背景与设计理念
callout-webpage 的三栏一体化话术策略工作台基于以流程为中心(Flow-Centric)的节点内联 Prompt 架构构建:
- 话术与策略同构:提示词、意图分支、抽取字段及采样温度作为流程节点(
nodes[].data)的内联属性,版本随流程脚本统一沉淀; - 沉浸式三栏动线:左侧大纲树快速定位节点,中间黄金视区深度调优与微拓扑穿透,右侧常驻即时拨测与思考链洞察;
- 无损原子更新:通过专用原子更新接口,微调 Prompt 毫秒级落库,不破坏画布全图结构。
2. 三栏工作台全景架构与视觉动线
工作台通过系统二前端一级菜单「AI 策略运营中心」(路由 /ai/strategies)访问,布局遵循宽屏沉浸式工作流设计:
┌───────────────────────────────────────────────────────────────────────────────────────────────────┐
│ 顶部操作栏: AI 策略运营中心 | [Dirty 徽章] [刷新] [打开画布] │
├────────────────────┬───────────────────────────────────────────┬──────────────────────────────────┤
│ 1. 话术与节点大纲 │ 2. 节点深度调优区 (黄金视区) │ 3. 常驻即时拨测中心 │
│ (~280px) │ │ (默认 440px,可折叠) │
│ │ - 节点身份徽章与微拓扑链条 (前驱 ➜ 当前 ➜ 后继) │ │
│ - 话术脚本列表筛选 │ - [AI 生成 ▾] [原子保存] │ - 草稿实时拨测 (无需保存即刻生效)│
│ - 自动提取 AI 节点 │ - System Prompt 编辑与上下文变量 (+变量名) │ - 意图命中判断 / 槽位抽取结果 │
│ • router (决策) │ - Exit Prompt (Chat 节点多轮退出分支判定) │ - Chat 多轮流式会话仿真 │
│ • collect (抽取) │ - 推理温度 (Temperature) 滑块与数值输入 │ - 原始返回 (Raw Output) 折叠 │
│ • chat (对话) │ - 候选分支 / 抽取字段展示 │ - 思考链 (Thinking Process) 折叠 │
│ - 未保存脏状态提示 │ - 全量 Prompt 预览 │ │
└────────────────────┴───────────────────────────────────────────┴──────────────────────────────────┘2.1 左栏:话术与 AI 节点大纲树(StrategyScriptOutline)
- 功能定位:目录导航与节点快速检索。
- 核心逻辑:
- 加载当前租户下的全部流程脚本列表,并在前端自动遍历
flowJson.nodes,筛选提取类型为router、collect、chat的 AI 决策节点。 - 每个节点以特定色系图标、节点名称、类型标识(如
收集节点、路由节点、多轮对话)紧凑呈现。 - 脏状态穿透:当某个节点在中间编辑区被修改且未保存时,大纲树中该节点右侧高亮显示黄色编辑状态徽章,防止运营人员误切丢失草稿。
- 支持按话术名称模糊搜索,并提供一键跳转至流程设计器画布(
/flow-scripts?scriptId=...)的穿透入口。
- 加载当前租户下的全部流程脚本列表,并在前端自动遍历
2.2 中栏:节点深度调优区(StrategyNodeEditor)
- 功能定位:核心创作视区,兼顾微拓扑上下文感知与 Prompt 深度调教。
- 核心逻辑:
- 微拓扑时序链(Micro-Topology): 工作台根据
flowJson.edges动态计算当前节点的前驱节点(prev)与后继节点(next,包含分支路由条件branchKey),以水平流程链条形式展示在顶部:text运营人员可直接点击前驱或后继节点徽章,平滑切换调优上下文,无需反复返回大纲树。流程时序: [前驱: 开场白欢迎] ──东──> [当前: 意向分流跟进] ──东──> [高意向] [预约确认] / [拒绝] [挽留安抚] - System Prompt 调优与变量注入: 配置大模型的人设约束、场景上下文与判定规则。上方提供「插入上下文变量」标签条(如
+ customer_name、+ appointment_time等),点击即可自动将模板占位符插至光标处。 - Exit Prompt 调优(Chat 节点专属): 针对多轮会话节点的退场与意图跳转判定,独立配置退出指令(例如“客户明确表达暂不需要或反感时退出至拒绝分支”)。
- 推理超参控制: 实时调节采样温度(
temperature,0.0 ~ 1.0),界面明确标注文档推荐基准(例如结构化路由推荐0.1,开放式对话推荐0.7)。 - 分支与字段概览: 直观陈列当前节点绑定的路由分支列表(
branches)或待抽取字段清单(fields),鼠标悬停查看字段校验规则或分支描述。
- 微拓扑时序链(Micro-Topology): 工作台根据
2.3 右栏:常驻即时拨测中心(StrategyLivePlayground)
- 功能定位:所见即所得的验证实验室,支持一键折叠收起。
- 核心逻辑:
- 草稿实时拨测:右栏调测请求直接打包中栏当前的未保存草稿(包含当前修改的 System Prompt、Exit Prompt、Temperature 等)。运营人员无需先点保存再测试,真正做到“随改随测、毫秒验证”。
- 分节点差异化验证:
router节点:输入用户模拟语料,返回识别意向命中分支(如high_intent)、置信度与分类解释。collect节点:输入用户自然语言回答,返回结构化字段 JSON 抽取结果及校验通过状态。chat节点:提供完整的双向多轮会话模拟窗口,支持流式打字输出、意图退出判定及上下文重置。
- 调试洞察面板:
- Raw Output 折叠:展示大模型返回的原生文本与完整 JSON 报文,支持一键复制,便于排查数据解析异常。
- Thinking Process 思考链:针对具备推理链(如 DeepSeek-R1、Qwen-Thinking)的模型,折叠展示思考过程,辅助调优 Prompt 指令强度。
3. 核心特色功能详析
3.1 一句话智能定制生成(AI Prompt Generation)
为了降低一线业务人员编写高质量 Prompt 的门槛,中栏操作区集成了「AI 生成」功能:
- 节点属性上下文感知:后端自动分析当前节点的类型、名称、上游传入变量、绑定的意图分支(Key / Label / Description)或抽取字段白名单;
- 一句话诉求微调:点击「AI 生成」按钮右侧下拉三角,弹出「一句话智能定制生成」浮层。运营人员只需输入通俗的业务诉求(例如:“针对刚毕业的年轻租房群体,语气亲切热情,重点引导加微信详聊”);
- 高质量模板合成:调用后端生成服务(
POST /api/ai/generate-profile),大模型自动产出符合语音交互规范(短句、口语化、抗幻觉约束)的 System Prompt,并直接回填至编辑器供运营人员确认。
3.2 流程节点内联 Prompt 原子更新(POST /api/scripts/node-prompt-update)
传统的全图保存机制在多人协同或微调单个节点时风险极高。工作台采用高内聚的原子局部更新机制:
http
POST /api/scripts/node-prompt-update
Content-Type: application/json
Authorization: Bearer <token>
{
"scriptId": 12,
"nodeId": "route-intent",
"systemPrompt": "你是一名专业的售后回访客服,严格按照满意度评分规则进行判定...",
"temperature": 0.1,
"exitPrompt": "当客户提出投诉时跳转至 complaint 分支"
}- 执行特征:
- 服务端精准锁定
callout.scripts表中指定id的记录; - 仅定位
flowJson.nodes中匹配nodeId的节点,局部打补丁更新其data属性; - 刷新记录的
updatedAt与updatedBy审计字段; - 绝不触碰连线(
edges)、其他节点坐标或未修改属性,彻底杜绝协同覆盖冲突。
- 服务端精准锁定
4. 典型场景调优实操指南
场景一:调优意图分类节点(Router)
- 在左侧大纲树中展开目标外呼脚本,选中意图分流节点(如
route-intent); - 观察中栏顶部的微拓扑,确认该节点前驱为开场提问,后继包含
high_intent、low_intent、reject; - 查看 System Prompt。如需强化对“委婉拒绝”(例如“在开会”、“没时间”)的识别能力,在 System Prompt 中追加针对性少样本说明(Few-shot);
- 保持 Temperature 为
0.1(保证分类决策的稳定确定性); - 无需保存,直接在右栏即时拨测区输入:“我现在正好在开车,待会儿再说吧”;
- 观察右栏返回:
- 检查命中分支是否正确解析为
reject或callback_later; - 展开
Raw Output确认大模型输出格式为合法的{"decision": "reject", "reason": "客户反馈在开车"};
- 检查命中分支是否正确解析为
- 拨测验证无误后,点击中栏右上角「保存修改」,通过
POST /api/scripts/node-prompt-update接口持久化生效。
场景二:调优信息抽取节点(Collect)
- 在大纲树中选中信息采集节点(如
collect-profile); - 中栏核对声明的待抽取字段:
customer_name(文本)、budget(数字)、has_loan(布尔); - 若大模型经常漏抽隐式表达的预算,可点击「一句话定制」,输入:“客户可能会说‘两三千块钱’或‘预算千把块’,需要准确换算为数字类型”,生成增强后的提示词;
- 在右栏输入:“我叫王大锤,大概就想找个月租两千到两千五的,不要贷款”,点击拨测;
- 右栏即刻高亮展示抽取出的字段树:json
{ "customer_name": "王大锤", "budget": 2250, "has_loan": false } - 验证抽取逻辑正确后点击保存。
5. 权限与最佳实践建议
- 权限要求:访问工作台需具备
ai:strategy或管理员权限。 - 发布规范:
- 生产环境建议在话术正式上线前,覆盖正向、反向、边界歧义语料各至少 3 组进行拨测;
- 调优时优先调小 Temperature(0.0 ~ 0.2)以保证意图分类的确定性;涉及主观润色和安抚时才适当放宽至 0.6 ~ 0.8;
- 涉及流程大结构调整(增删节点、修改连线出口)时,应点击顶部「打开画布」进入流程设计器操作;微调话术与 Prompt 时,推荐始终在三栏策略工作台中完成闭环。