AI Agent上线后的三座大山:质检、自学习与排障实战指南
上线只是个开始这话放在AI Agent身上尤其正确。跑通Demo、灰度上线那一刻指标漂亮得让人开心但真正的考验从第二天才刚开始。无论是客服问答、办公助手还是营销场景的Agent一旦暴露在真实流量下各种预料之外的情况就会冒出来用户问法偏离预期、工具调用参数出错、上下文被污染导致答非所问还有模型升级带来的行为漂移。我把这类问题统称为“Agent上线后的三座大山”——质检、自学习、排障。哪一座没处理好线上就会不断给你上眼药。这篇文章就把我在多个Agent项目里摸爬滚打的思路和实操方法整理出来。围绕的就是标题里这三个关键词怎么给Agent建立质量准绳怎么在真实数据里让Agent越用越聪明以及出了问题怎么快速定位和止血。内容不涉及高深论文全部是可落地的工程实践适合正在做Agent应用开发、或者已经上线但被效果波动搞得头疼的团队参考。1. 为什么Agent上线后必须建一套持续优化机制传统软件上线后行为是固定的上线即巅峰。Agent是概率系统同样输入今天和明天可能给出不一样的回答这是大模型的天性。这就意味着测试环境里跑得再好都不能保证线上效果持续稳定。模型会升级用户问法在变化工具接口偶尔抖动每一样都可能成为质量滑坡的导火索。另一个现实是Agent的“能力边界”其实很模糊。传统模块的失败可以精确定位到函数和异常Agent的失败可能发生在规划环节、工具调用环节、上下文理解环节甚至发生在模型幻觉里。没有一套专门的质量保障机制出了问题就像在大海里捞针。所以我把持续优化拆成三个互相咬合的子系统质检回答“现在好不好”的问题是度量体系和评测基线。自学习回答“怎么变得更好”的问题是把线上真实数据转化为改进燃料的管道。排障回答“坏了怎么修”的问题是快速定位和恢复的应急能力。三者不是孤立的而是形成一个环排障发现的问题会成为质检样本质检挑出的不合格样本会进入自学习管道自学习产出的规则和模型再经过质检回归验证后上线。这样一趟走下来Agent才真正具备了自我进化的能力。2. 质检体系给Agent建立一套可信的评判标准质检不是上线后临时起意搞的而是应该和Agent本体同时设计。但很多团队前期只关注功能实现等到线上出问题了才想起来补评测往往要付出几倍的成本。我自己是踩过这个坑的前期评测集没建好后面优化全靠拍脑袋。2.1 离线评测集先把地基打牢质检的根基是一套高质量的评测集。没有评测集你说效果变好了还是变差了都只是感觉不是事实。评测集的建设分几步走第一从历史对话中抽样。如果Agent还没有线上数据就从测试会话和人工模拟中收集。有了线上数据之后要定期从日志中随机抽取不同场景的会话片段确保覆盖足够多的意图类型、用户情绪、问题难度。第二人工打标签。标注维度不要只给“通过/不通过”这么粗糙。我常用的标注维度至少包括意图识别是否准确、信息提取是否完整、规划是否合理、工具调用是否正确、最终回复是否友好无幻觉。分维度标注的好处是后续优化时能精准知道问题出在哪个环节而不是笼统地看到一个失败率。第三按分级管理评测集。我习惯把评测集分成三层冒烟集覆盖核心主链路规模小每次改动后快速验证5分钟内出结果。回归集覆盖大部分典型场景几百条规模每次改动后跑一遍保证不劣化。全量集覆盖边角场景和对抗样本规模最大版本发布前系统性评测。分层评测集能大幅提升迭代效率。小改动跑冒烟集就够了大改动才需要全量回归。2.2 自动化评估让大模型当裁判人工评测永远不可替代但纯人工在迭代频繁时根本忙不过来。我现在的做法是“规则大模型裁判”双通道。规则通道适合有明确对错标准的场景。比如工具调用参数是否合法、电话号码格式是否正确、API返回码是否异常。这类用脚本判断又快又准不存在争议。大模型裁判适合主观性强的场景比如“回答是否完整”“语气是否合适”“有没有反客为主地编造”。让一个大模型去评价另一个大模型的输出这种“LLM-as-Judge”的方式在工程里已经很普遍了。但用的时候有几个关键点给裁判模型明确的打分标准不要让它自由发挥。比如“输出必须包含三个要素缺一个扣一分”“如果出现数字或日期错误直接判失败”。标准越具体裁判稳定性越高。同一批样本至少让裁判模型跑两次结果不一致的要拉出来讨论避免裁判自身的不稳定性灾难。定期用一批人工评好的“金标准集”校准裁判模型看它是不是跑偏了。有人担心大模型裁判不够准。坦率讲它确实不如一个资深标注员但贵在快、便宜、一致。我现在拿大模型裁判做第一轮粗筛把明显不合格的捞出来人工再精审一轮效率和准确率都能兼顾。2.3 线上监控真实环境才是最终考场离线评测集再完善也只是近似模拟线上环境。真正常态化的质量感知靠线上监控体系。监控的核心指标不是单纯看成功率。Agent这种系统成功和失败之间的灰度太多了。我重点关注四类数据任务完成率Agent整个会话流程是否走到预设终点比如客服Agent有没有完成工单提交。工具调用失败率调API时出错、超时、返回了异常结构的比例。这是问题高发区。用户反馈数据会话后的点踩、点赞、投诉入口。让用户参与质检成本极低但价值极高。转人工率如果产品里有兜底转人工机制转人工率的突增就是Agent质量出问题的强信号。监控数据的存储和查看也有讲究。原始日志全量存成本高且没人看。我的做法是分两层一层是聚合指标按分钟、小时粒度统计用于看走势和告警另一层是明细会话样本按一定比例抽样保留用于深度分析。抽样比率不一定固定可以在告警触发时动态提升采样率这样既能控成本又能在关键时刻拿到足够样本。线上监控要和告警打通。告警不能只发一个“成功率跌了”这种没头没尾的消息最好直接带上可疑的异常样本链接点进去就能看完整会话链路。3. 自学习机制让Agent在真实数据喂养下持续进化质检解决了“知道哪里不好”的问题接下来就是“怎么让它变好”。很多团队对自学习的理解过于简化以为只是拿线上数据不断微调模型。实际上自学习是一个分层分级的迭代管道模型微调只是最后一步前面还有更便宜、更可控的手段。3.1 数据回流把会话日志变成学习原料第一步是建立数据回流机制。线上每一条会话日志都可能是优化Agent的养料。但日志不能直接进样本库要经过处理和筛选脱敏清洗去掉姓名、电话、地址等隐私信息这是底线别等出事再后悔。质量分级把会话按用户反馈、任务是否完成、是否触发兜底逻辑等维度打上标签优先提取“明明应该做好但没做好”的失败样本。这类样本对优化的价值最大。去重聚类同一个问题用户问了成百上千遍不能全收要聚合成有代表性的若干条避免样本库被同类数据淹没。数据回流要有节奏不是攒几个月再处理而是每天增量处理经过标注后进入待优化池。3.2 从样本到规则Prompt工程优先于模型训练拿到失败样本后我推荐这么个处理顺序第一步先看是不是规则或Prompt层面就能解决。把出错样本喂给大模型让它从Agent的视角分析失败原因提出Prompt调整建议。这听起来有点“AI自我诊断”的意思但实测下来非常有效。比如“请分析为什么用户想退款时Agent没有主动询问订单号”大模型往往能一针见血指出Prompt里对退款流程的定义不够显式。第二步把分析结论转化为Prompt迭代。常见的做法包括在系统提示词中增加更明确的行为约束、补充典型问法和应对策略到Few-shot示例中、调整工具描述让模型更清楚工具的适用条件。第三步用硬规则兜底。模型能力再强关键时刻也需要确定性保障。比如涉及资金操作、政策敏感类问题、用户多次表达不满等场景直接配置强制规则不走模型自由发挥。硬规则虽然“不智能”但它是安全底线。这个顺序的核心逻辑是改Prompt和加规则的周期是分钟级或小时级改模型是周级。能用便宜手段解决的问题绝对不动用重武器。3.3 模型微调什么时候才真正需要我见过不少团队一遇到效果问题就想着微调模型其实大多数时候是投入产出比极低的选择。模型微调真正适合的场景一般是这几种领域知识量巨大且更新频繁比如企业内部产品库光靠Prompt撑不下。Agent需要固定的输出风格或结构比如必须按特定JSON Schema回复。某一类错误经过Prompt优化后依然高发说明模型本身对这类任务的能力不够需要通过微调注入专项能力。微调最需要注意的是评测先行。必须在微调前用回归集跑一遍基线分数微调后在同一套回归集上跑一遍对比并且用冒烟集验证核心能力没有退化。同时要准备灰度方案别一把全量推上去先切一部分流量观察指标稳定后再逐步放开。回滚预案也要随时能执行模型文件、Prompt版本、配置项都要能一键还原。3.4 自学习的闸门自动化的边界在哪里自学习最常见的翻车方式就是过度自动化导致Agent学会了不该学的东西。比如某段时间用户集中反馈某个新功能不好用Agent把用户情绪采样进去后可能变得过度消极或过度防御。模型漂移和数据偏差是持续存在的风险。所以我在管道里加了几个“闸门”人工复核抽检率。自动清洗后的样本至少要保留5%的人工抽检发现偏差立即调整筛选规则。优化后的内容必须过冒烟集和回归集不能用“看个例好像好了”作为判断标准。涉及业务底线、合规风险的内容一律走人工审批流程不让模型自动改写。自学习的目标不是全自动而是“人工定规则机器提效率”。所有关键决策点上保留人类审查是最稳妥的做法。4. 排障实战从“出事了”到“修好了”的完整链路再完善的质检和自学习也挡不住线上环境里各种幺蛾子。排障不是一个被动动作而是要提前准备好一整套工具和方法论。4.1 Agent专项日志与链路追踪排障的第一步是拿到原始信息。传统软件日志记录的是方法和参数Agent日志还需要多记很多东西完整会话轮次包括每轮用户的输入、Agent的输出、中间状态变化。规划过程记录也就是模型当前是以什么样的推理路径走到这一步的这类日志通常叫“思维链日志”。工具调用明细包括调了哪个工具、传了什么参数、返回了什么结果、耗时多少。Prompt快照每次对话实际发给模型的Prompt版本要留存否则排查时你可能无法复现模型看到的上下文。链路追踪也要串联起来。从用户请求进来、到Agent推理、到工具调用、再到最终响应整个链条要有一个统一的traceID串联这样排查时才不用翻半天日志瞎猜。我发现很多团队在Agnet开发早期不重视这套追踪体系等到线上出问题排查复杂度直接翻倍。4.2 高频故障分类与定位方法Agent最常见的故障归纳起来就几类每一类都有对应的排查切入点第一类是意图误判。用户说“我要退订”Agent理解成了“我想订新的”。排查时聚焦输入解析和意图分类模块看是不是Prompt里意图定义不清晰或相似意图区分度不够。第二类是上下文信息丢失。会话超过三轮后Agent忘了前面用户说过的关键信息。排查时检查上下文管理策略是不是窗口截断机制太粗暴关键信息没有被保留。第三类是工具调用错误。比如用户询问天气时Agent调了查询航班信息的工具。排查时看工具描述和命名是否足够清晰模型是否被工具名误导。第四类是参数幻觉。工具调用时传了一个不存在的用户字段比如用户根本没提供日期Agent硬编了一个“今天”进去。这类问题最难排查需要结合思维链日志看模型推理时基于什么假设生成了这个参数。第五类是规划陷入死循环。Agent反复调用同一个工具或者几个工具互相循环调用。排查时用超时限制和最大步数限制兜底再根据trace找出循环触发点在Prompt里明确终止条件。第六类是合规与安全失控。Agent在不该承诺的场合做出了承诺或输出不当内容。这通常要在规则层加硬性拦截靠模型自觉不可靠。4.3 从用户投诉到根因分析一个标准流程我把排障流程标准化成一套五步法团队照此执行效率很高第一步接收和确认问题。从用户投诉、监控告警或人工抽检中发现异常后先按严重程度分级。影响范围大的立即拉群应急影响小的进入常规工单流程。第二步信息搜集与复现。用traceID把完整会话捞出来先看Agent自己是怎么处理这轮会话的。能复现的问题好办直接进测试环境跑一遍加上日志debug不能复现的分析轨迹推断触发条件。第三步假设排查。先排除外部因素工具接口是否变更、上游服务是否异常、模型服务是否波动。再检查内部因素Prompt版本是不是预期版本、上下文是否异常、规则是否误命中。第四步根因确认与修复。问题定位后按照“硬规则-Prompt-示例-微调模型”的优先级选择修复手段修复后立刻过冒烟集。第五步复盘录入。把这次事故的根因、修复动作、检测手段记录到知识库同时转化成质检样本加入回归集防止同类问题回归。这套流程看起来简单但真正执行起来团队里经常失守的是第二步——日志信息不够导致无法定位。所以我还是想强调日志和追踪不是上线后补的东西而是上线前必须到位的基础设施。4.4 热修复与灰度别因为一次事故推倒重来线上Agent经常遇到这种情况问题定位到了但修复方案涉及Prompt调整甚至模型更换直接全量发布风险太大。我的做法是推行“小步快跑灰度发布”的修复策略。热修复优先。如果是规则层面就能拦截的问题立即上线硬规则卡住先止血再谈优化。比如某类敏感问法会导致Agent胡说先加一条规则强制转人工保住口碑。Prompt调整走灰度对比。同一会话可以配两个版本Prompt按流量比例分发。灰度期间重点看任务完成率和用户反馈这两个指标波动在容忍范围内就逐步放量出现异常立即回滚。模型版本要留多个可用版本。切换模型只在必要时进行且必须配套完整评测和灰度方案。记住模型升级本身就会带来行为漂移不是所有“新版模型”对Agent都是利好。5. 把优化本身变成系统质检、自学习、排障的闭环单独把质检、自学习、排障做起来已经不容易了但真正让Agent具备持续进化能力的关键是这三者之间的数据流动和闭环设计。我的闭环形态是这样的线上产生的会话数据经过监控系统打上质量标签不通过的样本自动进入待分析池。排障使用的是同一批池子人工定位根因后把“错误类型”标签回填到样本上样本库就越来越精细。自学习管道每天从样本库抽取代表性错误样本通过Prompt迭代、规则补充或微调进行优化产出新版本。新版本在评测集上跑一遍分数达标后灰度上线。上线后的数据再次被监控和质检捕获进入下一轮循环。这里我特别想强调“单一数据源”的价值。很多团队犯的错误是质检一套数据、排障一套数据、训练样本一套数据互相之间对不上。前面提到要统一traceID贯穿所有环节这正是实现同一样本被质检、排障、学习共用基础数据的前提。我记得某个项目里因为日志链路没打通同一个错误在质检和排障两边各自分析了一遍结论还不一致白白浪费了大量时间。闭环跑起来之后还要定期复盘优化效果。我习惯每两周看一次“质量趋势报告”成功率变化、各类失败占比、质检样本命中率、优化动作带来的指标波动。数据是死的解读是活的。报告的价值不在数字本身而在提醒我们哪些优化动作被高估了哪些高频问题被忽视了下一步应该把精力投到哪里。团队分工上我也建议明确划定责任。质检基线最好由业务产品或独立的质量人员负责不能让开发自己给自己打分排障是研发的核心职责自学习的样本挑选和规则审批需要产品与研发共同参与。权责不清闭环很难真正转起来。最后说几句实在的带Agent项目这几年我最大的感受是别把Agent当普通程序管普通程序上线靠测试Agent上线靠持续喂养。质检、自学习、排障这套体系前期搭建确实需要投入但它带来的回报是后面每一次迭代都能快准稳。刚开始我的评测集只有几十条样本监控是临时脚本排障靠翻日志。后来逐步补齐了体系遇到线上问题的时候心里不慌——因为有数据、有流程、有预案。如果你手头的Agent项目还在尝鲜阶段可以从今天提到的三件事里先挑一件做起来先建一个哪怕只有几十条的评测集先加一个能记录思维链日志的开关先给线上客服对话加一个点踩按钮。不用一步到位但一定要开始。大模型这波技术红利很大但工程体系的成熟度才是决定Agent应用能走多远的关键。

相关新闻

CNN手势识别结合OpenCV与pygame:从图像预处理到实时游戏控制

CNN手势识别结合OpenCV与pygame:从图像预处理到实时游戏控制

简介:一个基于Python、CNN与OpenCV实现的手势识别飞机大战小游戏项目,面向具备一定Python基础、希望将深度学习用于实际小游戏的开发者。项目中以摄像头采集手势图像,经背景移除、轮廓提取等预处理后,输入CNN模型完成手势分类&…

2026/10/13 13:46:27 阅读更多 →
抗体偶联空载LNP试剂盒:实现脾脏靶向递送的实操指南

抗体偶联空载LNP试剂盒:实现脾脏靶向递送的实操指南

做纳米药物递送方向的同行应该都有同感:靶向LNP(脂质纳米颗粒)听起来是个很清晰的概念,但真正在实验台上把它做出来,光是表面修饰这一步就能耗掉大半个月。我最近在模拟项目X里头,完整测了一遍“抗体偶联空…

2026/10/13 13:46:27 阅读更多 →
抗体偶联空载LNP试剂盒:实现脾脏靶向递送的灵活平台

抗体偶联空载LNP试剂盒:实现脾脏靶向递送的灵活平台

这几年做核酸药物递送的研究,有一个话题绕不开:LNP做完静脉注射之后,绝大多数都跑去了肝脏。想要让核酸疫苗、基因编辑工具或者免疫调节分子精准地到脾脏里发挥作用,靠常规LNP非常吃力。脾脏是人体最重要的免疫器官之一&#xff0…

2026/10/13 13:46:27 阅读更多 →

最新新闻

Java AI应用开发:框架停更后的工程化落地与避坑指南

Java AI应用开发:框架停更后的工程化落地与避坑指南

1. 一个停更消息引发的技术圈焦虑 前几天在技术社区里刷到一条讨论,说某个Java生态的AI框架停更了,底下评论区瞬间炸锅。有人感叹“Java果然不适合搞AI”,有人直接抛出“Java还有希望吗”的灵魂拷问,还有人已经开始盘点要不要转Go…

2026/10/13 14:28:35 阅读更多 →
Ripes 预编译 ELF 可执行示例深入解析:RanPi-RV32 / RanPi-RV64 的加载、校验与仿真

Ripes 预编译 ELF 可执行示例深入解析:RanPi-RV32 / RanPi-RV64 的加载、校验与仿真

教育硬件开发 【免费下载链接】Ripes A graphical processor simulator and assembly editor for the RISC-V ISA 项目地址: https://gitcode.com/gh_mirrors/ri/Ripes 点击查看 免费下载 Ripes 是一个面向 RISC-V ISA 的图形化处理器模拟器与汇编编辑器。在其内置…

2026/10/13 14:28:35 阅读更多 →
每天3秒正念练习:微习惯策略如何轻松养成冥想习惯

每天3秒正念练习:微习惯策略如何轻松养成冥想习惯

1. 为什么“每天3秒钟”反而比“每天10分钟”更容易练成? 你有没有过这样的经历:下定决心每天冥想10分钟,坚持了三天,然后就没有然后了。或者下载了某款正念App,充值了会员,跟着练了两次,之后那…

2026/10/13 14:28:35 阅读更多 →
C#五子棋源码深度拆解:从棋盘判定到AI极小极大搜索实战

C#五子棋源码深度拆解:从棋盘判定到AI极小极大搜索实战

简介:这份C#五子棋大学项目源码配套数据库,面向计算机专业学生与C#初学者,用于课程设计、毕业项目参考或自学练手。项目完整实现人机对战与局域网联机两种模式,涵盖Minimax、Alpha-Beta剪枝AI算法、TCP/IP网络通信、SQLite数据库存…

2026/10/13 14:28:35 阅读更多 →
老电脑知识合集翻新指南:从系统优化到避坑实战的现代验证

老电脑知识合集翻新指南:从系统优化到避坑实战的现代验证

简介:《2006年度巨献电脑知识及技巧大合集》电子书,是一份面向电脑初学者与日常维护者的综合知识型资料,集中收录系统优化、常见问题排查、硬件、安全、网络、软硬件运用心得及系统美化等七大板块,适合遇疑难时快速检索或用于系统…

2026/10/13 14:28:35 阅读更多 →
json.lib完整工程集成指南:从下载到验证的避坑全攻略

json.lib完整工程集成指南:从下载到验证的避坑全攻略

简介:面向需要在C项目中处理JSON数据的开发者,这份资源提供了可直接使用的JsonCpp库文件和修改后的完整工程。JsonCpp是一套跨平台的JSON解析与生成库,支持在Windows、Linux、macOS等多种系统使用。这一版本以JsonCpp 0.5.0源码为基础&#x…

2026/10/13 14:27:32 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 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/12 21:05:09 阅读更多 →
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/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练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/12 18:11:17 阅读更多 →