从0到87.3%:头部AI产品留存率跃升的7步闭环方法论,含可复用代码库
更多请点击 https://codechina.net第一章AI产品留存率的本质与行业基准解构AI产品留存率并非单纯用户是否“再次打开”的统计指标而是反映模型价值闭环能力的核心信号——它度量的是用户在真实场景中持续获得可验证收益的频次与深度。当推荐系统仅提升点击率却未降低决策成本或对话助手频繁解决表层问题却无法沉淀用户知识资产时高日活DAU可能掩盖低留存D1/D7的结构性缺陷。 行业基准呈现显著分层特征。根据2023年《AI应用健康度白皮书》抽样数据不同类别的AI产品7日留存率存在本质差异产品类型典型代表中位D7留存率关键驱动因子工具型AI代码补全、文档摘要42.3%任务完成耗时下降≥30%陪伴型AI情感对话、学习伙伴28.1%单次交互情感唤醒强度EIS≥3.7决策型AI金融风控、医疗辅助诊断65.9%关键决策采纳率≥81%且结果可回溯验证留存率的本质是“价值兑现延迟周期”与“用户认知负荷衰减曲线”的博弈。例如在SaaS化AI写作工具中可通过埋点追踪用户从首次生成→编辑→导出→复用模板的完整链路并计算各环节流失率# 计算关键路径转化漏斗示例逻辑 funnel_steps [generate, edit, export, save_template] for i in range(len(funnel_steps)-1): drop_rate 1 - (events[funnel_steps[i1]].count() / events[funnel_steps[i]].count()) print(f{funnel_steps[i]} → {funnel_steps[i1]}: {drop_rate:.2%}) # 输出揭示若 edit → export 环节流失率达67%则需优先优化导出流程的上下文继承能力提升留存的关键动作包括建立“价值锚点”机制在用户第3次使用时主动触发个性化成果报告如“您已节省127分钟编码时间”设计渐进式能力释放首周仅开放核心功能后续基于行为数据动态解锁高级模块构建可迁移资产使用户输入、微调参数、提示词模板等数据形成跨会话持久化资产第二章留存漏斗建模与关键行为路径识别2.1 基于事件时序图的用户生命周期分段理论事件时序图建模核心用户生命周期被抽象为事件序列E [e₁, e₂, ..., eₙ]其中每个事件eᵢ具有时间戳tᵢ、类型type和上下文属性。分段依据是事件密度突变点与语义聚类边界。典型分段规则获客期首次曝光至首次注册含点击、浏览等前置行为激活期注册后72小时内完成关键动作如完善资料、首单支付留存期连续7日活跃或周留存率 ≥ 40%分段判定代码示例# 基于滑动窗口计算事件密度突变 def detect_segment_breaks(events, window_sec3600): # events: list of {ts: datetime, type: str} timestamps [e[ts].timestamp() for e in events] diffs np.diff(timestamps) # 突变点间隔 3倍滚动均值 rolling_mean np.convolve(diffs, np.ones(5)/5, modevalid) return [i1 for i, d in enumerate(diffs) if d 3 * rolling_mean[i]]该函数识别事件流中的静默断点window_sec控制局部密度粒度rolling_mean缓解噪声干扰返回索引即生命周期阶段切换候选位置。分段状态转移表当前阶段触发事件转移条件目标阶段获客期register成功创建账户激活期激活期first_purchase支付成功且金额 0留存期2.2 使用PySpark构建高并发留存漏斗计算流水线核心架构设计采用“事件时间窗口 分布式状态管理”双模驱动支持百万级QPS实时漏斗路径追踪。关键组件包括Kafka直连消费器、PySpark Structured Streaming流处理器、Delta Lake分层存储。关键代码实现# 定义多阶段留存漏斗聚合逻辑 from pyspark.sql import functions as F funnel_df ( raw_stream .withWatermark(event_time, 15 minutes) .groupBy( F.window(F.col(event_time), 1 day), user_id, app_version ) .agg( F.max(F.when(F.col(event_type) install, 1)).alias(installed), F.max(F.when(F.col(event_type) login, 1)).alias(logged_in), F.max(F.when(F.col(event_type) purchase, 1)).alias(purchased) ) .filter(installed 1) )该代码基于事件时间进行水印去重按用户版本维度聚合安装、登录、购买三类行为标志位window确保按天滚动计算filter前置筛选保障漏斗起点一致性。性能对比指标方案吞吐量TPS端到端延迟资源开销单机Pandas~1,20030s4C8GPySpark Streaming120,0002.1s32C128G集群2.3 行为序列模式挖掘LSTMAttention驱动的路径聚类实践模型架构设计采用双层堆叠LSTM捕获长程依赖配合自注意力机制动态加权关键时间步class LSTMAttnPathEncoder(nn.Module): def __init__(self, input_dim, hidden_dim, num_layers2): super().__init__() self.lstm nn.LSTM(input_dim, hidden_dim, num_layers, batch_firstTrue) self.attn_w nn.Linear(hidden_dim, 1) # 时序注意力权重hidden_dim128 平衡表达力与训练稳定性batch_firstTrue 适配行为序列批处理格式B×T×D。聚类后处理流程提取LSTM最后一层所有时间步的隐藏状态 H ∈ ℝT×128经Attention加权得路径表征 v Σαt·ht使用TSNE降维后输入DBSCAN完成无监督路径分组2.4 留存归因权重分配Shapley值在多触点行为中的可解释实现Shapley值的核心思想Shapley值将用户全路径中各触点如广告点击、邮件打开、Push推送视为合作博弈中的参与者公平分配“最终留存”这一联合产出的贡献。其数学本质是所有可能触点排列下边际贡献的加权平均。简化计算示例# 三触点路径[A, B, C] → 是否留存1/0 from itertools import permutations def shapley_contribution(path_values, touchpoints): n len(touchpoints) phi {t: 0.0 for t in touchpoints} for perm in permutations(touchpoints): for i, t in enumerate(perm): S_before frozenset(perm[:i]) S_after S_before | {t} # 假设已预计算子集留存率 v(S) phi[t] (v(S_after) - v(S_before)) / (n * math.comb(n-1, i)) return phi该函数遍历所有触点排列按顺序累加每个触点加入时的边际留存提升并依组合权重归一化v(S)需通过历史路径聚合统计获得是模型可解释性的数据基础。典型触点贡献对比触点Shapley权重Last-Click权重首刷广告0.380.00次日Push0.420.00注册页访问0.201.002.5 A/B测试框架集成留存敏感型实验设计与统计功效校准留存指标分层建模针对次日、7日、30日留存率差异敏感性需在实验层注入时间衰减权重。以下为统计功效校准的核心计算逻辑def compute_min_detectable_effect( baseline_retention: float, alpha: float 0.05, power: float 0.8, daily_users: int 10000 ): # 基于二项检验的MDE估算考虑留存率方差随时间衰减 std_err np.sqrt(baseline_retention * (1 - baseline_retention) / daily_users) z_alpha stats.norm.ppf(1 - alpha/2) z_beta stats.norm.ppf(power) return (z_alpha z_beta) * std_err * 1.2 # 1.2为30日留存衰减系数该函数输出最小可检测效应MDE其中1.2系数补偿长周期留存的方差放大效应避免因低估导致统计功效不足。实验组流量分配策略新用户优先分流至实验组确保首日留存基线一致按设备ID哈希实现跨会话稳定分桶保障多日留存追踪完整性动态调整流量配比当7日留存置信区间宽度 5%时自动降级至50%流量功效校准验证矩阵留存周期基线率MDE校准后所需样本量次日42.3%±1.8%12,4007日21.7%±2.5%28,90030日9.1%±1.6%41,200第三章核心留存因子诊断与因果推断验证3.1 功能使用深度与留存强度的非线性关系建模幂律衰减假设下的用户行为建模用户功能使用深度如日均调用次数d与次周留存率r呈典型非线性关系常服从修正幂律def retention_curve(d, alpha0.42, beta0.87, baseline0.15): # d: 功能使用深度归一化后 0~1 # alpha: 深度敏感系数beta: 饱和衰减率baseline: 底线留存 return baseline (1 - baseline) * (1 - (1 - d) ** alpha) ** beta该函数避免了线性模型在高深度区间的过拟合α 控制初期响应陡峭度β 调节平台期收敛速度。关键参数校准结果参数取值业务含义α0.42 ± 0.03首3次使用即触发68%留存增益β0.87 ± 0.05深度0.7后边际收益衰减加速3.2 用户状态跃迁分析基于隐马尔可夫模型的留存阶段判定状态空间建模将用户生命周期划分为四个隐状态新客New、活跃Active、衰退ChurnRisk、流失Lost。观测变量为周频行为强度登录次数、支付金额、页面停留时长归一化得分。HMM 参数初始化# 初始概率 π转移矩阵 A发射矩阵 B pi np.array([0.6, 0.3, 0.08, 0.02]) # 新客占比最高 A np.array([[0.7, 0.25, 0.04, 0.01], # 新客→活跃概率0.25 [0.1, 0.6, 0.25, 0.05], [0.05, 0.2, 0.65, 0.1], [0.0, 0.0, 0.3, 0.7]]) # 流失态自循环强 B np.array([[0.8, 0.15, 0.05], # 新客观测低强度概率高 [0.2, 0.6, 0.2], [0.1, 0.3, 0.6], [0.05, 0.15, 0.8]]) # 流失态高静默概率该初始化反映真实业务先验新客行为稀疏、流失用户静默主导B矩阵按行为强度三档低/中/高设计确保观测可区分隐状态。前向-后向算法应用阶段典型观测序列解码后隐状态路径第1周[0.1, 0.2, 0.05]New → New → New第8周[0.02, 0.01, 0.0]Active → ChurnRisk → Lost3.3 工具链级因果效应评估DoWhy框架在AI产品场景的定制化应用因果图建模与领域适配AI产品常面临混杂偏移如用户活跃度同时影响推荐曝光与点击行为。DoWhy通过CausalModel封装领域知识将业务逻辑注入图结构model CausalModel( datadf, treatmentrecommendation_strategy, outcomeconversion_rate, common_causes[user_tenure, session_duration], # 业务定义的混杂因子 instruments[ab_test_assignment] # 工具变量规避选择偏差 )common_causes需由产研协同标注确保因果图反映真实决策链instruments利用AB测试随机性构建准实验基础。多阶段估计器协同验证为提升鲁棒性DoWhy支持并行调用不同假设下的估计器估计器适用场景AI产品示例Linear Regression线性响应假设成立CTR预估模型微调效果Propensity Score Matching高维协变量存在新老用户分群归因第四章闭环优化策略落地与自动化干预系统构建4.1 留存风险实时预警Flink流式计算动态阈值漂移检测核心架构设计采用 Flink DataStream API 构建端到端低延迟流水线对用户行为日志进行窗口聚合与异常识别。关键环节包括事件时间对齐、状态管理及自适应阈值更新。动态阈值计算逻辑public class AdaptiveThresholdFunction extends ProcessWindowFunctionLong, AlertEvent, String, TimeWindow { Override public void process(String key, Context context, IterableLong values, CollectorAlertEvent out) { double mean StreamSupport.stream(values.spliterator(), false).mapToDouble(v - v).average().orElse(0.0); double std computeStd(values, mean); // 标准差计算 double threshold mean 2.5 * std; // 动态倍数可配置 long currentCount StreamSupport.stream(values.spliterator(), false).mapToLong(v - v).sum(); if (currentCount threshold * 0.7) { // 下穿70%触发预警 out.collect(new AlertEvent(key, RETENTION_DROP, currentCount, threshold)); } } }该函数基于滑动窗口内留存率统计值实时计算均值与标准差阈值随数据分布自动漂移避免固定阈值在业务波动期误报。预警分级策略一级预警留存率低于动态阈值70%推送企业微信告警二级预警连续3个窗口触发一级预警自动触发下游诊断任务阈值漂移对比效果场景固定阈值方案动态阈值方案大促期间误报率↑ 38%误报率↔ 保持稳定日常波动漏报率↑ 22%漏报率↓ 优化至 1.2%4.2 个性化召回策略引擎基于用户Embedding的留存增强推荐模块核心架构设计该模块采用双通道Embedding融合机制行为序列编码器生成短期兴趣向量图神经网络聚合社交/互动关系生成长期稳定表征。二者通过门控注意力加权融合输出高区分度用户表征。在线服务逻辑def recall_by_user_emb(user_id: str, user_emb: np.ndarray, top_k: int 100) - List[str]: # 使用FAISS进行近邻检索余弦相似度 _, indices index.search(user_emb.reshape(1, -1), top_k) return [item_ids[i] for i in indices[0]]该函数接收用户Embedding向量在预构建的FAISS索引中执行毫秒级向量检索top_k控制召回规模item_ids为全局物品ID映射表。关键参数配置参数默认值说明emb_dim128用户/物品嵌入维度兼顾表达力与检索效率faiss_metricIP内积度量等价于归一化后的余弦相似度4.3 自适应消息触达调度强化学习驱动的推送时机与内容联合优化状态-动作空间建模智能体以用户实时行为序列、设备活跃度、历史点击率及当前小时段为状态输入动作空间定义为{立即推送、延后15min、延后1h、降权不推}×{模板A/B/C}的联合决策。奖励函数设计def reward_fn(click, delay, churn_risk): # click: 二值反馈delay: 实际延迟分钟数churn_risk: [0,1]浮点 base 1.0 if click else -0.3 time_penalty max(0, -0.02 * delay) # 每分钟衰减2% risk_penalty -0.5 * churn_risk # 高流失风险用户强抑制 return base time_penalty risk_penalty该函数平衡即时转化与长期留存延迟惩罚线性衰减流失风险采用加权抑制确保策略兼顾短期ROI与LTV。在线策略更新机制每小时聚合用户粒度的稀疏反馈点击/忽略/卸载使用Proximal Policy OptimizationPPO微调Actor网络策略蒸馏至轻量级Edge模型部署于网关层实现毫秒级决策4.4 可复用留存提升SDKPython/JS双端封装与AB验证埋点协议双端统一埋点协议设计SDK 采用 JSON Schema 定义标准化事件结构确保 Python 与 JS 端行为一致{ event: retention_check, version: 2.1, ab_group: group_b, // AB实验分组标识 session_id: sess_abc123, timestamp: 1718234567890, user_properties: { tier: premium } }该结构被双端 SDK 自动序列化并签名防止篡改ab_group字段由服务端动态下发客户端仅透传。AB验证一致性校验机制校验项Python SDKJS SDK时间戳精度毫秒int(time.time() * 1000)Date.now()签名算法HMAC-SHA256 secret_keyWeb Crypto API same secret_key轻量级初始化流程JS 端通过script异步加载自动注入window.RetentionSDKPython 端支持pip install retention-sdk提供RetentionTracker.start()入口第五章从87.3%到持续领先的工程化反思某大型金融风控平台在A/B测试中将模型线上准确率从87.3%提升至92.1%但上线后首周服务延迟飙升40%。根本原因并非算法缺陷而是特征计算链路未做工程化隔离——实时特征与离线批处理共享同一Redis集群引发缓存雪崩。特征服务分层治理策略构建独立的在线特征服务OFS采用gRPCProtobuf协议QPS承载能力提升3.2倍引入特征版本快照机制支持灰度发布与秒级回滚强制要求所有特征输出携带ttl_ms与source_timestamp元字段。可观测性驱动的迭代闭环指标类型采集方式告警阈值特征新鲜度偏差Prometheus 自定义Exporter5s触发P1告警特征覆盖率下降Flink实时统计Druid OLAP聚合99.95%自动冻结该特征稳定性保障关键代码// 特征熔断器基于滑动窗口失败率动态降级 func (c *FeatureCircuitBreaker) Allow() bool { window : c.window.Get() failureRate : float64(window.Failures) / float64(window.Total) if failureRate 0.3 window.Total 100 { c.state.Store(StateOpen) return false } return true }[特征注册中心] → [Schema校验网关] → [流量染色代理] → [多活特征集群]

相关新闻

IT与业务融合:提升企业效率的四大策略

IT与业务融合:提升企业效率的四大策略

1. 为什么IT部门需要懂业务?这个问题困扰着很多企业的管理层。我见过太多案例:IT团队埋头开发出一套"完美"系统,上线后业务部门却抱怨连连;业务部门提出需求,IT人员一脸茫然不知从何下手。这种隔阂造成的资源…

2026/10/19 1:11:23 阅读更多 →
TypeScript重构JavaScript工具函数实战指南

TypeScript重构JavaScript工具函数实战指南

1. 为什么需要重构JavaScript工具函数? 三年前接手的一个前端项目让我深刻认识到未经类型约束的JavaScript工具函数有多危险。当时一个简单的日期格式化函数因为输入参数类型混乱,导致整个订单系统显示异常,我们花了整整两天才定位到这个低级…

2026/10/19 1:11:23 阅读更多 →
月子中心批量购入遛娃神器:石家庄麦得多渠道特点与适用分析

月子中心批量购入遛娃神器:石家庄麦得多渠道特点与适用分析

石家庄月子中心批量配置遛娃神器与推车的采购逻辑分析对于石家庄及周边的月子中心运营者而言,母婴大件(如遛娃神器、婴儿推车)的配套采购并非简单的消费品购买行为,而是一项涉及成本控制、库存管理及售后运维的系统性工程。与传统…

2026/10/16 16:06:38 阅读更多 →

最新新闻

2022 年 12 月青少年软编等考 C 语言七级真题解析

2022 年 12 月青少年软编等考 C 语言七级真题解析

目录 T1. 走迷宫 思路分析 T2. 重建二叉树 思路分析 T3. 快速堆猪 思路分析 T4. 表达式 表达式树 表达式求值 思路分析 T1. 走迷宫 题目链接:SOJ D1233 一个迷宫由 R R R 行 C C C 列格子组成,有的格子里有障碍物,不能走;有的格子是空地,可以走。给定一个迷宫,求从…

2026/10/19 1:11:12 阅读更多 →
2022 年 9 月青少年软编等考 C 语言七级真题解析

2022 年 9 月青少年软编等考 C 语言七级真题解析

目录 T1. 二叉树的深度 思路分析 T2. 迷宫 思路分析 T3. Sequence 思路分析 T4. Priority Queue 练习题 思路分析 T1. 二叉树的深度 题目链接:SOJ P5096 给定一棵二叉树,求该二叉树的深度。 二叉树深度定义:从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路…

2026/10/19 1:11:12 阅读更多 →
2022 年 6 月青少年软编等考 C 语言七级真题解析

2022 年 6 月青少年软编等考 C 语言七级真题解析

目录 T1. 有多少种二叉树 思路分析 T2. 城堡问题 思路分析 T3. 快速堆猪 思路分析 T4. 重建二叉树 思路分析 T1. 有多少种二叉树 题目链接:SOJ P1039 输入 n ( 1 < n < 13 ) n\ (1<n<13) n (1<

2026/10/19 1:11:12 阅读更多 →
如何快速部署 Qwen3.5-35B-A3B-singprobe?SGLang/vLLM 流式安全探针5分钟上手教程

如何快速部署 Qwen3.5-35B-A3B-singprobe?SGLang/vLLM 流式安全探针5分钟上手教程

【免费下载链接】Qwen3.5-35B-A3B-singprobe 项目地址&#xff1a; https://ai.gitcode.com/hf_mirrors/inclusionAI/Qwen3.5-35B-A3B-singprobe 点击查看 免费下载 Qwen3.5-35B-A3B-singprobe&#xff08;SingProbe&#xff09;是构建在 Qwen/Qwen3.5-35B-A3B 之上的流式安全…

2026/10/19 1:11:12 阅读更多 →
2023 年 5 月青少年软编等考 C 语言七级真题解析

2023 年 5 月青少年软编等考 C 语言七级真题解析

目录 T1. 城堡问题 思路分析 T2. Priority Queue 练习题 思路分析 T3. 二叉树的深度 思路分析 T4. 快速堆猪 思路分析 T1. 城堡问题 题目链接:SOJ D1191 1 2 3 4 5 6 7 ############################# 1 # | # | # | | ######---#####---#---####…

2026/10/19 1:11:12 阅读更多 →
基于蒙特卡洛法的电动汽车充电负荷计算与MATLAB仿真实现

基于蒙特卡洛法的电动汽车充电负荷计算与MATLAB仿真实现

简介&#xff1a;基于蒙特卡洛法的电动汽车充电负荷计算MATLAB程序&#xff0c;面向电力系统分析、电动汽车充电负荷预测方向的科研与工程人员&#xff0c;将出行时间、行驶里程、充电模式等不确定因素量化为概率分布&#xff0c;通过反复随机抽样模拟充电行为&#xff0c;以统…

2026/10/19 1:10:12 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介&#xff1a;本资源为电源技术方向的学术研究文档&#xff0c;聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略&#xff0c;面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址&#xff1a; https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集&#xff0c;共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型&#xff08;GMM&#xff09;的语音识别系统&#xff0c;很多人第一反应就是一堆数学公式&#xff0c;觉得门槛很高。但如果你真的在MATLAB里把它落地跑通&#xff0c;会发现核心其实就是三件事&#xff1a;把声音变成特征向量&#xff0c;用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人&#xff0c;但落到具体操作上&#xff0c;无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程&#xff1a;对图像做反白、改调色板、彩色转灰度&#xff0c;最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词&#xff0c;你会发现一个很有意思的现象&#xff1a;每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型&#xff0c;有人指的是运动控制系统&#xff0c;还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →