创源无限CDP-AI助手方案:从数据洞察到智能填充的闭环实践

作者:wwd    日期:2026-4-27

在 CDP(客户数据平台)的实际应用中,侧边栏往往只是“问答窗口”。而创源无限将侧边栏重塑为“AI 驱动的自动化配置引擎”——它能听懂你的分析需求,自动生成结构化配置(如标签体系、分群规则),甚至直接帮你把内容填入 CDP 界面。本文将从数据流转、工作流结合、上下文注入、自动填充四个维度,拆解这一方案的技术实现路径。


一、数据流转:侧边栏如何把问题传给 Dify?

在Livepulse机器人助手的研发中,侧边栏本质上是一个嵌入在 CDP 网页中的聊天组件。当用户在前台输入问题时,前端 JavaScript 会捕获这个输入,并通过 HTTP 请求发送给部署在后端(或本地)的 Dify 服务。

典型交互路径:

  • 用户行为:用户在右侧“数据分析”侧边栏的输入框中输入:“帮我分析一下昨天新用户的留存率”。
  • 前端捕获:侧边栏的 UI 组件监听到 onSubmit事件,获取到文本 query
  • API 调用:前端通过 fetchaxios调用 Dify 的 API 接口。
    • 如果是纯问答模式:调用 /v1/chat-messages(非流式)或 /v1/chat-messages?response_mode=streaming(流式,体验更好,逐字输出)。
    • 如果是触发特定工作流:调用 /v1/workflows/{workflow_id}/run
  • 参数传递:除了问题本身,请求体中通常会携带 inputs(输入变量),比如当前选中的时间范围、当前查看的报表 ID 等,以便 Dify 理解上下文。

示例代码逻辑(前端 Vue/React):

/
// 侧边栏组件中的发送函数
async function sendMessageToDify(question) {
  const response = await fetch('https://your-dify-api/v1/chat-messages', {
    method: 'POST',
    headers: { 
      'Authorization': 'Bearer YOUR_API_KEY', 
      'Content-Type': 'application/json' 
    },
    body: JSON.stringify({
      inputs: {
        // 传递当前界面的上下文,如选中的用户群体、时间
        current_segment_id: "seg_123",
        time_range: "last_7_days"
      },
      query: question,
      response_mode: "streaming", // 流式响应,实时显示
      conversation_id: "conversation_xyz" // 保持会话上下文
    })
  });

  // 处理返回的流式数据,逐块更新侧边栏的聊天框
  const reader = response.body.getReader();
  while (true) {
    const { done, value } = await reader.read();
    if (done) break;
    const chunk = new TextDecoder().decode(value);
    updateChatUI(chunk); // 将新收到的文字追加到聊天框
  }
}

二、工作流结合:Dify 内部如何执行?

当 Dify 收到请求后,根据你们配置的“应用类型”,有两种结合方式:

A. 聊天机器人模式(推荐用于侧边栏交互)

你们在 Dify 中创建一个 “对话型应用 (Chat App)”

  • 结合点:在应用的“Prompt”编排区域,你们可以定义系统提示词(System Prompt),例如: “你是 CDP 的智能分析助手。用户正在查看‘受众特征’页面。如果用户询问数据,请优先调用 Timeplus MCP 工具查询最新数据,并用通俗的语言解释。”
  • Agent 机制:Dify 会根据 Prompt 自动决定是否调用你们配置的 Timeplus MCP 工具。如果调用,它会先发送 SQL 给 Timeplus,拿到结果后再组织成自然语言回复给用户。

B. 工作流模式(推荐用于复杂任务)

如果某个功能逻辑非常复杂(例如:“一键生成用户流失预警报告”),你们可以在 Dify 中创建一个 “工作流 (Workflow)”

  • 结合点:侧边栏不仅仅发送聊天,而是直接触发这个工作流。
  • 触发方式:前端调用 /v1/workflows/run接口。
  • 流程执行:工作流内部是一系列节点(开始 -> 调用 Timeplus 查询 -> 条件判断 -> 调用大模型总结 -> 结束)。侧边栏只需要发起请求,然后等待 Dify 返回最终结果即可。

三、上下文注入:如何让 AI 知道“当前在看什么”?

为了让 AI 的回答贴合当前界面的数据,你们需要在每次提问时,将当前界面的状态作为变量传递给 Dify。

  • 当前选中的数据:比如在“受众特征”页,选中了“北京地区的女性用户”。
  • 传递方式:在前端发送请求时,将这些信息放入 inputs字段。
  • Dify 使用:在 Dify 的 Prompt 中,你可以这样写: “当前用户筛选条件是:{{inputs.region}} 和 {{inputs.gender}}。请基于这些条件回答用户的问题。”

这样,AI 就不需要每次都问“你在看哪个页面?”,而是直接基于你给它的上下文进行推理。

总结:侧边栏与 Dify 的工作流闭环

  1. 输入:用户在 CDP 侧边栏输入自然语言问题。
  2. 传递:前端 SDK/JS 捕获问题 + 当前界面上下文,发给 Dify API。
  3. 决策:Dify (Agent) 解析问题,决定是直接回答还是调用 Timeplus MCP 工具。
  4. 执行:如果调用 MCP,Dify 向 Timeplus 发送查询,Timeplus 返回数据。
  5. 生成:Dify 将原始数据或查询结果代入 Prompt,生成人类可读的分析结论。
  6. 输出:Dify 将结果通过 API 流式返回给侧边栏,侧边栏实时渲染出答案。

四、AI 侧边栏技术实现路径:从“对话”到“自动填充”

整个流程的核心在于利用 Dify 的 JSON 结构化输出(Structured Output)​ 能力,将自然语言指令转化为机器可读的操作指令。

1. Dify 工作流:定义“标签体系”的 JSON Schema

在 Dify 的工作流(Workflow)中,核心是配置一个 LLM 节点,并开启 “结构化输出”​ 功能。你需要预先定义好 AI 返回数据的“合同”(Schema)。

  • Prompt 提示词设计: “你是一个 CDP 标签体系专家。根据用户需求,生成符合以下 JSON 格式的标签配置方案。请严格输出 JSON,不要有任何其他文字。”
  • JSON Schema 定义(示例): 在 Dify 的 LLM 节点中,设置你期望的返回格式。例如,一个标签体系的 Schema 可以这样定义: { "type": "object", "properties": { "tag_system_name": { "type": "string" }, "tags": { "type": "array", "items": { "type": "object", "properties": { "tag_name": { "type": "string" }, "tag_type": { "type": "string", "enum": ["behavior", "attribute", "prediction"] }, "rule_definition": { "type": "string" } } } } } }

这样,当用户输入“帮我设计一个电商用户流失预警标签体系”,Dify 返回的将不再是杂乱的自然语言,而是规整的 JSON 对象。

2. 侧边栏前端:解析 JSON 并自动填充

侧边栏接收到 Dify 的 JSON 响应后,不再只是 console.log,而是执行数据解析和 DOM 操作。

  • 前端逻辑伪代码// 1. 调用 Dify API(携带当前页面上下文) const difyResponse = await fetchDifykflow('desWorign_tag_system', userInput); // 2. 解析 Dify 返回的 JSON(假设返回结构为 { tag_system_name: "...", tags: [...] }) const tagPlan = JSON.parse(difyResponse.output); // 3. 自动填充 CDP 标签管理页面的表单 // 3.1 填充标签体系名称 document.getElementById('tag-system-name').value = tagPlan.tag_system_name; // 3.2 动态填充标签列表(假设是表格形式) tagPlan.tags.forEach((tag, index) => { // 找到对应的输入框并赋值 document.querySelector(`[data-row="${index}"] [data-field="name"]`).value = tag.tag_name; document.querySelector(`[data-row="${index}"] [data-field="rule"]`).value = tag.rule_definition; }); // 4. (可选)自动点击“保存草稿”或“下一步”按钮 // document.getElementById('save-draft-btn').click();

注意:如果你们的标签配置页面非常复杂(如弹窗、多步骤),建议先让 AI 填充到“草稿”区域,经用户确认后再正式提交,避免误操作。

3. 深度集成:直接调用 CDP 管理 API(进阶)

如果你们希望完全“无感”自动化,可以跳过 DOM 操作,让侧边栏直接调用你们 CDP 的后端 API。

  • 流程升级: a. Dify 返回标准的 JSON 配置。 b. 侧边栏前端直接调用 CDP 的 POST /api/v1/tag-systems接口,将 JSON 作为请求体发送。 c. CDP 后端接收后,直接在数据库中创建标签体系。
    • 优势:更稳定,不依赖前端 DOM 结构变化。
    • 风险:需要极高的信任度,建议保留“预览确认”环节。

五、结合 Timeplus 的实战场景

假设你们的具体场景是:“分析 Timeplus 中的用户行为流,自动生成行为标签”。

  1. 用户侧边栏输入:“分析最近 7 天‘加入购物车但未支付’的用户,为他们生成一个‘高意向未转化’标签。”
  2. Dify 工作流执行:
    • 节点1(MCP):调用 Timeplus MCP 工具,执行 SQL 分析行为数据。
    • 节点2(LLM):基于分析结果,生成具体的标签规则(如 event_name='cart_add' and payment_status is null)并封装成上述的 JSON Schema。
  3. 侧边栏接收:拿到 JSON,自动在 CDP 的标签管理界面创建名为“高意向未转化”的标签,并填入规则。

六、避坑指南与最佳实践

  • 安全兜底:绝对不要让 AI 直接拥有“保存”权限。流程必须是:AI 生成建议 (JSON) → 侧边栏渲染预览 → 用户确认/微调 → 手动点击保存。防止 AI 幻觉导致数据污染。
  • Schema 版本管理:JSON Schema 是前端和 AI 的契约,一旦定义好,不要轻易修改,否则前端解析会报错。
  • 模型选择:结构化输出(JSON Mode)对模型指令遵循能力要求较高,建议使用 gpt-4oclaude-3.5-sonnet等高性能模型,本地模型需测试其稳定性。

结语:从“问答”到“执行”,侧边栏的进化

通过 Dify 工作流 + JSON 结构化输出 + 前端自动填充,创源无限的侧边栏 AI 助手已不再是“聊天机器人”,而是“智能配置引擎”——它能听懂你的分析需求,自动生成结构化配置,甚至直接帮你把内容填入 CDP 界面,真正实现“分析即配置,配置即生效”。

如果你也在寻找让 CDP 更智能、更高效、更省力的方案,不妨从侧边栏 AI 助手开始,开启你的“AI 驱动数据运营”之旅。

创源无限,让数据流动,让智能落地。

从数据洞察到智能填充的闭环实践

https://www.creasourse.com/1.html

https://mp.toutiao.com/profile_v4/manage/content/all