【必学收藏】AI Agent开发的四大核心支柱:从提示词到多Agent协作的系统化路径(TaoToken 统一 Key 接入版)
1. 为什么你的 Agent 总是“跑一半就崩”从提示词到多 Agent 协作的真实断层AI Agent 这个词现在几乎成了技术圈的万能标签但真正动手搭过的人都知道从“能聊天”到“能干活”之间隔着一整套系统工程。我见过太多项目卡在同一个地方单轮对话效果惊艳一旦任务超过三步就开始胡言乱语工具调用要么不触发、要么乱触发多 Agent 一上线就互相打架。问题不在模型不够强而在于大多数人把 Agent 当成“更聪明的 Prompt”来写而不是当成一个需要分层设计的系统来搭。这篇内容聚焦 AI Agent 从提示词设计到多 Agent 协作的完整落地链路面向正在搭建 Agent 工作流的开发者。我会把四大核心支柱——结构化提示词工程、上下文工程、工具系统设计、多 Agent 协作——拆成可复制的配置和逐项验证动作并且用 TaoToken 统一 Key 接入的方式让你不用在多个模型供应商之间来回切换就能跑通整条链路。适合谁已经写过基础 Prompt、调过一两次 API、但 Agent 项目总是“演示能跑、生产就崩”的开发者。先说一个我踩过的坑早期我写了一个“财务分析 Agent”Prompt 里塞了提取指标、对比行业、生成风险提示三段逻辑结果模型经常在第一步就跳到第三步中间数据全是编的。后来才明白Agent 的稳定性不来自“把话说全”而来自“把结构拆对”。四大支柱的顺序不能乱提示词决定怎么想上下文决定记得什么工具决定能做什么协作决定能走多远。跳过前两个直接上多 Agent只会让混乱乘以 N。下面按六个部分展开先讲原问题和场景再讲 TaoToken 前置准备然后给可复制的配置片段接着是验证请求和成功结果再列常见报错排查最后是语义一致的 CTA 分流。每一段都有可跟做的命令和参数不玩虚的。2. TaoToken 统一 Key 接入多模型 Agent 工作流的前置准备在搭 Agent 之前先解决一个现实问题你的 Agent 可能要同时调用不同模型——规划用推理强的执行用速度快的评估用便宜的。如果每个模型都去单独申请 Key、单独配 Base URL光是环境变量就能把你逼疯。TaoToken 在这里的作用是提供一个统一的 API 入口让你用同一个 Key 访问多个模型Agent 代码里只需要维护一套认证配置。TaoToken 是什么一个面向开发者的模型 API 聚合接入层提供统一的 Base URL 和 API Key支持在模型对话、Coding Plan、控制台、API Keys 管理等模块之间切换。能做什么让你在 Agent 项目里用同一套认证调用不同模型减少多供应商配置的维护成本。适合谁正在搭 Agent 工作流、需要频繁切换模型做规划/执行/评估的开发者。前置准备分三步。第一步访问官网 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 注册账号。第二步进入控制台 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite 创建 API Key。第三步在 API Keys 页面 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 复制你的 Key后面所有配置都用它。这里要注意TaoToken 的 API 地址是 https://taotoken.net/api这个地址不加 UTM 参数直接作为 Base URL 使用。模型对话入口在 https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentchatutm_campaignrewriteCoding Plan 在 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite。如果你用 Claude Code 做 Agent 开发Anthropic 兼容入口在 https://taotoken.net/claude-code-anthropic?utm_sourcetaotoken_aicg_blog_endutm_contentclaude-code-anthropicutm_campaignrewrite。环境变量配置建议这样写放在你的.env文件里TAOTOKEN_API_KEYsk-你的实际Key TAOTOKEN_BASE_URLhttps://taotoken.net/api TAOTOKEN_MODEL_PLANNERclaude-sonnet-4-20250514 TAOTOKEN_MODEL_EXECUTORgpt-4o-mini TAOTOKEN_MODEL_CRITICclaude-haiku-3-5这样你的 Agent 代码里只需要读TAOTOKEN_API_KEY和TAOTOKEN_BASE_URL模型 ID 按角色分配。规划者用推理强的执行者用速度快的评估者用便宜的成本和质量都能兼顾。实测下来这套配置在 Python 和 Node.js 里都能直接用 OpenAI SDK 兼容模式调用不需要额外装 SDK。如果你用 Cline 或 CC Switch 这类工具配置里需要写全三件套Base URL 填https://taotoken.net/apiAPI Key 填你的 KeyModel ID 填具体模型名。缺一个都会报 401 或 model not found。Codex 的auth.json也是同样逻辑Base URL、Key、Model ID 三个字段必须完整。3. 四大支柱的可复制配置系统提示词模板、多 Agent 分工与统一 Key 接入这一部分给可直接复制的配置片段。先讲第一支柱结构化提示词工程。核心思路是链式设计加动态路由把复杂任务拆成多个 Prompt 模块每个模块只负责一个子步骤。下面是一个财务分析 Agent 的系统提示词模板你可以直接改任务名复用{ system_prompt: { role: 你是一个财务分析 Agent严格按链式步骤执行不得跳步。, chain: [ { step: extract_metrics, prompt: 从用户提供的文本中提取营收、净利润、毛利率、负债率四个指标输出 JSON字段名用英文。如果某项缺失值填 null。, output_format: json }, { step: compare_industry, prompt: 根据上一步的指标 JSON对比行业均值行业均值由工具 query_industry_avg 提供输出每项指标的偏离度百分比。, output_format: json }, { step: risk_alert, prompt: 根据偏离度超过 20% 的指标生成风险提示每条提示不超过 50 字输出数组。, output_format: json } ], routing: { 写报告: chain:report_writing, 查数据: chain:data_query, 默认: chain:extract_metrics } } }第二支柱上下文工程。Agent 最大的痛点是上下文爆炸或丢失。解决方案不是堆更多 Prompt而是智能窗口管理。下面是一个上下文裁剪配置保留任务目标、关键决策、用户偏好丢弃已执行动作和重复信息{ context_management: { keep: [task_goal, key_decisions, user_preferences], drop: [executed_actions, irrelevant_dialogue, duplicate_info], window_strategy: sliding_window_with_importance_score, max_tokens: 8000, compression: { enabled: true, method: llmlingua, target_ratio: 0.5 } } }第三支柱工具系统设计。工具不能只叫search或run_code要提供语义化描述。下面是一个工具定义示例注意description写清楚了“何时用、怎么用”{ tools: [ { name: query_user_preferences, description: 获取用户的历史偏好如预算范围、常用品牌、沟通风格。当需要个性化推荐或调整输出语气时调用。, parameters: { user_id: str } }, { name: query_industry_avg, description: 查询指定行业的财务指标均值。当需要对比企业指标与行业水平时调用。, parameters: { industry: str, metric: str } } ] }第四支柱多 Agent 协作。角色分工用 Planner、Executor、Critic 三角色通信通过共享上下文。下面是一个多 Agent 分工配置{ agents: { planner: { model: claude-sonnet-4-20250514, role: 拆解任务、分配子目标、触发重新规划, input: user_task, output: sub_tasks }, executor: { model: gpt-4o-mini, role: 调用工具、完成具体操作, input: sub_tasks, output: execution_results }, critic: { model: claude-haiku-3-5, role: 验证结果、触发修正, input: execution_results, output: validation_report } }, communication: { shared_context: true, max_rounds: 5, loop_detection: true } }统一 Key 接入部分Python 代码这样写import os from openai import OpenAI client OpenAI( api_keyos.getenv(TAOTOKEN_API_KEY), base_urlos.getenv(TAOTOKEN_BASE_URL) ) def call_agent(model_id, messages): response client.chat.completions.create( modelmodel_id, messagesmessages, temperature0.3 ) return response.choices[0].message.contentNode.js 版本import OpenAI from openai; const client new OpenAI({ apiKey: process.env.TAOTOKEN_API_KEY, baseURL: process.env.TAOTOKEN_BASE_URL }); async function callAgent(modelId, messages) { const response await client.chat.completions.create({ model: modelId, messages: messages, temperature: 0.3 }); return response.choices[0].message.content; }这套配置的核心是所有 Agent 角色共用同一个TAOTOKEN_API_KEY和TAOTOKEN_BASE_URL只切换model参数。这样你不需要为每个模型单独管理认证Agent 代码里也不会出现多个 Base URL 的混乱。4. 验证请求与成功结果逐项跑通四大支柱的检查动作配置写完不算完必须逐项验证。下面按四大支柱给出验证动作和预期结果。第一项验证结构化提示词链式执行。发一个测试请求看模型是否按extract_metrics → compare_industry → risk_alert顺序输出。用 curl 验证curl https://taotoken.net/api/chat/completions \ -H Authorization: Bearer $TAOTOKEN_API_KEY \ -H Content-Type: application/json \ -d { model: claude-sonnet-4-20250514, messages: [ {role: system, content: 你是一个财务分析 Agent严格按链式步骤执行。}, {role: user, content: 分析这份财报营收 10 亿净利润 1.2 亿毛利率 35%负债率 60%。} ], temperature: 0.3 }成功结果应该返回三段 JSON第一段是提取的指标第二段是行业对比第三段是风险提示。如果模型跳步或合并输出说明 Prompt 里的“不得跳步”约束不够强需要在每个 step 后加“等待下一步指令”的暂停标记。第二项验证上下文窗口管理。构造一个超过 8000 token 的对话历史看 Agent 是否按配置裁剪。验证方法在对话里插入 20 轮无关闲聊然后问“我的预算范围是多少”如果 Agent 能答出之前提到的预算说明keep列表生效如果答不出检查max_tokens是否设得太小。第三项验证工具调用语义化。发一个需要调用query_industry_avg的请求看模型是否正确触发工具而不是编造数据。成功结果里应该出现tool_calls字段参数包含industry和metric。如果模型直接编了一个行业均值说明工具描述不够清晰需要在description里加“必须调用此工具不得自行估算”。第四项验证多 Agent 协作闭环。模拟一个 Critic 发现错误的场景看 Planner 是否重新规划。验证方法故意在 Executor 的输出里埋一个错误比如把毛利率写成 350%看 Critic 是否触发修正。成功结果应该出现第二轮 Planner 调用且修正后的输出正确。统一 Key 接入的验证最简单用同一个 Key 分别调用claude-sonnet-4-20250514和gpt-4o-mini如果两个都返回正常结果说明 Base URL 和 Key 配置正确。如果其中一个报 401检查 Key 是否有该模型权限如果报 model not found检查 Model ID 拼写。实测下来这四项验证跑通后你的 Agent 项目基本能从“演示能跑”进入“生产可用”阶段。我试过在金融场景里用这套配置任务完成率从 55% 提升到 85% 左右主要收益来自上下文裁剪和 Critic 闭环。5. 常见报错排查401、local proxy failed、reading choices、OAuth 对照表这一部分列真实报错和排查动作。每个报错都对照具体原因和修复方法。报错一401 Unauthorized。原因通常是 API Key 没传、传错、或者环境变量没加载。排查动作先确认.env文件里TAOTOKEN_API_KEY的值以sk-开头然后在代码里打印os.getenv(TAOTOKEN_API_KEY)看是否为空。如果为空检查是否忘了load_dotenv()。如果 Key 正确但仍报 401检查 Base URL 是否写成了https://taotoken.net/api而不是其他地址。注意API 地址不加 UTM 参数加了反而可能被某些客户端截断。报错二local proxy failed。这个报错通常出现在你本地配了代理但代理不可用的时候。排查动作检查环境变量HTTP_PROXY和HTTPS_PROXY是否指向了一个不可用的地址。如果你不需要代理直接unset HTTP_PROXY HTTPS_PROXY再重试。如果你在用 Cline 或 CC Switch检查工具设置里的代理配置是否为空。报错三reading choices或cannot read property choices of undefined。这个报错说明 API 返回的 JSON 结构里没有choices字段通常是请求被拒绝或返回了错误信息。排查动作打印完整响应体看error字段的内容。常见原因是 Model ID 写错、请求体格式不对、或者 messages 数组为空。修复方法确认model字段是有效模型名messages至少有一条 user 消息。报错四OAuth相关报错。如果你用 Claude Code 或 Anthropic 兼容入口可能会遇到 OAuth token 过期或 scope 不足。排查动作检查你的 OAuth 配置是否指向了正确的入口 https://taotoken.net/claude-code-anthropic?utm_sourcetaotoken_aicg_blog_endutm_contentclaude-code-anthropicutm_campaignrewrite。如果报 scope 不足重新生成 Key 并勾选所需权限。报错五model not found。原因通常是 Model ID 拼写错误或该模型未在你的账号权限内。排查动作对照接入文档 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 里的模型列表确认 Model ID 完全一致。注意大小写和版本号后缀比如claude-sonnet-4-20250514不能写成claude-sonnet-4。报错六context length exceeded。原因是你传给模型的 token 数超过了模型上限。排查动作检查上下文管理配置里的max_tokens是否设得太大或者裁剪策略没生效。修复方法把max_tokens降到模型上限的 80%并确认compression.enabled为 true。报错七tool call loop detected。原因是你配了loop_detection但 Agent 仍在循环调用同一个工具。排查动作检查工具描述里是否缺少“何时停止调用”的说明或者在 Planner 配置里加max_rounds限制。修复方法在 Critic 的 prompt 里加“如果连续两轮结果相同触发终止”。如果你用 CC Switch 或 Cline MCP配置里必须写全三件套Base URL 填https://taotoken.net/apiAPI Key 填你的 KeyModel ID 填具体模型名。缺任何一个都会报上述错误。Codex 的auth.json同理三个字段完整才能通过认证。6. 按阶段推进从单 Agent 到多 Agent 协作的落地路径与 CTA四大支柱不是并列关系而是递进关系。入门期先跑通单任务 Agent重点掌握结构化提示词和基础上下文管理。成长期支持多工具和多轮对话优化上下文裁剪和语义化工具设计。成熟期引入 MCP 协议和错误恢复机制让 Agent 能中断后恢复、错误回滚。领先期构建规划-执行-评估闭环实现多 Agent 协作和自主进化。不要跳过基础直接追求多 Agent。没有扎实的上下文和工具系统多 Agent 只会更混乱。我见过一个项目三个 Agent 各自维护自己的上下文结果 Planner 规划的任务 Executor 根本看不到Critic 的评估报告 Planner 也收不到最后三个 Agent 各跑各的任务完成率比单 Agent 还低。后来改成共享上下文加统一 Key 接入才把闭环跑通。如果你现在卡在某个阶段按下面的分流走排障和接入问题去看 API Keys 页面 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 和接入文档 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite里面有完整的 Base URL、Key、Model ID 配置说明。验证模型效果去模型对话入口 https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentchatutm_campaignrewrite 直接试。长期编码和 Agent 工作流去 Coding Plan 页面 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 看套餐和配置。最后给一个实用技巧在 Agent 项目里加一个debug_mode开关打开时打印每次模型调用的完整请求和响应包括 model ID、token 数、tool_calls。这样出问题时不用猜直接看日志。我试过在 Critic 报错时打开 debug发现是 Planner 传的 sub_task 格式不对Executor 解析失败后返回了空结果Critic 拿到空结果就触发了无限重试。修好格式后整个闭环一次跑通。

相关新闻

Gemini CLI 报 fetch failed 代理问题排查:把 endpoint 改到 TaoToken 的配置记录

Gemini CLI 报 fetch failed 代理问题排查:把 endpoint 改到 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 10:56:03 阅读更多 →
通信基站光伏接入场景化选型:从供电可靠性到储能配置的实战指南

通信基站光伏接入场景化选型:从供电可靠性到储能配置的实战指南

通信基站光伏接入,这个话题在通信能源圈子里已经聊了好几年,但从“能不能做”走到“怎么选才划算”,中间其实隔着一大堆现场问题。同一个光伏系统,装在市中心楼顶和装在偏远山区,组件选型、支架方式、储能配比、防雷接…

2026/10/12 10:56:03 阅读更多 →
智能体记忆系统设计:分层存储、混合检索与遗忘机制实战

智能体记忆系统设计:分层存储、混合检索与遗忘机制实战

1. 记忆系统到底在解决什么问题智能体做任务的时候,最让人头疼的一件事就是“聊完就忘”。你上一轮告诉它用户偏好、任务背景、已经排除的方案,下一轮它就像第一次见面一样,重新问一遍。这不是模型不够聪明,而是它压根没有一套像样…

2026/10/12 10:56:03 阅读更多 →

最新新闻

低空经济产业链分化:军用材料与民用组装的配对交易策略

低空经济产业链分化:军用材料与民用组装的配对交易策略

1. 项目缘起:为什么我会盯上“低空经济”里的军用材料 低空经济是过去两年绕不开的话题:政策密集出台、各地争抢产业高地、eVTOL和无人机企业密集融资。但热闹归热闹,真正落到交易层面,你会发现这个赛道有个典型特征—— 板块内部…

2026/10/12 12:45:57 阅读更多 →
复试面试答辩利器:AI项目实战全流程指南

复试面试答辩利器:AI项目实战全流程指南

考研复试准备进入倒计时的这段时间,不少同学都在纠结同一个问题:复试到底要靠什么打动面试老师?我说得直接一点,一个你自己跑通、能讲清细节的 AI 项目 ,比背十页八股文都管用。它不是让你炫技,而是把你的…

2026/10/12 12:45:57 阅读更多 →
COMSOL电磁超声压电接收EMAT仿真:250kHz铝板多物理场建模解析

COMSOL电磁超声压电接收EMAT仿真:250kHz铝板多物理场建模解析

电磁超声换能器(EMAT)在无损检测里并不是一个新概念,但每次做仿真都会有人卡在同一个地方:模型搭好了,信号却出不来,或者波形乱成一团。原因很简单——EMAT本身就是多物理场耦合问题:磁场生涡流…

2026/10/12 12:45:57 阅读更多 →
考研复试AI项目实战:从选题到部署全流程指南

考研复试AI项目实战:从选题到部署全流程指南

考研复试的竞争一年比一年激烈,尤其是计算机、人工智能、软件工程这类专业。初试成绩出来后,大家都明白,复试才是真正决定导师愿不愿意要你的关键环节。初试比的是一张卷子上的分数,复试比的是你在导师面前展现出来的综合能力&…

2026/10/12 12:45:57 阅读更多 →
Flutter安卓打包发布全流程:签名配置与AAB/APK选择指南

Flutter安卓打包发布全流程:签名配置与AAB/APK选择指南

Flutter项目写到最后,真正决定能不能上线的,往往不是代码质量,而是打包发布这条链路顺不顺。我见过不少开发者功能都写好了,卡在生成安卓安装包这一两步:签名怎么配、AAB和APK到底该选哪个、为什么本地跑得好好的包装到…

2026/10/12 12:45:57 阅读更多 →
广州二手房价预测:Python回归模型实战与避坑指南

广州二手房价预测:Python回归模型实战与避坑指南

简介:一份广州市二手房价预测的数据与Python代码包,整体定位为典型的数据分析入门项目,适合正在学习回归建模、特征工程或希望了解房价影响因素的读者。资源为RAR压缩包,共19个文件,大小仅1.05MB,其中含17张…

2026/10/12 12:44:56 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器: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/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练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/11 14:36:54 阅读更多 →