让AI Coding Agent先说结论:一份开源Skill的设计与实践
1. 一个让人崩溃的排查现场答案淹没在话海里前阵子让 AI Coding Agent 帮我排查一个奇怪的内存泄漏它花了十几秒思考然后给我输出了一大段话先是回顾了项目背景又分析了 GC 日志里几个无关紧要的参数波动中间还夹杂着这种情况可能由多种因素导致这种正确的废话最后在第八屏的位置才冒出真正有用的那句——根因是缓存未设置过期时间Entry 不断堆积。我当时就一个感觉这工具能力是真强但话也是真的多。你得像淘金一样从一堆砂子里把结论扒拉出来效率反而被拖累了。有这个问题的不止我一个。身边好几个用 Agent 写代码、做代码评审的同事都反馈过类似体验AI 搜索上下文、调用工具、推理判断都挺靠谱唯独输出组织方式不太符合人的协作习惯——它倾向于把思考过程和结论混在一起输出甚至把证据放在前面、结论放在最后美其名曰给出完整的分析链路。这背后其实是个挺典型的工程问题模型的训练偏好、系统提示词的约束方式、以及工具链默认的输出格式三者叠加在一起导致 Agent 的表达习惯和用户的信息需求出现了错位。我们的核心诉求其实很简单先说结论再补证据。而这个需求完全可以靠一个开源 Skill 来规范化解决。所谓 Skill你可以理解成给 Agent 装一套可复用的行为模板——它定义了这个场景下 AI 要怎么说话、按什么顺序组织内容、哪些信息必须出现、哪些信息可以省略。比起每次都要在对话里念叨你直接说结论把规矩写进 Skill 里让 Agent 稳定、可预期地遵守才是省心的做法。这篇文章就从我的实际踩坑出发聊聊怎么设计一个结论优先的 Skill让 AI Coding Agent 学会把答案的高价值部分前置。里面的目录结构、指令写法、场景模板都是可以直接拿来改的适合正在用各类 Coding Agent、被冗长回答困扰的开发者参考。2. 先想清楚一件事Skill 到底改了什么行为2.1 Skill 不是万能 prompt它是一套可复用的行为协议很多人的第一反应是这不就是在系统提示词里加一句请先说结论吗没必要搞一个 Skill 吧。我的实际体验是不够。系统提示词是全局的加上这句话后Agent 在写代码、解释架构、讨论方案时都会受影响而且它太短、缺少结构模型对先说结论的理解很容易退化——前两次对话它记得多聊几个来回后又开始放飞自我。即便没退化不同场景下的结论形态也完全不同排查 Bug 时要的是根因判断代码评审时要的是改/不改/怎么改的明确意见需求评估时要的是影响面清单。一句笼统的先说结论根本覆盖不了这些差异。Skill 解决的是这个结构性问题。它把结论优先拆解成一个可执行的行为协议什么场景下触发这个行为输出的第一段必须是什么第二段、第三段分别放什么哪些信息属于冗余信息应该丢弃哪些场景下要明确绕过这个行为防止误伤本质上它不是一句命令而是一份输出契约。2.2 为什么结论会被埋在话海里三个根源要设计对策得先理解病因。我把 Agent 答非所问、话太多的原因归结为三点第一模型天然倾向于逐步展示推理过程。这是模型在训练阶段形成的习惯——把思考链完整呈现会让回答看起来更有逻辑、更有说服力。但对用户来说推理过程是手段结论才是目的。第二Agent 的上下文里有大量的工具调用记录、代码块、报错日志。模型在组织最终回答时会不自觉地把这些素材全部展示一遍而不是只挑与结论直接相关的部分。第三系统提示词里通常只写了你是专业的编程助手这类角色描述缺少对输出格式的强约束。没有规则限制模型就会走自己的默认风格。明白了这三个根源设计方案就有的放矢了我们要做的不是简单地说一句说人话而是通过结构化指令把结论优先变成一个具象的、可验证的、每个场景都有对应格式的输出规则。这就是我后来做开源 Skill 的起点。3. Skill 的核心设计结论优先协议的三个层次设计这个 Skill 时我给自己定了三条原则格式要显式化顺序要硬约束证据要按需取用。三条原则对应着结论优先协议的三层结构。3.1 第一层输出格式约束——第一部分必须是结论这一层解决的是说话顺序问题。规则很直接Agent 的任何回答第一段必须是答案本体用一句话说清楚是什么、该怎么做、结论是什么。这段话不允许出现可能或许需要进一步分析这类模糊词。我把这个第一段起了个名字叫结论块并且在指令里要求它满足三个条件必须能被单独阅读且仍然成立去掉后面所有内容用户也能获取核心信息必须是一句完整的话不是标题也不是关键词堆砌必须指向可执行的下一步要么是答案要么是修复方案要么是明确建议这一层的实现几乎没有成本但对体验的提升是决定性的。因为人阅读的习惯是前重后轻信息越靠前被吸收的概率越高。3.2 第二层内容结构规则——结论之后才允许出现证据链结论之后Agent 可以展开解释但展开部分同样有结构要求。我把证据链拆成了三段式直接依据、辅助信息、完整上下文。直接依据是支撑结论最关键的事实比如报错日志里最关键的那一行、代码里导致问题的那个判断条件。辅助信息是帮助理解的相关背景比如该模块的最近改动记录。完整上下文则是可选的补充材料只有当用户明确需要时才给出。这个分层意味着 Agent 必须学会节流不是所有信息都要倒出来而是按重要程度排列用户看到哪一层决定了自己需要多深的信息。实测下来这个分层对两类用户都友好——急着要答案的人看到第一段就够了想深究的人往下翻也能得到完整链路。3.3 第三层场景分支处理——不同任务定义不同的结论最让我花时间的其实是这一层。因为结论这个词在不同任务里的含义差别太大了。排查 Bug 时结论是根因判断附带修复建议代码评审时结论是可合并/需修改/需重新设计的明确意见附带具体位置需求评估时结论是能做/不能做/怎么做附带成本预估。如果 Skill 只规定先说结论Agent 还是不知道该说什么结论。所以在第三层我按高频场景分别定义了结论模板让 Agent 在特定场景下直接套用。以 Bug 排查场景为例输出模板是这样的根本原因[一句话说明问题由什么引起] 触发条件[什么情况下会发生] 影响范围[影响哪些模块/哪些用户操作] 修复方向[建议怎么改涉及哪些文件]代码评审场景的模板则是总体意见[通过 / 需修改 / 重新设计] 关键问题[按严重程度列出问题每个问题带行号和原因] 可选优化[非阻塞性建议]场景模板的好处是消灭了正确的废话——Agent 不会再写这个问题需要综合考虑多种因素这种空话因为它必须按模板填空填不出来就说明它并没有真正理解问题这比长篇大论更能暴露出回答质量的真实水平。4. 从零写一个先说结论的 Skill目录、元信息与核心指令4.1 Skill 的标准目录结构目前我用的这套 Skill 机制目录结构是这样约定的conclusion-first-skill/ ├── SKILL.md # 技能主文件AI 主要读取这里 ├── references/ │ ├── bug-analysis.md # Bug 排查场景的输出模板 │ ├── code-review.md # 代码评审场景的输出模板 │ └── impact-assessment.md # 需求影响评估场景的模板 └── examples/ ├── before-after.md # 改进前后的回答对比示例 └── edge-cases.md # 边界场景的处理示例SKILL.md 是入口文件AI 会优先读取references 目录放的是各场景的详细模板避免主文件过于臃肿examples 目录里的对比示例很重要——模型学习输出格式最有效的不是抽象描述而是具体的之前这样写之后应该这样写的例子。4.2 SKILL.md 的元信息与触发规则主文件开头是元信息这部分决定了 Skill 什么时候被激活。我写的是--- name: conclusion-first-response description: 在回答技术问题时强制采用结论优先的输出结构。 适用于问题排查、代码评审、需求评估、方案对比等 需要快速获取答案的场景。当用户明确要求详细展开时 可以绕过结论优先约束。 ---这里有个很关键的设计点description 里除了写什么时候启用还要写什么时候不启用。我踩过坑——一开始没写豁免条件结果用户在讨论方案时需要 AI 完整展开思路AI 却硬套结论优先格式把推理过程压缩没了反而影响理解。后来在描述里加上用户明确要求详细展开时豁免这一条别扭的情况就消失了。4.3 核心指令的写法把抽象规则变成可检查的清单主文件的核心部分不是一段长篇大论而是一份行为清单。我实际用的指令是这样的# 核心指令 你与用户的技术对话必须遵循以下结构 1. 结论块必选第一段 - 用一句话直接回答用户的提问 - 位置必须在所有内容的开头 - 禁止使用可能或许需要进一步分析等模糊表述 - 如果无法给出确定结论必须明确指出信息不足 并列出缺失的关键信息 2. 证据链可选结论之后 - 只保留与结论直接相关的直接依据 - 每个证据必须说明它与结论的关系 例如日志第 42 行显示连接超时对应根因中的网络配置错误 - 优先展示原始数据而不是转述 3. 辅助信息可选用户需要时 - 背景信息、相关代码、排查过程回顾 - 当用户没有明确要求时此部分默认省略细心的人会发现这份指令里没有用请尽量这类请求式用语全部是必须禁止只在……时这类约束式用语。经验告诉我模型对请求式语言的理解是概率性的但对约束式语言更接近于硬性规则。把行为规则写成可被检查的清单比写成礼貌的请求有效得多。4.4 为什么还要配 examples模型是看例子学会的我在实际开发中还有一个观察指令写得再清楚也不如给一个前后对比的例子来得直接。所以 SKILL.md 最后会挂一个指向 examples 目录的引用# 参考示例 在开始回答之前先阅读 examples/before-after.md 理解结论优先的输出与普通回答的区别。before-after.md 里的对比示例长这样简化版提问这段代码为什么会未定义行为 普通回答 这是一个典型的未定义行为问题。在 C 中未定义行为指的是…… 根据标准第几条…… 需要考虑编译器优化、内存模型等多种因素…… 七行之后所以问题的根源可能是此处对悬垂指针的解引用。 结论优先回答 根本原因return 语句里解引用了提前释放的指针。 验证依据指针在 try 块内被 delete随后在异常路径中再次使用。 修复方案将 delete 移到所有引用结束之后或使用 shared_ptr 管理生命周期。这个对比示例让模型秒懂我要的是什么。我甚至觉得这里的例子比千行规则描述都重要——大语言模型的少样本学习能力很强一个好例子的引导效果远超抽象规则。5. 实战接入三个高频场景下的输出模板Skill 写完之后就该让它干活了。这一节我把三个最常用场景的模板放出来都是我调试过、实测有效的版本。5.1 场景一Bug 排查 / 错误分析Bug 排查是结论优先收益最大的场景因为排查过程天然冗长——看日志、翻代码、试复现路径Agent 很容易把这整个过程复述一遍。套用模板后输出结构被压缩为四段根本原因[一句话带上具体的类和函数名] 触发条件[触发时需要满足的前置条件] 影响范围[影响的功能模块 / 用户路径] 修复建议[改动级别的描述指明文件和修改思路]模板之后才允许出现排查过程的详细证据。我实测的改进效果很明显以前看一份排查报告要花两分钟现在十五秒就能知道该改哪。这里有个额外的收获——当 Agent 必须把根因压缩成一句话时它的准确率反而上升了因为模型不敢在自己没把握的情况下随便写一个肯定句一旦不确定它就会主动列出缺失信息这比绕来绕去的模糊表达有用得多。5.2 场景二代码评审代码评审场景的结论优先核心是解决评审意见被淹没在客套话里的问题。套用模板后总体意见[通过 / 需修改 / 重新设计] 关键问题按严重程度倒序 1. [严重级别] [文件:行号] [问题描述] —— [问题原因] —— [修改建议] 2. … 可选优化[非阻塞建议无则省略]这里我加了一个细节每条问题必须带文件行号这是结论优先的一个变种——对于代码评审光说某某模块有问题不被视为合格结论必须指明到行。这样既压缩了输出又保住了精确度。5.3 场景三需求变更的影响评估第三个场景是需求评估。这类问答的核心结论是改不改、要花多大代价模板如下可行性结论[可做 / 不可做 / 需调整方案] 影响面[涉及的模块清单按影响程度排序] 主要风险[风险点及其应对策略] 工作量估算[简要的耗时评估分乐观/悲观两档]对产品需求和开发协作来说这个模板尤其有用——它能逼着 Agent 把抽象的需求描述翻译成具体的改动清单和风险列表比空泛的这个需求是合理的有价值一个数量级。接入方法也很简单在 Agent 的配置里把 Skill 目录加进加载路径对话中触发对应场景时Agent 会自动去读取 references 下对应的模板并套用输出格式。如果你用的是支持自动调用的 Agent 平台还需要在 description 里把触发词写清楚比如bug排查报错评审等这样它才知道什么时候该加载这套 Skill什么时候不该加载。6. 没踩过坑不会懂的细节排查与避坑清单Skill 跑起来容易跑得稳不容易。我把实际使用中遇到的五个典型问题整理成速查表每个都附带解决思路算是给还没入坑的朋友打个预防针。问题现象常见原因解决思路Agent 偶尔不遵守格式又变回长篇大论触发描述不够精确Skill 未被加载检查 description 里的触发词把高频提问词补进去结论过于简短毫无证据支撑对结论块的要求过强压缩了必要信息在模板里给证据链设置最小数量要求如至少包含一个直接依据结论先行导致语境错位用户本来想深入讨论却被迫看压缩版答案设置豁免条件当用户表达详细展开完整分析等意图时退出结论优先模式多个 Skill 冲突输出格式互相覆盖其他 Skill 对输出结构也有强约束在 SKILL.md 中声明优先级或在配置中关闭冲突 Skill 的自动触发压缩后信息丢失看起来像正确的废话模板字段让 Agent 填了模糊结论增加名词密度自检规则结论句中必须包含至少一个具体的技术实体函数名、类名、模块名、报错码除了表格里的这些问题还有三个操作层面的心得。第一Skill 描述里的触发词宁多勿少。我第一版只写了bug 排查这个触发词结果用户问这段 JS 代码为什么卡死了时Agent 完全没有加载 Skill因为卡死不在它的触发词表里。后来我把触发词扩成一组bug、排查、报错、崩溃、卡死、优化建议、评审、评估。触发越积极Skill 的覆盖率越高。第二要在模板里设置结论质量底线。我最开始只要求先说结论结果有几次 Agent 给的结论是这段代码存在性能问题这种废话——它对也错不了但没有任何信息量。后来我在指令里加了一条规则结论句中必须包含具体的技术实体比如函数名、类名、模块名、报错码。有了这条底线性能问题这类空话就会被模型自动改写成fetch 请求未做超时控制导致等待队列堆积这种有操作性的结论。第三examples 目录要放到 Skill 加载优先级最高的位置。因为模型在读取 Skill 时examples 里的对比示例是最快建立行为模式的材料。我一度把 examples 放在 references 之后效果就没那么好——后来把它提前到 SKILL.md 里直接引用行为一致性立刻上来了。7. 越简单的要求越需要精细的约束说实话这个 Skill 从设计到落地技术含量并不高——没有复杂的算法没有花哨的工具链核心就是一份写得比较讲究的指令文件。但它带来的体验提升比很多功能级的改造都要明显。我个人在实际使用中最深的体会是让 Agent 话少一点比让 Agent 能力更强一点更容易被感知。能力的提升是渐进的有时候用户甚至察觉不到但输出结构一变、结论前置每次对话的效率提升都是立竿见影的。有一个细节很有趣用了一段时间结论优先模式后我回头翻旧对话发现自己已经很难忍受以前那种讲满八行才进入正题的回答方式了——人的信息耐心是会随着工具的改进而下降的这从侧面说明这种方向的改造是真实有效的。最后还是分享一个实用小技巧Skill 里的每个模板最好都留一个豁免按钮也就是当用户说我想看完整的推理过程时Agent 可以回到详细输出模式。因为结论优先是协作效率的默认值但不应该是唯一选项有的场景下用户确实需要看 AI 是怎么一步步推出来的而不是只看压缩后的结论。如果你的 Agent 也有话太多的毛病建议先从这个小 Skill 改起。把输出格式管住了后面再折腾更复杂的功能才有精力去关注真正的问题。

相关新闻

AMD 7900XTX双芯显卡实测:Qwen-4B本地推理性能边界

AMD 7900XTX双芯显卡实测:Qwen-4B本地推理性能边界

1. 这不是“装机测评”,而是一次显卡算力边界的实测推演“本地 AI Max395 外接7900XTX:Strata跑千问,能跑多大、多快?”——这个标题里藏着三重现实张力:第一重是硬件组合的非常规性,AMD 7900XTX 是消费级显…

2026/10/15 7:14:54 阅读更多 →
常见类继承关系全解析:从底层原理到工程实践取舍

常见类继承关系全解析:从底层原理到工程实践取舍

写代码写了这些年,凡是跟面向对象沾边的项目,几乎每天都在跟“继承”打交道。这个标题“常见类的继承关系”,乍一看特别像教材里的一小节,但真正在工作里把它吃透的人,其实不算多。我见过不少同事,能说出“…

2026/10/15 7:14:54 阅读更多 →
Spring AI + Azure OpenAI:从录音到会议纪要的工程化实现解析

Spring AI + Azure OpenAI:从录音到会议纪要的工程化实现解析

直接说结论:这个标题本身就是三分真七分噱头。Azure OpenAI 并不直接帮你把录音变成文字,真正干“听写”活的是 Azure 语音服务,OpenAI 模型只负责把那堆口语文本整理成像模像样的会议纪要。但反过来讲,如果你已经有转写文本&…

2026/10/15 7:14:54 阅读更多 →

最新新闻

Hyper-Frames:无标签视频+里程计自监督预训练,实现低成本运动预测

Hyper-Frames:无标签视频+里程计自监督预训练,实现低成本运动预测

做自动驾驶、移动机器人、无人机导航的同行,应该都有一段被数据集标注反复折磨的经历。最近 Waymo Research 放出的 Hyper-Frames 框架,让我终于看到一条不太一样的路:不用一开始就堆人天去标框、标轨迹、标地图,用无标签视频加里…

2026/10/15 12:59:25 阅读更多 →
Wand图像批处理实战:ImageMagick的Python绑定与PIL替代方案

Wand图像批处理实战:ImageMagick的Python绑定与PIL替代方案

1. 为什么我要认真聊聊Wand这个模块 第一次接触Wand是在处理一批商品图的时候。运营那边丢过来三百多张图片,要求统一裁成正方形、加白色边框、压缩到指定体积以下,还要把每张图的平均色提取出来做配色统计。我当时第一反应是用PIL,但写着写着…

2026/10/15 12:59:25 阅读更多 →
轴承行业竞价内卷加剧,杭州巨宇科技GEO优化让品牌被AI看见

轴承行业竞价内卷加剧,杭州巨宇科技GEO优化让品牌被AI看见

当空压机设备厂商向豆包提问"空压机轴承生产厂家哪家靠谱",向DeepSeek询问"精密轴承供应商推荐、高速轴承哪个品牌好",向Kimi搜索"轴承型号怎么对应、P4级精度是什么水平"时,AI给出的专业回答里,你…

2026/10/15 12:59:25 阅读更多 →
CHAN、Taylor、AOA定位算法实战:从公式到融合避坑指南

CHAN、Taylor、AOA定位算法实战:从公式到融合避坑指南

简介:这份资源围绕无线通信与导航系统中的经典定位算法展开,面向从事物联网、雷达、卫星导航及无线网络定位开发的学习者与研究人员,重点讲解CHAN、Taylor与AOA三种基本方法的原理与实现思路。压缩包共37个文件,以m脚本与mat文件为…

2026/10/15 12:59:25 阅读更多 →
Logstash数据入库MySQL/PostgreSQL:logstash-output-jdbc在线与离线安装全攻略

Logstash数据入库MySQL/PostgreSQL:logstash-output-jdbc在线与离线安装全攻略

Logstash的数据要写进MySQL或者PostgreSQL,很多人在第一步就卡住了:官方自带的输出插件只有elasticsearch、file、stdout这些,偏偏没有关系型数据库。社区里用得最多的补位方案就是logstash-output-jdbc。这个插件本身不难装,但“…

2026/10/15 12:59:25 阅读更多 →
C++结构体详解:定义、使用与最佳实践

C++结构体详解:定义、使用与最佳实践

1. 结构体基础概念解析在C编程中,结构体(struct)是一种将不同类型的数据组合成一个整体的复合数据类型。它允许我们将多个相关的变量打包成一个逻辑单元,这在处理复杂数据时特别有用。比如要记录一个班级的学生信息,每个学生有学号、姓名、成…

2026/10/15 12:58:24 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 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/15 0:14:36 阅读更多 →
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/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练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/15 9:49:14 阅读更多 →