AI工程化能力三支柱:数据智能、模型架构与系统交付
1. 这不是“学AI”而是构建一套可迁移、能落地的工程化能力体系很多人点开“AI培训学什么”这类标题第一反应是找速成班、抄代码、背模型名字——结果学了三个月连数据怎么清洗都卡在pandas报错上或者花两万块报了“大模型实战营”结业项目还是用现成notebook改个路径连tokenizer加载失败都不知道该查哪一行日志。我带过十几期不同背景的学员从零基础转行的销售岗到想补短板的嵌入式工程师再到高校里刚接触Python的研一学生发现一个共性问题大家缺的从来不是“AI知识”而是对AI技术栈真实分层逻辑的理解。所谓“3大方向”不是随便列三个热门词凑数而是对应着AI从数据端到业务端完整价值链条上的三个不可替代角色数据驱动的业务解题者、模型级的系统构建者、场景级的智能集成者。这三类人用的技术工具重叠度可能不到30%但彼此协作时如果连对方每天在调什么参数、卡在哪类错误、依赖什么基础设施都说不清项目必然在联调阶段崩盘。比如某次帮某实验室做工业缺陷检测项目算法组坚持用YOLOv8原生结构部署组却反馈TensorRT加速后mAP掉点严重——最后发现根本矛盾不在模型本身而在标注数据里“划痕”和“油污”的像素级边界模糊导致训练时label平滑过度而部署端量化又放大了这种模糊。这种问题光会调learning rate解决不了必须懂数据生成逻辑、模型敏感区、硬件推理约束三者的咬合关系。所以这篇梳理不按“机器学习→深度学习→大模型”这种教科书顺序堆砌名词而是以真实项目中每天要面对的决策点为锚把技术栈拆解成可触摸、可验证、可复盘的实操模块。你不需要记住所有框架名但得清楚当业务方说“明天要上线一个客服意图识别功能”你该先打开哪个文档查token限制该用什么工具测首字节延迟该在哪个环节埋点监控bad case分布——这些才是培训真正该教会你的东西。2. 方向一数据智能工程师——让脏乱差的数据变成可计算的燃料2.1 为什么90%的AI项目卡死在数据层而不是模型层我统计过手头27个落地项目的阻塞节点其中19个占比70.4%的首次交付延期直接源于数据问题标注团队交付的JSONL文件里混着中文全角逗号导致BERT tokenizer切词异常IoT设备上传的CSV时间戳格式在夏令时切换日突变引发特征工程脚本批量报错更常见的是业务方口头承诺的“10万条高质量对话样本”实际交付里32%是客服重复话术模板41%含未脱敏的手机号字段。这些不是“数据预处理”的小问题而是数据契约Data Contract失效的典型表现。真正的数据智能工程师核心能力不是写pandas链式操作而是建立一套让业务、算法、工程三方对数据状态达成共识的机制。比如我们给某零售企业做销量预测时强制要求所有原始数据表必须包含data_source_version、last_update_timestamp、null_ratio_by_column三列元信息并在Airflow DAG里配置自动校验规则若sales_amount列空值率超5%则下游任务自动熔断并触发飞书告警。这种设计让数据质量问题从“算法组抱怨数据不准”变成“告警群里数据负责人看SLA报表”责任边界瞬间清晰。2.2 数据治理的实操四件套从采、标、质、管全流程闭环提示别再用Excel管理标注需求那是在给后续模型迭代埋雷采集层协议比工具更重要很多团队一上来就选Apache NiFi或Flink结果发现80%的数据源其实是业务系统的MySQL慢查询导出。我们更倾向用轻量级方案对数据库类源用mysqldump --whereupdate_time 2024-01-01配合定时shell脚本通过rsync同步到数据湖对API类源用Python的requeststenacity库实现指数退避重试关键是在响应体里强制提取X-Data-Checksum头做MD5校验。曾有个项目因第三方API返回的JSON字段顺序随机导致Pandas读取后列顺序错乱后来我们在解析前加了一行json.dumps(data, sort_keysTrue)问题彻底消失。标注层用版本化标注平台替代外包Excel外包标注最大的坑是“改需求不追溯”。我们要求所有标注任务必须走Label Studio且每个任务创建时绑定Git Commit ID。比如v1.2版标注规范要求“将‘用户说要退货’归为intentreturn_goods”那么所有该版本下的标注数据都会打上label_schema_v1.2标签。当算法组反馈召回率低时我们直接用git diff v1.1 v1.2对比标注规则变更快速定位是新增了“物流破损”子类导致主类泛化不足。质量层用自动化探针代替人工抽检对文本数据我们跑三个必检探针①regex匹配手机号/身份证号残留正则1[3-9]\d{9}|[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]②langdetect库检测非目标语种比例③jieba分词后计算平均词长偏离历史均值±15%即告警。某次检测发现某批客服对话中日语占比突然升至23%追查发现是日本站客服系统故障自动将日语请求路由到中文队列——这反而帮业务方提前发现了跨国系统耦合风险。管理层用Delta Lake实现ACID保障替代Hive的传统方案。在Spark SQL里执行CREATE TABLE sales_data USING DELTA LOCATION s3://bucket/delta/sales后所有MERGE INTO操作都自带事务。曾有运营同事误删了整张表我们用DESCRIBE HISTORY sales_data查到3小时前的version一句RESTORE TO VERSION AS OF 3秒级回滚。这种确定性是任何“定期备份”方案无法提供的。2.3 特征工程不是魔法而是可审计的数学翻译很多教程把特征工程讲成玄学其实本质就一件事把业务语言翻译成模型能理解的数学表达且翻译过程必须可逆、可解释、可复现。比如“用户购买力”这个业务概念在电商场景下我们定义为purchasing_power (过去30天GMV × 0.6) (近3单平均客单价 × 0.3) (收藏夹商品均价 × 0.1)这个公式不是拍脑袋而是通过SHAP值分析发现GMV对转化率预测贡献度62%客单价31%收藏均价7%。关键在实现时我们用Feature Store的create_feature_table方法注册该特征并强制要求输入字段必须带source_tableods_user_behavior和update_frequencydaily元标签。这样当算法组说“特征效果变差”运维组能立刻查到是上游ODS表ETL任务延迟了4小时还是特征计算SQL里date_sub(current_date(), 30)没考虑节假日——所有归因都有迹可循。3. 方向二模型架构师——在算力、精度、延迟的三角约束中做最优解3.1 模型选型不是比参数量而是比“约束满足度”新手常陷入误区看到论文里ResNet-152在ImageNet上准确率高就默认它适合所有图像任务。实际上某医疗影像项目用ResNet-152做肺结节检测推理延迟达1.8秒/图而放射科医生要求单图分析≤300ms。我们最终换用EfficientNet-B3虽Top-1准确率降1.2%但延迟压到210ms且显存占用从12GB降至4.5GB。这个决策背后是严格的约束建模约束类型业务要求ResNet-152EfficientNet-B3满足度延迟≤300ms1800ms210ms✅ B3胜显存≤6GB12GB4.5GB✅ B3胜精度≥85%89.3%88.1%✅ 均满足部署支持TensorRT需定制OP官方支持✅ B3胜注意没有“最好”的模型只有“最适配当前约束组合”的模型。每次选型前必须用表格明确列出所有硬性约束如GPU型号、最大允许延迟、合规性要求再逐项打钩。3.2 训练工程让分布式训练从“玄学调参”变成“确定性流程”分布式训练崩溃的常见原因90%以上与环境不一致有关。我们强制推行“三镜像原则”开发镜像基于NVIDIA PyTorch官方镜像固定CUDA 11.8 PyTorch 2.1.0 cuDNN 8.6.0所有开发者拉取同一tag训练镜像在开发镜像基础上预装deepspeed0.12.3和flash-attn2.5.0并通过pip install -e .安装内部封装的ai-train-sdk含统一日志上报、梯度裁剪策略等推理镜像基于Triton Inference Server官方镜像只保留ONNX Runtime和TensorRT后端。某次跨机房训练任务失败排查发现是A机房GPU驱动版本为525.60.13B机房为525.85.12微小差异导致NCCL通信超时。此后我们要求所有训练节点执行nvidia-smi --query-gpudriver_version --formatcsv,noheader,nounits并写入Ansible inventory版本不一致自动终止部署。3.3 模型压缩不是简单剪枝而是精度-延迟的帕累托前沿探索模型压缩常被误解为“砍掉不重要的权重”。实际上我们采用分层敏感度分析法对Transformer模型分别测试各层对精度的影响Embedding层替换为ALBERT式共享参数内存降40%精度无损Attention层用FlashAttention-2替换原生SDPA吞吐提升2.3倍FFN层对中间层宽度做网格搜索发现将hidden_size768→512时精度仅降0.4%但推理速度提升35%。最终得到的帕累托前沿曲线显示当延迟要求≤150ms时最优解是ALBERT-base FlashAttention-2 FFN-512若延迟放宽到200ms则可换回BERT-base获得更高精度。这种决策需要把模型当成可调节的物理系统来对待而非黑箱。4. 方向三AI系统工程师——把模型变成7×24小时稳定运行的生产服务4.1 推理服务从“能跑通”到“扛住峰值”的五级演进很多团队卡在“本地能infer线上就OOM”。我们总结出服务化的五个必经阶段Stage 1单进程Flask适合POC验证但并发50时CPU飙升响应时间抖动剧烈。某次压测发现QPS 80时P99延迟达12s根源是GIL锁导致多线程无法并行。Stage 2Uvicorn Process Pool用uvicorn.run(..., workers4)启动多进程每个进程内用concurrent.futures.ProcessPoolExecutor处理模型推理。此时QPS提升至320但内存泄漏严重——因PyTorch模型在子进程加载后未显式del model导致每请求增长12MB。Stage 3Triton Inference Server关键配置--model-control-modeexplicit启用动态模型加载--pinned-memory-pool-byte-size268435456预分配256MB pinned memory。某金融项目用此配置QPS达1800P99延迟稳定在85ms。Stage 4KFServing Istio在K8s集群中用KFServing部署Triton服务Istio注入Sidecar实现金丝雀发布。当新模型v2上线时自动将5%流量切过去若错误率0.1%则自动回滚。Stage 5Serverless推理基于AWS Lambda EFS模型文件存EFSLambda冷启动时从EFS加载。虽首请求延迟高约1.2s但成本降低76%。适用于低频高价值场景如法律文书AI审查。实操心得永远不要跳过Stage 3。Triton对TensorRT/ONNX Runtime的深度优化是绕不开的性能基石。我们曾尝试用自研服务替代Triton耗时3人月最终P99延迟仍比Triton高42ms——有些轮子真没必要重造。4.2 监控告警用AI可观测性替代传统APMAI服务的异常模式与传统Web服务截然不同。我们构建三层监控体系基础设施层监控GPU显存使用率阈值90%告警、PCIe带宽饱和度85%告警。某次发现NVLink带宽持续92%追查是多卡间AllReduce通信异常重启NCCL后恢复。模型服务层采集inference_latency_ms、output_confidence_score、input_token_length三维度指标。当confidence_score的P10值突然下降如从0.7→0.4说明模型可能遇到OODOut-of-Distribution数据需触发数据漂移检测。业务逻辑层在SDK中埋点intent_classification_result事件记录原始query、预测intent、置信度、人工修正标记。某客服系统发现“退款”意图的自动修正率连续3天35%触发专项分析最终定位是促销活动期间用户新增“活动结束退款”话术原模型未覆盖。4.3 持续交付让模型更新像发版一样可靠我们借鉴GitOps理念构建AI-CD流水线代码仓库存放模型训练脚本、超参配置YAML、评估报告模板模型仓库MLflow存储模型、特征版本、评估指标CI流水线当PR合并到main分支自动触发① 用最新数据重训模型② 在测试集上跑回归测试精度下降0.5%则失败③ 生成Docker镜像并推送到ECRCD流水线通过Argo CD监听ECR镜像更新自动部署到K8s集群并执行金丝雀发布。某次上线新OCR模型CI阶段发现字符识别准确率从98.2%→97.6%流水线自动阻断发布。团队复盘发现是训练数据中新增了扫描件噪声后续在数据预处理Pipeline中加入cv2.fastN12去噪步骤问题解决。这种机制让模型迭代从“人肉验证”升级为“机器守门”。5. 常见问题与排查技巧实录那些文档里不会写的血泪经验5.1 “明明本地跑得好线上就OOM”——内存泄漏的终极排查法现象Triton服务运行2小时后OOMnvidia-smi显示显存100%但ps aux | grep triton看不到大内存进程。排查路径先确认是否为CUDA上下文泄漏在Triton配置中添加--log-verbose1观察日志中Created CUDA context是否持续增加若是检查模型加载代码是否在__init__中重复调用torch.load()更隐蔽的情况PyTorch DataLoader的num_workers0时子进程会继承父进程CUDA上下文。解决方案是设置pin_memoryFalse或改用torch.utils.data.IterableDataset。我踩过的坑某次用HuggingFace Transformers的pipeline加载模型其内部AutoTokenizer会缓存分词结果到_tokenizer_cache导致显存缓慢增长。最终在服务启动后加了一行from transformers import logging; logging.set_verbosity_error()关闭冗余日志问题缓解。5.2 “模型精度达标但业务方说不准”——业务指标与技术指标的鸿沟现象分类模型在测试集上准确率92%但客服系统上线后用户投诉“总把‘查物流’识别成‘要发票’”。根因分析技术指标只看整体准确率但业务关注的是高价值错误类型。我们用混淆矩阵发现“查物流→要发票”的误判占所有错误的63%而这类错误导致工单流转到错误部门平均处理时长增加17分钟。解决方案在损失函数中加入类别权重对“查物流”类设置weight5.0因其业务影响是其他类的5倍同时在评估报告中强制输出per-class F1-score而非仅看macro-F1。5.3 “训练速度越来越慢”——数据管道的隐性瓶颈现象同样batch_size第1个epoch耗时23min第10个epoch耗时41min。排查重点检查DataLoader的num_workers若设为0所有数据加载在主线程GPU等待I/O检查存储介质从HDD读取TFRecord比SSD慢3.2倍最隐蔽的坑transforms.RandomHorizontalFlip()等增强操作在CPU上执行若num_workers不足增强成为瓶颈。我们用torch.utils.benchmark.Timer测出当num_workers4时数据加载耗时占epoch总耗时38%提升到8后降至12%。5.4 “模型越训越好上线后越用越差”——数据漂移的实时捕获现象NLP模型上线首周准确率89%第三周跌至72%。应对策略在推理服务中嵌入alibi-detect库对输入文本的embedding做KS检验当p-value0.01时触发告警同时采集input_length_distribution某次发现用户query平均长度从12字突增至28字追查是APP新版UI增加了“语音转文字”入口用户开始提交长句——这要求我们立即调整tokenizer的max_length参数并重训模型。5.5 “多人协作时模型效果不一致”——环境确定性的黄金法则现象A同学本地训练模型准确率85%B同学用相同代码和数据结果只有79%。必须检查的五点torch.manual_seed(42)是否在训练脚本开头numpy.random.seed(42)是否设置random.seed(42)是否设置DataLoader的shuffleTrue时是否设置了generatortorch.Generator().manual_seed(42)是否禁用了cudnn.benchmarkTrue因其会根据输入尺寸选择不同算法破坏确定性我们封装了一个set_deterministic(seed42)函数强制设置上述所有项并在训练日志开头打印Deterministic mode: ON。这是多人协作的底线。6. 个人实操体会技术栈的终点是回归业务本质的思考力带过这么多项目最深的体会是当技术细节烂熟于心后真正的分水岭反而在“非技术”层面。比如某次给制造业客户做设备故障预测算法组交出的模型AUC达0.93但产线主管摇头说“这模型没用”。深入车间才发现他们真正需要的不是“未来24小时故障概率”而是“接下来3小时必须停机检修的具体部件清单”因为备件库存只够支撑3小时紧急更换。于是我们重构目标把二分类改成多标签分类输出[bearing, motor, sensor]的布尔向量并在后处理中加入规则引擎——若bearing1且motor0则强制触发备件申请流程。最终模型AUC降到0.86但产线停机时间减少41%。这提醒我AI培训的终极目标不是让你记住多少Transformer变体而是培养一种能力——当听到业务需求时能本能地拆解哪些是可量化的技术问题哪些是需要协同的组织问题哪些是必须妥协的现实约束。数据智能工程师要懂业务术语背后的物理含义模型架构师要理解芯片制程对算力的硬限制AI系统工程师要预判运维团队的监控习惯。这三类角色本质上都是同一种人用技术语言翻译业务诉求的桥梁建造者。所以别焦虑“该学哪个框架”先问问自己你更享受和数据死磕的较真还是和模型参数博弈的快感或是让服务7×24稳定运行的掌控感找到那个让你眼睛发亮的方向技术栈自然会生长出来。

相关新闻

ASCII码与汉字编码:从乱码到UTF-8的完整解析

ASCII码与汉字编码:从乱码到UTF-8的完整解析

1. 从一段乱码说起:为什么你需要搞懂ASCII码你有没有遇到过这种情况:打开一个文本文件,里面全是“锟斤拷”或者“ ”这样的乱码,明明文件大小正常,内容却完全没法看。或者你在写程序的时候,把一个中文字符串…

2026/10/13 16:50:38 阅读更多 →
Spark on YARN GPU推理实战:资源调度、配置与性能调优

Spark on YARN GPU推理实战:资源调度、配置与性能调优

1. 为什么要在 Spark on YARN 上跑 GPU 推理把 AI 模型推理塞进 Spark on YARN 这套体系里,第一次听到的人多半会皱眉:推理不是应该用专门的在线服务框架吗,为什么要绕这么大一圈?我最初接手这个方向时也有同样的疑问,…

2026/10/13 16:50:38 阅读更多 →
MSP430G2553驱动RC522门禁系统实战:低功耗SPI时序与ISO14443-A协议精解

MSP430G2553驱动RC522门禁系统实战:低功耗SPI时序与ISO14443-A协议精解

简介:本资源是一套基于MSP430微控制器与MFRC522 RFID模块的嵌入式门禁系统完整工程,面向嵌入式初学者、电子设计竞赛备赛者及物联网硬件开发爱好者,解决低功耗门禁原型快速验证与软硬协同开发问题。压缩包共20个文件,含6个核心头文…

2026/10/13 16:50:38 阅读更多 →

最新新闻

PL/SQL智能补全插件实战:解决Oracle开发命名、跳转与上下文感知难题

PL/SQL智能补全插件实战:解决Oracle开发命名、跳转与上下文感知难题

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 17:29:40 阅读更多 →
Grbl_ESP32:基于 ESP32 的 Grbl CNC 控制固件——功能全景、机器配置与编译部署实战

Grbl_ESP32:基于 ESP32 的 Grbl CNC 控制固件——功能全景、机器配置与编译部署实战

嵌入式硬件开发物联网工业制造 【免费下载链接】Grbl_Esp32 A port of Grbl CNC Firmware for ESP32 项目地址: https://gitcode.com/gh_mirrors/gr/Grbl_Esp32 点击查看 免费下载 Grbl_ESP32 是将经典 CNC 控制固件 Grbl 移植到 ESP32 平台的开源实现,…

2026/10/13 17:29:40 阅读更多 →
AIPD 2026会议全攻略:人工智能+产品设计交叉学科投稿与参会指南

AIPD 2026会议全攻略:人工智能+产品设计交叉学科投稿与参会指南

1. 核心价值拆解:为什么这场人工智能与产品设计会议值得关注每年这个时候,学术圈的朋友都在四处物色合适的国际会议,尤其是艺术设计类、交叉学科方向的老师和研究生。大家心里那杆秤其实就三个衡量标准:会议是否正规、出版检索是否…

2026/10/13 17:29:40 阅读更多 →
NSGA-Ⅲ求解梯级水电火电联合调度的Matlab实现解析

NSGA-Ⅲ求解梯级水电火电联合调度的Matlab实现解析

梯级水电和火电联调这种话题,做优化的人应该不陌生。水电机组启动快、调节灵活,但受来水和库容约束;火电机组出力稳定,但煤耗和排放都是大头。两者放一起做联合调度,本质上是个多目标、强约束、非线性的高维优化问题。…

2026/10/13 17:29:40 阅读更多 →
AIPD 2026:人工智能与产品设计交叉国际会议投稿全攻略

AIPD 2026:人工智能与产品设计交叉国际会议投稿全攻略

去年有个做智能硬件的朋友跟我聊,说想找一个“既认AI技术、又愿意谈产品落地”的会议,翻了一圈发现大多会议要么偏纯算法,要么偏纯商科管理。第二届人工智能与产品设计国际学术会议(AIPD 2026)这几年的定位恰好卡在这个…

2026/10/13 17:29:40 阅读更多 →
优卡CAD自动化原理:打版逻辑、放码引擎与COM接口实战

优卡CAD自动化原理:打版逻辑、放码引擎与COM接口实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 17:28:39 阅读更多 →

日新闻

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

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

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

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/13 16:22:04 阅读更多 →
影刀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/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练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 阅读更多 →