必须将原始行为数据转化为结构化标签:通过sdk埋点记录停留时长、后端去重合并点击、flink实时聚合写入redis(ttl设为3600秒),再依agents.md规则生成标签,最后注入对话上下文供大模型调用。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

想让扣子智能体自动识别用户最近3次点击的品类、停留最久的页面类型、跳失率异常时段,而不是靠人工翻日志猜偏好,必须把原始行为数据转化成可推理的结构化标签。
从埋点日志提取关键行为特征
第一步:在小程序或H5前端接入扣子SDK,调用coze.track('page_view', { page: 'product_list', duration: 12800 })记录页面停留毫秒级时长。这一步漏掉duration字段,后续就无法计算“停留最久页面”。
第二步:后端接收埋点数据后,按user_id + event_time去重合并同一会话内高频点击(如1秒内连续点击3次商品卡片,只保留首次)。不合并会导致“点击品类”被噪声污染,模型误判为兴趣泛滥。
第三步:用Flink SQL实时聚合最近30分钟行为流:
SELECT user_id, COLLECT_LIST(category) AS recent_categories, MAX(duration) AS max_duration_page FROM behavior_stream GROUP BY user_id;结果写入Redis哈希表,key为user:{id}:behavior。【Redis中该哈希表TTL必须设为3600秒,超时未更新则自动清除,否则冷用户标签会持续干扰推荐】
用AGENTS.md定义行为标签生成规则
方法一:基础行为标签硬编码
在AGENTS.md中写入:behavior_tags:- if: "max_duration_page == 'article_detail'" then: "深度阅读型"- if: "COUNT(recent_categories) >= 3 AND recent_categories[0] == recent_categories[1] == recent_categories[2]" then: "垂直品类专注者"
方法二:动态阈值触发标签
添加规则:dynamic_threshold: bounce_rate_high: "AVG(bounce_count / session_count) > 0.65 OVER 7d" then_tag: "内容匹配度存疑"。注意这个规则依赖扣子内置的7日滑动窗口统计函数,不能手动写SQL替代。
将行为标签注入对话上下文
第一步:进入扣子智能体编辑页 → 点击「人设与回复逻辑」→ 在系统提示词末尾插入指令:/label behavior={{redis.hget user:{user.id} behavior}}。
第二步:确保Redis返回JSON格式包含recent_categories、max_duration_page、bounce_rate三个字段。若缺少bounce_rate字段,【OpenClaw将跳过整个behavior标签块注入,不会报错但也不会生效】。
第三步:在大模型回复节点中直接引用标签,例如:“检测到您是深度阅读型用户,以下分析侧重技术原理而非操作步骤”。这一步不需要额外配置,扣子会自动把标签字符串拼接到上下文开头。











