公司动态
自触发智能体推送系统:从被动推送到主动感知的架构设计与实现
1. 项目概述从被动推送到主动感知“推送推荐系统”这个概念大家都不陌生。我们每天都被各种App的推送通知轰炸从新闻头条、电商促销到社交媒体更新。但传统的推送系统本质上是一个“被动响应”的机器它依赖预设的、固定的触发规则比如用户打开App、到达某个时间点、或发生了某个特定事件然后根据一个静态的模型计算出一个“此时此刻”最可能被点击的推荐再推送给用户。这带来了几个核心痛点时机错配、意图误判和体验割裂。你刚开完一个两小时的会手机静音一打开却收到十几条“实时”新闻推送信息早已过时这就是时机错配。你只是在聊天时提到了“露营”下一秒购物App就给你狂推帐篷和睡袋完全无视你可能只是闲聊这就是意图误判。更不用说不同App的推送各自为政无法理解你当前的整体状态和跨场景需求导致体验割裂。而“A Self-Triggered Agentic Push Recommendation System”自触发智能体推送推荐系统我们姑且称之为STEPS系统要解决的正是这些问题。它的核心思想是赋予推荐系统“自主决策何时推送”的能力而不仅仅是“推送什么”。这里的“Self-Triggered”是关键系统不再等待外部指令而是像一个拥有“嗅觉”和“直觉”的智能体Agentic持续感知用户与环境的状态流主动判断“现在是不是一个合适的打扰时机”以及“什么信息在此时对用户最有价值”。Agentic在这里意味着系统具备目标导向、环境感知和序列决策的能力。这不仅仅是优化了一个参数而是重构了整个推荐范式的底层逻辑。它从“事件-响应”模式转向了“状态-决策”模式。结合当前热门的Agentic RAG智能体检索增强生成和Decision Transformer决策Transformer等思想我们可以构建一个能理解长期目标、进行复杂序列推理的推送智能体。简单来说它不再是一个“推荐计算器”而是一个“用户体验管家”。2. 系统核心架构与设计哲学一个传统的推送系统流水线大致是事件触发器 - 召回 - 排序 - 推送。STEPS 系统需要在这个链条的最前端插入一个全新的、更复杂的模块推送决策智能体。整个系统的架构将演变为一个双层决策过程。2.1 整体架构感知、决策与执行环STEPS 系统的核心是一个运行在后台的、持续活跃的智能体服务。其架构可以分解为以下几个核心组件多模态状态感知器这是系统的“眼睛和耳朵”。它持续收集并融合多种信号源构建一个实时的、高维的用户状态画像。这些信号包括显式行为流App 使用日志、点击序列、搜索历史、浏览时长。隐式上下文设备传感器数据如加速度计判断是否在行走/静止、时间工作日/周末、时刻、地理位置家/公司/通勤路上。跨应用信号在用户授权和隐私合规前提下通过系统级通知中心或沙盒化分析抽象理解用户当前的“数字注意力焦点”例如刚结束一个视频会议、正在使用文档编辑软件。用户长期目标与画像从历史数据中学习到的用户兴趣主题、近期计划如从日历中提取的“周末自驾游”事件。推送价值与打扰成本评估器这是系统的“价值判断中枢”。对于候选的推送内容如一篇待推荐文章、一个促销活动该模块需要估算两个关键值即时价值 V(t, c, u)在时刻t向用户u推送内容c的预期收益。这不仅仅是点击率CTR更包括点击后的深度互动阅读完成率、购买转化、信息效用性如紧急新闻以及对用户长期兴趣的满足度。打扰成本 C(t, u)在时刻t打断用户u所导致的负面体验的量化估计。这取决于用户当前的状态如“深度工作模式”、“睡眠中”、“会议中”、历史打扰容忍度以及对推送的总体疲劳度。自触发决策器这是系统的“大脑”也是Self-Triggered和Agentic特性的集中体现。它接收状态感知器的输入和评估器的输出但它的任务不是简单地比较V C。它需要解决一个序列决策问题现在不推可能错过最佳时机现在推了可能让用户烦躁并降低未来推送的效果。这类似于一个最优停止问题。Decision Transformer模型在这里大有可为它可以将决策历史状态、动作、回报作为一个序列来建模直接输出“触发”或“等待”的动作并能考虑长期回报。内容生成与编排器一旦决策器决定触发这个模块负责生成最终的推送消息。这里可以引入Agentic RAG的思想。智能体不仅检索最相关的内容还会根据当前用户状态和上下文动态地生成或重写推送文案。例如同样是推荐一篇关于“决策Transformer”的论文在用户通勤时可能生成简短的摘要和亮点在用户晚上深度阅读时则可能提供更详细的概述和链接。反馈学习环用户对推送的每一次反应忽略、点击、阅读后点赞/收藏、直接关闭通知权限都是宝贵的反馈。这些反馈不仅用于优化推荐模型召回/排序更重要的是用于优化推送决策器和打扰成本模型形成一个闭环学习系统。2.2 为什么是“自触发”与“智能体”传统的定时或事件触发是“开环”的它假设触发时机是已知或预设的。而现实世界用户的注意力状态是连续、动态且难以预测的。“自触发”的本质是将时机选择本身作为一个需要持续优化的决策变量。“智能体”的引入则赋予了系统目标导向和长期规划的能力。推送系统的终极目标不是最大化单次推送的点击率而是在一个长周期内比如一天、一周最大化用户的整体满意度和价值获取同时最小化打扰带来的疲劳感。一个智能体可以通过强化学习或序列建模如 Decision Transformer来学习这一长期策略。注意这里存在一个重要的工程与伦理平衡。持续的状态感知和决策计算对设备电量、计算资源和用户隐私都是挑战。在实际设计中我们通常采用“云端轻量感知模型 本地差分隐私聚合 设备端关键决策”的混合架构确保效率与隐私的兼顾。3. 关键技术点深度解析实现 STEPS 系统需要融合多个前沿且实用的技术方向。下面我们拆解几个最核心的技术点。3.1 状态表征如何量化“用户当下状态”这是所有后续决策的基础。我们不能仅仅使用原始特征需要构建一个能概括用户当前“可被打扰性”和“兴趣接收度”的稠密状态向量。一个实用的方法是构建一个多通道状态编码器注意力通道通过手机解锁频率、当前前台应用类型社交/工具/娱乐、传感器活动水平估算用户当前的注意力带宽高/中/低。场景通道通过时间、地理位置、连网环境Wi-Fi/5G识别“通勤”、“办公室工作”、“家庭休闲”、“夜间休息”等抽象场景。兴趣就绪度通道基于用户近期行为过去1小时内的搜索、浏览使用短期兴趣模型输出其对各个兴趣主题如科技、体育、美食的实时兴趣热度。疲劳度通道一个随时间衰减的累加器记录近期推送的曝光频率和负反馈忽略、关闭表征用户对推送的“厌烦”程度。将这些通道的输出通过一个融合网络如简单的全连接层或注意力层生成一个统一的状态向量 s_t。这个s_t就是决策智能体观察世界的“眼睛”。3.2 决策核心从规则到序列模型早期实现可能基于规则引擎IF 场景 “居家休闲” AND 注意力 “低” AND 兴趣匹配度 阈值 THEN 触发。但规则难以处理复杂且连续的状态空间也无法优化长期收益。Decision Transformer (DT)为此类问题提供了优雅的范式。我们可以将推送决策建模为一个离线强化学习或序列建模问题状态 (S)上文所述的状态向量s_t。动作 (A)二元动作0代表“等待”1代表“触发推送”。回报 (R)这是一个需要精心设计的函数。一次推送动作的回报不能立即获得。我们可以定义延迟回报例如在推送后一段时间窗口内如30分钟若用户点击并产生了正向互动阅读60秒、点赞、收藏则回报为V价值若用户忽略或直接关闭通知则回报为-C成本。如果动作是“等待”则回报为0但保留了未来可能获得更高回报的机会。DT 模型以“回报-状态-动作”的序列作为输入通过 Transformer 架构学习其中的因果关系从而在给定目标回报我们希望最大化长期累积回报和当前状态时预测出最优的下一个动作。对于推送决策我们可以训练 DT 模型来预测在追求高长期用户满意度的目标下当前状态应该执行什么动作。实操心得在冷启动阶段可以先使用基于规则的策略或简单监督学习将历史成功推送的时机作为正样本来收集初始数据。然后用这些数据训练一个初始的 DT 模型。上线后通过在线学习或定期增量训练利用新产生的状态动作回报序列数据不断微调模型使其适应数据分布的变化。3.3 价值与成本评估定义系统的“价值观”V(t, c, u)和C(t, u)的估算至关重要它们定义了系统的“价值观”。即时价值 V 的估算这可以拆解为一个多任务学习模型。主任务仍然是预估点击率CTR但可以同时预估点击后的深度转化率CVR、阅读时长、分享概率等。最终V可以是这些预测值的加权和权重反映了业务目标是追求点击量、阅读深度还是转化。关键点在于输入特征必须包含强时效性上下文例如“内容发布时间与当前时间的差值”、“当前状态与内容主题的关联度”。打扰成本 C 的估算这是一个更具挑战性的问题因为负面反馈通常比正面反馈更稀疏和模糊。我们可以从以下几个维度构建特征状态成本基线为不同基础状态设定基础成本例如“睡眠状态”成本无穷大“会议状态”成本很高“无聊通勤”成本较低。这可以通过对用户免打扰设置或日历数据的分析得到。个性化疲劳度用户历史对推送的负反馈率忽略、关闭通知的滑动窗口均值。推送频次惩罚距离上一次推送的时间越短本次推送的边际成本越高。可以设计一个指数衰减的函数。 最终C可以建模为一个回归模型以上述特征为输入以用户负面反馈如推送后立即锁屏、关闭通知作为监督信号进行训练。3.4 Agentic RAG 在内容生成中的应用当决策器决定触发后推送什么内容由传统的推荐模型给出候选列表。但最终的推送文案可以借助Agentic RAG进行升华。检索根据用户实时状态和兴趣从内容库中检索出最相关的候选内容。智能体编排一个文案生成智能体会被激活。它的“行动”包括分析理解检索到的核心内容。规划结合用户当前状态如“只有15秒注意力” vs “可能有2分钟深度阅读时间”决定信息呈现的密度和角度。执行生成多条不同风格简洁型、悬念型、利益点突出型的候选文案。评估使用一个轻量级模型如微调的小语言模型对候选文案的吸引力、相关性和可读性进行打分。生成选择得分最高的文案或将其组合成最终推送。例如推荐一篇“Python 异步编程详解”的文章。对于状态为“碎片化时间”的用户文案可能是“ 3分钟掌握Python异步核心告别卡顿附速查表”。对于状态为“深度学习模式”的用户文案则可能是“深入理解 asyncio 事件循环从生成器到 async/await 的完整演进路径 #技术深度”。4. 系统实现与工程化挑战将上述架构落地会面临一系列工程挑战。这里我们讨论一个可行的分阶段实施路径。4.1 阶段一基于规则与轻量模型的混合系统在项目初期不建议直接上马复杂的 Decision Transformer。一个稳健的起点是构建一个混合决策系统。硬性规则过滤器首先建立一组绝对不可触发的“红线规则”。例如用户设备处于“睡眠”或“勿扰”模式。用户当前地理位置在特定区域如电影院、医院。过去一小时内已触发超过 N 次推送。这些规则优先级最高直接否决触发。软性打分排序器通过红线规则的候选进入打分阶段。我们可以设计一个触发倾向分 ScoreScore w1 * Value_Prediction w2 * (1 - Cost_Estimation) w3 * State_Quality其中Value_Prediction来自价值模型Cost_Estimation来自成本模型State_Quality是一个对当前状态是否“适合接收信息”的简单评估如设备静止、连接Wi-Fi、处于休闲场景则得分高。w1, w2, w3为可调权重。动态阈值触发并非所有 Score 0 的都触发。我们可以设置一个动态阈值Threshold f(今日已推送次数 用户平均打开率)。随着当日推送次数增加阈值线性或指数提高实现自动的流量控制。这个阶段的核心是快速搭建起状态感知、价值/成本评估的管道并收集高质量的决策日志状态 动作 后续反馈为后续的模型迭代准备数据。4.2 阶段二引入序列决策模型当积累了足够的数据例如数百万条状态动作回报序列后可以引入 Decision Transformer 或基于 LSTM/GRU 的深度强化学习模型来替代或辅助打分排序器。关键实现步骤数据准备将用户日志按会话切分构建序列。每个序列元素包含[回报-to-go, 状态向量, 动作]。其中“回报-to-go”是从当前时刻到序列结束的累积回报这是一个关键技巧让模型能理解当前决策的长期影响。模型训练使用 Transformer 或循环神经网络以“回报-to-go”和“状态”为条件预测下一个“动作”。这是一个监督学习任务数据来自历史策略阶段一的混合系统产生的轨迹。在线服务与 A/B 测试将训练好的 DT 模型部署为决策服务。通过严格的 A/B 实验对比新模型与旧规则系统在核心指标上的差异。指标不仅包括点击率更要关注用户每日主动打开App的次数、通知权限关闭率、用户留存率等长期体验指标。4.3 工程挑战与应对策略实时性要求状态感知和决策需要在毫秒级完成。解决方案是采用流式计算框架如 Flink处理行为日志将计算好的状态向量存入高速缓存如 Redis。决策模型需要高度优化甚至部分轻量逻辑可以下移到设备端。数据稀疏与冷启动对于新用户或低频用户状态信息稀疏。需要利用迁移学习从相似用户群学习和基于内容的泛化特征。在决策时对新用户采用更保守的、偏向规则的策略。探索与利用的平衡为了学习更好的策略系统有时需要“探索”——在不确定是否最优的时机进行推送。这可能会短期影响体验。需要设计安全的探索机制例如仅在小流量用户群或价值较低的推送内容上进行探索。系统复杂性STEPS 涉及多个子系统监控和调试难度大。必须建立完善的指标监控体系包括各模块的输入输出分布、决策延迟、模型预测分数分布等并能够对单次推送进行全链路追溯方便排查问题。5. 效果评估与常见问题排查评估一个 STEPS 系统绝不能只看点击率。我们需要一套多维度的评估体系。5.1 核心评估指标体系指标类别具体指标说明效率指标推送点击率 (CTR)基础指标但需结合其他指标看。推送后深度转化率点击后的阅读完成率、购买转化率等衡量推送内容的质量。人均价值获取量推送点击次数 × 每次点击平均价值 / 用户数。衡量系统创造的总价值。体验指标日均有效推送次数用户有点击或正向交互的推送次数。比总推送次数更重要。通知权限关闭率STEPS 系统的“生命线”指标必须显著低于传统系统。用户推送满意度评分NPS通过定期问卷或表情反馈点赞/踩收集。用户主动打开App频次好的推送应引导用户更频繁地主动使用而非被动接收。系统指标决策延迟 (P95/P99)从事件发生到做出决策的耗时影响实时性。状态覆盖率系统能识别和处理的用户状态比例。5.2 常见问题与排查思路在实际运行中你可能会遇到以下典型问题问题1推送量骤降但点击率飙升。排查这通常是决策模型或成本评估C(t,u)变得过于“保守”所致。检查成本模型的特征输入是否有异常例如疲劳度通道的计算是否因数据延迟而异常增高。查看决策模型的预测分数分布是否整体左移。可能是模型在线上学习到了负反馈的过强信号。解决临时调低动态阈值或对成本模型加入平滑处理。检查负反馈数据流是否有脏数据污染。问题2部分用户反馈“该来的推送没来”。排查这是“漏推”问题。首先进行个案分析追踪该用户在当时的状态向量和决策过程。很可能是状态感知器未能正确识别用户的“高价值接收状态”例如误将用户的专注工作状态识别为高成本状态。也可能是价值评估模型对该用户某类兴趣的内容估值普遍偏低。解决增加状态识别的特征维度特别是能区分“创造性工作”和“可中断性工作”的信号。在价值模型中引入个性化的兴趣权重校准。问题3系统在夜间产生了少量推送引发投诉。排查这是红线规则或状态识别失效的严重问题。立即检查“睡眠状态”识别规则依赖的是系统勿扰模式还是基于传感器和使用的推断模型检查是否有边缘情况未覆盖如用户在国外有时差。解决强化硬性规则加入绝对时间窗口禁止如当地时间凌晨1点至6点。提升状态识别模型的准确率并加入人工审核规则对极端案例进行拦截。问题4Decision Transformer 模型在线服务时延迟过高。排查DT 的 Transformer 解码是自回归的虽然我们的动作空间是二元的但序列长度可能影响速度。检查模型尺寸是否过大输入序列长度是否可裁剪。解决对模型进行蒸馏得到一个更小更快的模型。将历史序列长度限制在最近N步如最近10次决策。考虑使用更轻量的序列模型如 Lite Transformer进行替代或在决策频率低的时段使用复杂模型高峰时段使用简化模型。构建一个成功的 STEPS 系统是一个持续迭代和平衡的过程。它不仅仅是算法和模型的堆砌更是对用户体验深层次理解的工程化体现。从简单的规则出发逐步引入更智能的模型并始终以一套全面的指标来衡量真实效果才能让这个“自触发智能体”真正成为用户数字生活中贴心、不打扰的助手而不是又一个制造噪音的来源。