医疗健康 AI Agent Harness Engineering:从辅助诊断到个性化治疗
1. 医疗 Agent 落地为什么总卡在“最后一公里”医疗健康 AI Agent 从辅助诊断走到个性化治疗真正难的不是模型能不能答对题而是它能不能在真实临床流程里稳定、可控、可追溯地跑起来。我见过不少团队拿着一个在执业医师考试里刷到 90 分以上的模型兴冲冲接到医院内网结果第一周就翻车要么把患者过敏史漏掉要么给出的用药剂量和药典对不上要么调用影像工具时把单位搞错。这些问题的根源几乎都不是模型知识不够而是缺少一层“驾驭工程”——也就是 Harness Engineering。你可以把 Harness Engineering 理解成给 AI Agent 套上的“规培体系 医院管理制度”。医学生背完教材不等于能上临床他需要规培、需要上级医生带、需要知道什么能做什么不能做、出错了怎么纠错。医疗 Agent 也一样它需要一个提示词框架约束输出边界需要幻觉抑制机制保证每条建议都有证据来源需要工具链编排把影像、检验、药典、指南串起来还需要合规管控让所有操作留痕可审计。这四件事合起来才是能落地的医疗 Agent。这篇文章面向的是想动手搭原型的开发者、医院信息科工程师和医疗 AI 产品同学。我会给出一套可复制的 Harness 配置骨架从模型接入、提示词约束、工具编排到验证请求一步步带你跑通一个“肺癌辅助诊断 糖尿病个性化治疗”的最小原型。模型能力统一通过 TaoToken 的 API 通道接入这样你不用在多个厂商的 Key 之间来回切换一个 Key 就能覆盖不同模型方便做 A/B 对比和成本控制。先说清楚边界医疗 Agent 永远是辅助工具最终诊断和治疗决策必须由执业医师审核后生效。我们做工程化的目标是让这个辅助过程更准、更快、更可追溯而不是替代医生。下面进入实操。2. TaoToken 前置准备统一 Key 与 API 通道在搭 Harness 之前先把模型接入这层理顺。医疗 Agent 的一个现实需求是不同任务对模型能力要求不一样。辅助诊断的推理链要强个性化治疗的方案生成要稳随访话术要便宜。如果每个模型都单独申请 Key、单独配 Base URL工程上会很乱。TaoToken 的价值就在这里——它提供统一的 API 通道你用一个 Key 就能调用多种模型Base URL 统一指向https://taotoken.net/api切换模型只需要改一个 Model ID 参数。2.1 获取 Key 与确认通道先到控制台创建 API Key。访问https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentconsole登录后在 API Keys 页面新建一个 Key复制保存。注意 Key 只在创建时完整显示一次丢了只能重建。拿到 Key 后你的接入信息是固定的三件套配置项值Base URLhttps://taotoken.net/apiAPI Key你在控制台创建的sk-开头的字符串Model ID按任务选择如gpt-4o、claude-3-5-sonnet等这里要强调一点Base URL 不要加任何路径后缀OpenAI 兼容的 SDK 会自动拼接/v1/chat/completions。很多人报 404就是因为手贱在 Base URL 后面加了/v1结果变成/v1/v1/...。2.2 用环境变量管理 Key医疗项目对安全要求高Key 绝对不能硬编码进代码提交到仓库。用.env文件管理并加入.gitignore# .env TAOTOKEN_API_KEYsk-你的实际Key TAOTOKEN_BASE_URLhttps://taotoken.net/api然后在代码里用python-dotenv读取。这样本地开发、测试环境、生产环境可以用不同的 Key互不干扰。2.3 先做一次最小连通性验证在写复杂 Agent 之前先用一段最简单的脚本确认通道是通的。这一步能帮你排除掉 90% 的“以为是 Agent 问题其实是接入问题”的情况import os from dotenv import load_dotenv from openai import OpenAI load_dotenv() client OpenAI( api_keyos.getenv(TAOTOKEN_API_KEY), base_urlos.getenv(TAOTOKEN_BASE_URL), ) resp client.chat.completions.create( modelgpt-4o, messages[ {role: system, content: 你是一个医疗信息助手只做信息整理不做诊断。}, {role: user, content: 请用一句话说明肺癌筛查中低剂量CT的作用。}, ], temperature0, ) print(resp.choices[0].message.content)跑通后你会看到模型返回一句话。如果这里就报错先别往下走对照第 5 节的排错表把接入问题解决掉。接入这层稳了后面的 Harness 才有意义。3. 可复制的 Harness 配置骨架这一节是全文的核心。我把医疗 Agent 的 Harness 拆成四个可独立配置的模块模型接入配置、提示词约束配置、工具编排配置、合规审计配置。每个模块都给可直接复制的片段。3.1 模型接入配置settings 片段先建一个统一的模型客户端工厂把 TaoToken 的三件套封装进去。这样 Agent 的每个工具、每个子任务都从同一个入口拿模型方便统一换模型和统计用量# harness/llm_factory.py import os from dotenv import load_dotenv from openai import OpenAI load_dotenv() # 不同任务用不同模型统一走 TaoToken 通道 MODEL_MAP { diagnosis: gpt-4o, # 辅助诊断推理链要强 treatment: claude-3-5-sonnet, # 方案生成稳定性优先 followup: gpt-4o-mini, # 随访话术成本优先 } def get_client() - OpenAI: return OpenAI( api_keyos.getenv(TAOTOKEN_API_KEY), base_urlos.getenv(TAOTOKEN_BASE_URL), ) def get_model(task: str) - str: return MODEL_MAP.get(task, gpt-4o)这段配置的关键点是Base URL 和 Key 只在这里出现一次其他模块通过get_client()和get_model()获取。以后要换模型只改MODEL_MAP一处。3.2 提示词约束配置JSON 片段医疗场景的提示词不能随便写。我把它结构化成 JSON每个字段对应一条硬约束方便版本管理和审计。下面是一个肺癌辅助诊断的约束配置{ role: 呼吸科肺癌辅助诊断AI助理, guideline_refs: [ NCCN非小细胞肺癌指南2024版, 中国肺癌诊疗指南2023版 ], hard_rules: [ 所有诊断建议必须对齐上述指南禁止给出指南外建议, 所有患者数据必须来自本次输入禁止编造或补全缺失信息, 不确定的判断必须标注建议进一步检查明确, 输出必须包含结节特征、恶性概率、证据来源、下一步建议、风险提示, 结尾必须标注本建议为AI辅助生成需执业医师审核后方可生效 ], output_schema: { nodule_features: string, malignancy_probability: number, evidence: array, next_steps: array, risk_warning: string }, temperature: 0 }把提示词写成 JSON 而不是散在代码里好处是产品经理能直接改改完能 diff出问题能回溯是哪一版约束导致的。temperature设为 0 是医疗场景的硬要求减少随机性。3.3 工具编排配置TOML 片段Agent 要调用外部工具工具清单也用配置文件管理。TOML 比 JSON 更适合写带注释的配置# harness/tools.toml [[tools]] name search_guideline description 检索临床指南条文输入查询问题返回指南原文和证据等级 type rag kb_path ./medical_kb/lung_cancer top_k 5 evidence_priority [A, B, C, D] [[tools]] name check_drug_interaction description 查询药物相互作用输入药物名列表返回相互作用和风险等级 type api endpoint http://localhost:8001/drug/interaction timeout 5 [[tools]] name parse_lab_report description 解析检验报告输入报告文本返回结构化指标和异常标记 type local parser harness.parsers.lab_parser [compliance] audit_log_path ./logs/agent_audit.log require_doctor_review true pii_mask [name, id_card, phone]这份配置里require_doctor_review true和pii_mask是医疗场景的合规底线所有输出必须经医生审核所有患者隐私字段在日志里必须脱敏。3.4 把四个模块组装成 Agent有了上面三份配置组装 Agent 就变成搭积木# harness/medical_agent.py import json import toml from harness.llm_factory import get_client, get_model class MedicalAgent: def __init__(self, task: str, config_path: str): self.client get_client() self.model get_model(task) self.config json.load(open(config_path, encodingutf-8)) self.tools toml.load(harness/tools.toml)[tools] def build_system_prompt(self) - str: rules \n.join(f{i1}. {r} for i, r in enumerate(self.config[hard_rules])) return f【角色】{self.config[role]}\n【硬约束】\n{rules} def run(self, patient_input: str) - dict: resp self.client.chat.completions.create( modelself.model, messages[ {role: system, content: self.build_system_prompt()}, {role: user, content: patient_input}, ], temperatureself.config[temperature], response_format{type: json_object}, ) return json.loads(resp.choices[0].message.content)注意response_format{type: json_object}强制模型输出 JSON这样下游解析不会因为模型多写一句“好的以下是分析”而崩掉。这是医疗 Agent 工程化里非常实用的一招。4. 验证请求与成功结果配置写完必须验证。医疗 Agent 的验证分两层接入层验证和业务层验证。4.1 接入层验证先确认 TaoToken 通道和模型返回正常。用第 2.3 节的最小脚本跑一次看到正常返回即通过。如果要用模型对话页面快速试可以访问https://taotoken.net/model-chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentmodel-chat在网页里直接发一条医疗信息整理请求确认通道可用。4.2 业务层验证跑一个肺癌辅助诊断用例用第 3.4 节的 Agent 跑一个真实结构的输入from harness.medical_agent import MedicalAgent agent MedicalAgent(taskdiagnosis, config_path./configs/lung_cancer.json) patient_input 患者男62岁吸烟史40年20支/天父亲因肺癌去世。 胸部CT右肺上叶磨玻璃结节直径12mm可见分叶征、毛刺征增强扫描有强化。 肿瘤标志物CEA 23ng/ml参考范围5ng/ml。 请给出辅助诊断建议。 result agent.run(patient_input) print(json.dumps(result, ensure_asciiFalse, indent2))一次成功的返回应该长这样结构固定内容因模型而异{ nodule_features: 右肺上叶磨玻璃结节直径12mm伴分叶征、毛刺征增强后有强化属于高危影像特征, malignancy_probability: 0.82, evidence: [ {source: NCCN NSCLC 2024, level: A, content: 分叶毛刺磨玻璃结节恶性风险显著升高}, {source: 中国肺癌诊疗指南2023, level: B, content: CEA升高结合影像需警惕恶性} ], next_steps: [建议多学科会诊, 建议PET-CT或穿刺活检明确病理], risk_warning: 本判断基于影像和检验信息未包含病理金标准存在不确定性建议进一步检查明确, disclaimer: 本建议为AI辅助生成需执业医师审核后方可生效 }验证成功的三个标志一是malignancy_probability是数字不是字符串二是evidence里每条都有source和level三是disclaimer字段存在。如果缺任何一个说明提示词约束没生效回去检查hard_rules和response_format。4.3 个性化治疗用例验证换一个 task 和配置验证糖尿病个性化治疗agent MedicalAgent(tasktreatment, config_path./configs/diabetes.json) patient_input 患者女58岁2型糖尿病8年HbA1c 8.6%合并高血压长期服用氨氯地平。 经济条件一般希望方案尽量走医保。目前服用二甲双胍0.5g bid。 请给出个性化治疗建议。 result agent.run(patient_input) print(json.dumps(result, ensure_asciiFalse, indent2))成功返回里应该能看到方案考虑了合并用药氨氯地平、经济因素医保优先、当前用药二甲双胍。如果模型直接推荐了昂贵的自费药而没提医保说明个性化约束没写进提示词需要在hard_rules里补一条“方案需考虑患者经济与医保情况”。5. 本篇常见错误排查医疗 Agent 搭建过程中报错集中在接入层和业务层。下面按真实报错对照排查。5.1 401 Unauthorized最常见。原因通常是 Key 没读到或格式不对。检查.env里TAOTOKEN_API_KEY是否以sk-开头是否有多余空格或引号。用print(os.getenv(TAOTOKEN_API_KEY)[:8])打印前 8 位确认读到了。如果 Key 是在别的环境创建的确认没有复制错。5.2 local proxy failed / connection error这个报错说明请求根本没发出去通常是 Base URL 写错或网络环境问题。确认TAOTOKEN_BASE_URL是https://taotoken.net/api没有多余路径。如果你在公司内网检查是否需要配置内网 DNS。注意不要在任何环境里配置来路不明的网络代理工具医疗项目对网络合规要求极高统一走正规 API 通道即可。5.3 reading choices 报错KeyError: choices这个报错说明返回体里没有choices字段通常是返回了错误 JSON。打印完整resp看error字段。常见原因是 Model ID 写错比如把gpt-4o写成gpt4o。对照 TaoToken 文档里的模型列表确认 Model ID 拼写。文档地址https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentdoc。5.4 OAuth / 鉴权相关报错如果你用的是 Claude Code 这类工具接入报 OAuth 错误通常是因为工具默认走了官方登录流程。正确做法是在工具的配置里显式指定 Base URL 和 Key。以 Claude Code 为例需要设置环境变量export ANTHROPIC_BASE_URLhttps://taotoken.net/api export ANTHROPIC_API_KEYsk-你的Key然后在工具里指定 Model ID。三件套Base URL Key Model ID缺一不可。如果只配了 Key 没配 Base URL工具还是会去连官方端点自然报鉴权失败。5.5 输出不是合法 JSONjson.loads抛异常说明模型没按 JSON 输出。两个检查点一是response_format{type: json_object}是否传了二是系统提示词里是否明确要求“只输出 JSON不要任何解释文字”。有些模型对json_object支持不完善可以在提示词末尾加一句“直接输出 JSON第一个字符是{最后一个字符是}”。5.6 幻觉给出了指南外的建议这是业务层最危险的错误。排查方法把temperature确认为 0检查evidence字段是否为空如果模型给出了没有证据来源的建议说明 RAG 检索没接上或top_k太小。把top_k调到 5 以上并在提示词里加“每条建议必须对应 evidence 中的一条来源否则不得输出”。6. 从原型到可用下一步怎么走跑通上面的原型后你已经有了一个可复现的医疗 Agent 骨架。接下来要做的是把原型往可用推进。几个方向供参考。第一把工具真正接上。原型里的search_guideline用的是本地文档生产环境要接结构化的指南库和药典库check_drug_interaction要接真实的药物相互作用数据库。工具返回的质量直接决定 Agent 输出的质量。第二建立离线评测集。收集至少 1000 份已确诊的脱敏病例让 Agent 跑一遍统计诊断一致率和幻觉率。一致率低于 95% 或幻觉率高于 1%不要上线试运行。评测脚本可以复用第 4 节的验证代码批量跑然后统计。第三把审计日志用起来。tools.toml里配的audit_log_path不是摆设。每次 Agent 调用都要记录输入摘要、输出、用到的工具、证据来源、时间戳。这些日志既是合规要求也是迭代优化的数据来源——哪些病例 Agent 判断错了回溯日志就能定位是检索问题还是提示词问题。第四长期编码和 Agent 迭代可以考虑用 Coding Plan 来管理模型调用额度访问https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentcoding-plan了解。医疗 Agent 的迭代是长期过程稳定的额度管理能省不少事。最后再强调一次边界这套 Harness 的目标是让 AI 辅助更可靠不是让 AI 做决策。所有输出必须经执业医师审核所有患者数据必须脱敏和本地化处理。技术能做的是把医生从重复的信息整理里解放出来让他们把时间花在真正需要人类判断的地方。这才是医疗 Agent 工程化的价值所在。

相关新闻

MCP Server接入3D工作流:让AI真正读懂你的场景数据

MCP Server接入3D工作流:让AI真正读懂你的场景数据

1. 我的 3D 工作流里,为什么非要塞进一个 MCP server做 3D 项目做久了,你会发现一个特别拧巴的事:AI 语言模型再聪明,也看不懂我硬盘里的 .blend、.gltf、.fbx。它知道什么是"漫反射贴图",能跟你聊 PBR 材质…

2026/10/12 14:37:01 阅读更多 →
DeepSeek Harness:全插件化Agent运行时与可回放会话日志实战

DeepSeek Harness:全插件化Agent运行时与可回放会话日志实战

做了几年Agent应用,说实话踩过的坑比写出来的代码还多。最近我把自己常用的那套Agent运行骨架重新整理了一遍,抽出了一个内部代号叫 DeepSeek Harness 的轻量级运行时,核心就两件事:全插件化的装配机制,以及一套可回放…

2026/10/12 14:37:01 阅读更多 →
旋转圆盘上的摆动模拟:非惯性系下的动力学建模与数值实现

旋转圆盘上的摆动模拟:非惯性系下的动力学建模与数值实现

“旋转圆盘上的摆动模拟”听起来像个物理课建模题,但真正落地做的时候,你会发现它兼顾了刚体动力学、非惯性系分析和数值稳定性这几件麻烦事。我最早是因为一个同学在某个平台团建展示了一个演示:圆盘转起来,摆锤没有老老实实顺着…

2026/10/12 14:37:01 阅读更多 →

最新新闻

2026年亲测AI论文平台榜单(合规高效版):把Base URL改到TaoToken的实测记录

2026年亲测AI论文平台榜单(合规高效版):把Base URL改到TaoToken的实测记录

/* 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 19:48:04 阅读更多 →
AI原生全栈开发训练营:从写代码到编排AI的实战指南

AI原生全栈开发训练营:从写代码到编排AI的实战指南

最近总有人问我:AI时代还要不要学全栈开发?我的回答很直接——要学,但不能再用原来那套学法。我自己做了好几年传统前后端,后来把AI能力嵌进产品,也在带一个叫“AI原生超级全栈开发工程师训练营”的项目。这个训练营的…

2026/10/12 19:48:04 阅读更多 →
企业级AI编程软件必看:2026最新8款权威工具深度推荐与TaoToken统一接入实践

企业级AI编程软件必看:2026最新8款权威工具深度推荐与TaoToken统一接入实践

/* 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 19:48:04 阅读更多 →
小白也能轻松玩转龙虾:虾壳云一键部署 OpenClaw 桌面快速安装与 TaoToken 通道配置

小白也能轻松玩转龙虾:虾壳云一键部署 OpenClaw 桌面快速安装与 TaoToken 通道配置

/* 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 19:48:04 阅读更多 →
【异常】解决 Windows PowerShell 无法识别 ‘claude‘ 命令的实战指南:把 PATH 改到 TaoToken 的排查路径

【异常】解决 Windows PowerShell 无法识别 ‘claude‘ 命令的实战指南:把 PATH 改到 TaoToken 的排查路径

/* 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 19:48:03 阅读更多 →
电商商品分类库实战:从类目映射到数据清洗的完整指南

电商商品分类库实战:从类目映射到数据清洗的完整指南

简介:这份商品分类库面向电商平台搭建者、零售运营人员及ERP/CRM系统开发者,提供一套可直接落地的货品分类数据方案,解决新建商城或系统升级时分类体系从零构建耗时费力的问题。资源包共1个文件,为SQL脚本类型,压缩包约…

2026/10/12 19:47:03 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 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/11 10:45:37 阅读更多 →
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 阅读更多 →