这两年做大模型落地的朋友应该都有同一种感受通用大模型像一把万能瑞士军刀什么都行什么都差口气垂直行业大模型像一把定制手术刀切得准但打不打磨、打磨得好不好直接决定你是救人还是误伤。我自己从去年开始带团队做法律行业的私有化大模型项目也和不少做医疗、金融、政务的朋友反复对过方案说实话这个选择题的答案不是哪个技术更强而是你的业务到底愿不愿意为更准付费。这篇文章不打算绕弯子。我会先拆清楚两类模型在数据、架构、训练方式上的本质差异再结合真实项目聊一聊行业模型从微调到部署要踩的坑最后给出一套我和团队目前常用的选型决策清单。如果你正在纠结是自己微调一个行业大模型还是直接调通用大模型的API这篇文章应该能帮你省下一轮又一轮的内部讨论。1. 先从知识边界说起通用模型为什么记不住你的业务很多非技术背景的老板会问一个问题通用大模型已经这么聪明了行业知识喂给它不就行了吗这里有一个核心认知误区——模型的知识广度和知识精度是两回事。1.1 通用模型的博闻强识与浅尝辄止通用大模型比如大家熟知的GPT系列、国产的Qwen、DeepSeek等训练数据覆盖网页、书籍、论文、代码仓库、论坛帖子几乎把互联网上能爬的公开文本都吃了一遍。它确实知道很多行业概念你问它什么是要约收购它能给你背出定义你问它医疗影像中的肺结节怎么分类它也能说出个大概。但一旦进入真实业务场景问题就暴露了法律领域的判例引用需要精确到案号、法条序号模型可能把2023年的司法解释和2021年的旧规搞混医疗领域的用药剂量、禁忌症更新频繁通用模型的训练数据存在截止时间出现幻觉的风险不可控金融风控中的内部评分规则、合规审查清单属于机构私有数据公开语料里根本没有制造业的故障诊断经验往往沉淀在老师傅脑子里、维修日志里市面上找不到。通用模型的天花板在于它学的是人类公共知识而不是你这家公司的知识。公共知识能帮你做通用助手、内容生成、简单问答但支撑不了严肃的行业决策。1.2 行业模型到底垂直在哪里垂直行业大模型或者说行业大模型并不是一个全新的模型架构它是在通用底座之上通过行业数据的继续预训练、微调、知识增强把模型的参数分布往特定领域掰过去。我用一个厨房类比通用模型是一个受过全科训练的厨师八大菜系都会一点出餐快但口味平庸垂直行业模型是这个厨师去川菜馆后厨专门练了三个月每天只切辣椒、调红油、做水煮鱼最后他做的川菜肯定比同一人的大锅菜专业得多——代价是他做西餐的能力基本废掉了。具体到技术实现行业模型的垂直体现在三个层面语料层面用海量行业语料法条、判决书、病历、设备手册、工单记录做继续预训练或增量训练让模型熟悉行业词汇和表达习惯对齐层面用行业专家标注的高质量问答对做微调让模型学会这个场景下正确的回答方式包括语气、格式、结论偏好增强层面外挂检索增强生成RAG、知识图谱、规则引擎让模型在回答时先查内部知识库而不是全靠记忆硬编。这三个层面不是非此即彼实际项目里经常叠加使用。我后面会展开讲。1.3 我们实测过的一组对比数据去年我们团队做法律大模型的POC概念验证拿通用大模型和微调后的行业模型在同一批真实法律咨询问题上做了盲测一共200道题涵盖劳动纠纷、合同审查、婚姻家事、交通事故四类高频场景。评判标准是执业律师打分看答案的准确性、法条引用正确率、结论可用性。那组数据我印象很深通用模型在法律常识问答上的表面流利度很高但法条引用正确率只有61%也就是接近四成引用的条文是错的或已废止微调后的行业模型法条引用正确率到了89%且在给出结论的同时给出依据和例外情形这项要求上明显更符合律师的执业习惯通用模型在开放性问题上比如帮我写一份租房合同要点表现尚可但一旦涉及特定地区的诉讼流程、时效计算错误率陡然上升。这就印证了我一直强调的观点垂直模型的价值不是更聪明而是更可靠。很多场景里一次错误引用造成的损失可能超过你省下的所有API费用。2. 从数据到训练行业大模型的构建路径与真实成本如果你已经动了我要做一个行业大模型的念头请先想清楚第二件事你的行业数据在哪儿、能不能用、够不够多。技术选型反而是后面的事。2.1 数据治理比模型训练更耗人很多人以为行业大模型的核心是训练其实数据才是。我见过不止一个项目死在了数据没整理好这一步上。行业数据的典型问题格式混乱PDF扫描件、手写笔录、Excel台账、历史系统导出的文本一半以上需要OCR、清洗、去噪标注缺失通用爬来的数据没有答案需要行业专家逐条标注专家按小时收费贵得肉疼敏感信息医疗病历、金融交易记录、政府公文可能涉及隐私和合规要求数据出域问题动辄涉及处罚分布不均热门领域如ChatGPT能写好的代码语料多冷门细分领域如特定型号设备的维修手册语料可能只有几百页。这里我给一个比例参考一个中等规模的行业模型项目数据清洗和标注通常占整体工期的60%~70%训练和调优只占30%~40%。如果你预算紧张优先砍训练资源也别砍数据质量——喂进去的是垃圾出来的必然是垃圾这已经不是一句口号而是无数项目复盘出来的血泪教训。2.2 继续预训练 vs 微调 vs RAG不是选一个而是组合拳行业模型构建有三种主流技术路线我分开讲但你要记住它们不冲突继续预训练Continue Pretraining在通用模型的基础上用行业无标注文本继续训练让模型见更多行业词和表达方式。优点是不需要人工标注成本相对低缺点是效果偏隐性——模型学到了行业语言但不一定知道怎么回答问题。适合行业语料充足但标注资源匮乏的场景。监督微调SFT用行业问答对微调模型。这是目前行业模型效果提升最显著的手段。比如给模型喂几万条问题-专业回答配对数据模型就学会了这类问题的措辞习惯。但标注成本高且数据量低于一定阈值时效果很不稳定。我们实践下来一个细分场景至少需要3000~5000条高质量的问答对才会看到质的飞跃低于1000条时微调不如直接上RAG。检索增强生成RAG微调不动模型参数而是在模型回答前从外部知识库检索相关内容把检索结果拼进上下文里让模型带着资料答题。优点是可解释性强、知识更新容易——换一批知识库文档就行不需要重新花钱训练缺点是答案质量严重依赖检索命中率且长上下文的推理成本会明显上升。我的建议是以SFT为核心以RAG为兜底以继续预训练为可选项。你不需要一次把三条路全走完但要有清晰的路线图。以我自己做法律模型为例第一版先做RAG把自己律所内部的合同模板、案例库接进通用模型两周上线跑通流程第二版再攒了几万条真实问答对做SFT效果立刻拉开了差距。2.3 算力成本与部署形态的动态平衡聊到钱行业模型项目的预算弹性非常大。我见过只用一张消费级显卡跑7B小模型的团队也见过用多卡A100集群训百亿参数模型的企业。关键在于先想清楚部署形态纯API调用直接用通用大模型的API加RAG零训练成本但数据要出域敏感行业直接劝退本地私有化部署模型、数据都在自己的服务器上满足合规要求但需要承担GPU服务器采购或租用成本混合架构非敏感数据走云端API核心业务走本地模型兼顾成本和合规。以常见的7B参数模型为例比如Qwen2.5-7B量化后用一张24G显存的消费级显卡如RTX 3090/4090就能跑推理配置好的服务器单台十来万可以搞定如果要做微调一张24G显卡也能跑LoRA微调成本远低于全参数微调。当前团队的普遍共识是中小规模行业模型优先选7B~14B的底座性价比最高参数规模继续往上翻推理成本和显存需求是指数级增长而业务收益未必同步增长。3. 行业模型构建实操我在法律文本微调中踩过的坑说了一堆理论这一节上点硬核的实操经验。以我比较熟悉的法律文本场景为例从数据准备到微调部署走一遍重点讲讲那些官方文档里不会写的事。3.1 任务定义想清楚模型究竟是打好下手还是独立执业这是我在每个项目启动会上必问的问题你希望模型做什么做到什么程度算合格法律大模型可以做法律咨询问答、合同审查、文书起草、类案检索、风险提示每一项对模型能力的要求都不一样。如果我们做的是合同审查助手期望是输入一份合同文本模型输出风险条款清单标注风险等级、修改建议、法律依据。这本质上是一个结构化输出知识检索任务比单纯写一段这份合同有什么问题的泛化回答难度高得多。任务定义直接决定数据标注的模板。我们当时设计了一个统一的标注JSON格式举个简化例子{ instruction: 你是资深合同审查律师请审查以下合同条款并输出风险提示。, input: 第八条 违约责任任何一方违反本合同约定应向守约方支付违约金违约金数额为合同总金额的30%。, output: 【风险等级】高风险\n【风险描述】违约金比例过高可能被法院酌减。\n【法律依据】《民法典》第五百八十五条。\n【修改建议】建议将违约金比例调整为合同总金额的10%~20%或约定以实际损失为限。 }这个模板看起来简单但实际标注时你会发现大量边缘case有些条款没问题但要提示可操作性有些风险涉及多个法条需要并列引用有些输入本身有错别字需要先纠错。标注规范里必须定义清楚边界规则不然不同标注员之间的一致性会非常差而标注一致性直接影响SFT后的模型效果。3.2 LoRA微调的实战参数与效果实测模型底座我们选的是Qwen2.5-7B在多个7B级模型中做了综合评测后选定的。为什么选7B而不是更大原因有四单张消费级显卡可推理可微调团队支撑成本低7B模型在垂直任务上通过充分微调可以追平大部分14B的通用模型表现推理延迟低配合SSE流式输出能达到打字机效果交互体验好后续可以量化部署到更小的设备上。微调方式选择LoRALow-Rank Adaptation只训练一部分低秩参数显存占用小、训练速度快效果好于全参数微调在中小数据场景下全参数微调容易灾难性遗忘。我们跑过一次接近完整的LoRA微调配置关键参数如下参数设置值说明base_modelQwen2.5-7B-Instruct指令微调版本lora_rank64低秩矩阵秩越大表达力越强但过拟合风险越高lora_alpha128缩放系数一般设为rank的两倍learning_rate2e-4太大容易发散太小收敛慢batch_size4受显存限制单卡24G下取4epochs3数据集不大时3轮足够多轮容易记住标注噪声max_seq_len4096法律文本普遍较长512远远不够训练过程没什么玄学跑完看loss曲线下降平滑即可。但真正决定效果的不是训练曲线而是测试集的设计。我们留出了500条训练数据之外的测试样本专门找模型没见过的合同条款来测考察泛化能力而不是背诵能力。3.3 部署上线一次真实的SSE流式改造记录模型训好了最后一步是部署。这一步也踩了个大坑。最初我们按常规的请求-响应模式接API模型生成一份完整的合同审查结果平均要8~12秒用户盯着一片空白等十几秒交互体验很难接受。后来改成SSEServer-Sent Events流式输出思路是先把HTTP响应打开让模型每生成一个token就推给前端渲染用户大约在1秒内就能看到第一个字开始蹦出来感受完全不同。后端核心逻辑简化如下Python伪代码from fastapi import FastAPI from fastapi.responses import StreamingResponse import json app FastAPI() def get_model_response(user_input): # model.generate 流程每次 yield 一个片段 for token in model.stream_generate(user_input): yield fdata: {json.dumps({delta: token}, ensure_asciiFalse)}\n\n app.post(/chat) async def chat(prompt: str): return StreamingResponse( get_model_response(prompt), media_typetext/event-stream, headers{Cache-Control: no-cache, X-Accel-Buffering: no} )关键要特别注意两个生产环境细节一是经过Nginx反向代理时要加X-Accel-Buffering: no否则Nginx会缓冲整个响应流式效果全废二是前端解析SSE时要做好abort控制用户中途停止生成时能真正断开请求并释放GPU资源不然并发一高显存就爆了。这套改完以后用户满意度提升非常明显。虽然技术难度不大但确实是行业模型落地价值的最后一公里——模型再准交互烂也会被业务方否决。4. 什么时候模型不香警惕行业大模型的三大陷阱垂直行业大模型听起来很美但不是所有场景都适合做。我见过太多被概念忽悠上马、最终不了了之的项目它们的共同点基本落在以下三个陷阱里。4.1 陷阱一问题根本不依赖模型你被伪需求绑架了举个例子。有个朋友的公司想做一个智能客服大模型一问需求用户问得最多的其实是快递到哪了怎么退货这些问题的答案都在订单系统里本质是查数据库不是生成式AI的活。用大模型去做成本高、延迟大、还容易答错纯属杀鸡用牛刀。判断一个需求适不适合大模型的简单标准这个任务是否要求模型理解语义并生成非结构化内容如果答案是只要把结构化的记录查出来按模板显示那传统NLP或规则匹配可能更稳、更便宜。在做行业大模型之前先问自己我是在解决业务问题还是在给业务问题套一个大模型外壳4.2 陷阱二行业数据规模撑不起大模型大模型再大也需要足够的领域数据支撑。有个做小众机械设备故障诊断的朋友咨询我说想训一个行业诊断模型。我问他有多少维修记录他说大概800条。我说800条数据连微调的门槛都够呛不如老老实实把老师傅的经验整理成知识库文档用RAG方式接入通用模型更现实。数据量这个硬约束没人能绕过。通用模型的底座再强也无法凭空生成你行业特有的私有经验。数据不足时硬上微调模型的输出会很滑——表面像模像样实质性错误频出这正是用户最反感的。4.3 陷阱三模型成了面子工程流程和产品跟不上这个陷阱最隐蔽也最贵。很多企业把发布了行业大模型当成了一个品牌营销事件发布会上演示效果惊艳回到实际业务流里却发现内部系统没有接口数据没打通一线员工不知道怎么用使用率不到5%。我一直强调——大模型的落地价值不是一次训练完成的而是一圈闭环跑起来的业务定义 → 数据治理 → 模型优化 → 产品化集成 → 用户反馈 → 再调优。任何一个环节断裂前面的投入都白费。行业大模型不是一个PPT里的demo它是嵌入业务流程的生产工具想想你的业务方愿不愿意每天用它、离了它会不会难受这才是衡量值不值的真正标准。5. 决策清单你到底该选通用大模型还是垂直行业大模型综合前面所有分析我把选型决策整理成了一张清单。团队内部现在做任何大模型项目第一步就是拿这个清单过一遍。5.1 六个关键判断问题你的场景对答错的容忍度有多低犯错可能造成重大损失医疗误诊、法律误引用、金融误判的优先考虑垂直模型容忍度高的内容生成场景写文案、写邮件、头脑风暴通用模型足够。你的行业数据是否有私有壁垒如果核心知识在外面根本找不到只能靠内部积累那RAG甚至微调就是必选项。数据合规是否要求私有化部署涉及隐私、商业秘密、政务数据的直接排除纯API路线本地模型的优势立刻凸显。团队有没有模型工程能力微调、部署、评测、Prompt调优都需要至少一名懂行的工程师一招没到位项目就可能砸手里。预算是一次性的还是持续性的行业模型不是一次性采购后续数据更新、模型维护、效果评测都要持续投入预算得可持续。是否已有稳定的业务流程先有业务再有模型还是先做模型再造流程我的经验是前者靠谱得多。我拿这个清单回看自己做过的项目发现一个规律凡是在回答前6个问题时有明显犹豫的项目最后基本都在中途增加了工作量回答干脆利落的反而是落地最快最稳的。5.2 几种典型场景的推荐配置顺手整理了一张不同业务场景下的推荐方案表不一定绝对但可以作为讨论起点业务场景推荐方案一句话理由电商客服售前咨询、退货流程通用API RAG接入订单知识库知识结构简单犯错成本低通用模型够用法律合同审查7B~14B行业微调 本地部署错一个法条都可能吃官司必须私有化高可控医疗辅助诊断建议严格受控的行业微调 人工复核流程容错率极低需要可解释性和流程冗余代码生成企业内部框架通用大模型 特殊代码库RAG代码类通用能力已经很强RAG注入内部规范即可政务政策问答14B行业微调 RAG 敏感词过滤政策更新频繁RAG兜底微调优化表达范式制造设备故障诊断泛化模型 维修知识图谱RAG案例数据少知识图谱导入老师傅经验最现实5.3 阶段式落地先用RAG跑通流程再评估是否微调最后给一条我觉得最有价值的实操建议不要一上来就微调。哪怕你已经决定走行业模型路线也建议先用通用大模型 RAG把业务流程跑通让真实用户去用、去提反馈攒够一批高质量问答对之后再决定要不要SFT微调。这样做的理由有两条第一RAG方案上线快、改动灵活。换知识库内容就是改文档不需要重新训练。从拿到需求到上线POC两三周完全够用。第二微调需要高质量标注数据而最真实的需求和标注往往来自实际业务反馈不是专家的凭空想象。先跑起来让用户帮你发现模型在哪些地方答得不对你才知道微调时该往哪个方向用力。我们法律模型第二版SFT数据里有大概35%来自第一版RAG系统收集的用户纠错反馈这批数据的效果比专家从头标注的还要好。所以我的心态一直是行业大模型的行业不是在训练机房炼出来的是在业务第一线跑出来的。先把通用模型的底座用起来把数据沉淀下来后续微调水到渠成。写在最后再谈一次值不值回到标题那个问题垂直行业大模型到底值不值我的答案是不加修饰的——看场景看数据看落地闭环。如果你身处一个容错率低的行业法律、医疗、金融、政务有别人拿不到的私有数据数据合规又要求本地部署那么垂直行业大模型的性价比远超通用模型——因为在这里答对本身就是最高的降本增效。反过来说如果你的场景是内容创作、通用客服、开放问答那通用大模型加一个良好的Prompt工程就能解决大部分问题硬做一个行业模型只会给自己增加无休止的维护负担。技术圈这两年对大模型泡沫的讨论很多。我的个人体会是泡沫不在模型本身而在以为买了模型就买了业务的幻觉。集训出来的行业模型不是终点它后面的数据飞轮、产品体验、用户信任才是决定值不值的真正变量。那些摸着石头把我们走过的坑踩平的地方就是行业大模型真正站住脚的地方。
企业数字化 ERP 产品动态
相关推荐
数据结构核心原理与实战应用全解析 1. 数据结构基础概念全景解析在程序设计的江湖里,数据结构就像武侠世界中的内功心法。记得我第一次参加技术面试时,面试官在白板上画了个二叉树就让我现场实现遍历,那一刻突然意识到:不理解数据结构就像练武不扎马步,再… · 2026/11/4 18:07:27
Oracle EBS财务模块三层结构、账套配置与总账数据流解析 简介:围绕 Oracle EBS 财务模块整理的五部分学习文档,面向正在接触 Oracle ERP 财务实施、运维或希望系统理解财务模块的初、中级读者,也适合作为培训参考,可用于梳理传统财务流程与 EBS 财务功能的对应关系。压缩包内共 1 个 doc… · 2026/11/4 18:07:27
2026年软件测试培训趋势与AI测试技术解析 1. 2026年软件测试培训行业现状与选择逻辑2026年的软件测试行业已经发生了显著变化。随着AI测试、HarmonyOS生态测试等新兴领域的崛起,企业对测试人员的技术要求已经从传统的手工测试转向了全栈测试开发能力。根据最新的行业调研,PythonSelenium的自动化… · 2026/11/4 18:06:26
SQLite清空表的三种方法与性能对比 1. SQLite Truncate Table操作的本质解析 在SQLite中,TRUNCATE TABLE并不是一个原生支持的SQL命令。这个看似简单的操作背后隐藏着数据库引擎设计的深层考量。与MySQL或PostgreSQL不同,SQLite选择通过DELETE FROM语句来实现类似功能,这种设计… · 2026/11/4 18:48:12
AI工程从零构建:生产级模型服务全链路实践 1. 这不是“搭积木”,而是亲手锻造AI系统的完整工程链“AI Engineering from Scratch”——看到这个标题,我第一反应不是兴奋,而是下意识摸了摸自己笔记本散热口上那层薄薄的灰。三年前我第一次在生产环境里从零部署一个能真正处理订单文本分… · 2026/11/4 18:48:12
8款开源工具提升论文写作效率 1. 论文写作痛点与工具需求解析写毕业论文是每个大学生必经的煎熬过程。从选题开题到文献综述,从数据收集到格式排版,每个环节都充满挑战。我指导过上百名学生的论文写作,发现90%的拖延都源于三个核心痛点:文献管理混乱、写作效率… · 2026/11/4 18:48:12
书签批量导入去重、自动备份与自建首页实践 书签这个东西,有点像家里的储物间。刚开始往里扔的时候都觉得“以后肯定用得上”,等到某天真正想找一份东西,翻半天翻不到,才发现里面塞满了三年前的快递盒和不知道哪来的塑料袋。我一个做前端的朋友上个月换了台机器,… · 2026/11/4 18:48:12
工厂线上推广素材低成本制作与优化策略 1. 工厂线上推广的素材困境与破局思路去年帮一家东莞的灯具代工厂做线上转型时,老板老陈给我看了他们的产品图——昏暗的厂房里,灯具摆在包装纸箱上拍摄,背景还能看到半截扫把。这种素材直接导致他们的1688店铺点击率不到行业平均值的1/3。这… · 2026/11/4 18:48:12
STM32CubeMX下载安装配置与代码生成链路自检指南 装个软件而已,能有多难?这是很多人第一次碰 STM32CubeMX 时的真实想法,也包括我自己。结果实际情况是:双击安装包没反应,装完打开一片空白,新建工程选完芯片却生成不了代码,固件包卡在某个百分比… · 2026/11/4 18:47:11
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38
AI辅助技术栈评估:提升研发决策效率60% 1. 项目背景与核心价值技术决策一直是研发团队面临的重大挑战。随着技术生态的快速演进,技术栈的选择、维护和迭代变得愈发复杂。我们团队在过去两年里,先后经历了三次重大技术栈迁移,每次都需要投入大量人力进行技术评估和风险分析。直到去年… · 2026/11/4 0:00:17
从生成Token到直接决策:Jev如何重塑AI Agent工程实践 1. 从"生成文字"到"拍板决策":Jev 到底在解决什么问题大多数人第一次接触大模型,脑子里建立的模型是"输入问题、输出文字"。你问它今天天气怎么样,它给你一段描述;你让它写个周报,它给你… · 2026/11/4 0:00:17
32G统一内存跑大模型:内存账、TPS实测与端云分流 想在一台 32G 统一内存的小主机上把大模型跑成"日常可用",这件事我前后折腾了小半年。标题里说的这台 Mac mini M6,是我们这次讨论的目标平台,具体到手规格以实物为准;但下面这套推算方法和实测思路,对任何统… · 2026/11/4 0:00:17
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38