AI编码质量治理实战:工程规范、代码评审与风险驱动测试
1. 当AI开始写代码质量治理为什么成了新战场最近半年我陆续参与了几个把AI编码工具引入日常研发流程的项目。说实话第一次看到AI在几秒内吐出一个完整模块的时候确实有种“以后是不是不用自己写了”的错觉。但很快现实就给了我一巴掌——AI生成的代码能跑但不代表能维护能通过编译但不代表没有隐藏的逻辑漏洞能实现功能但不代表符合团队的工程规范。这就是“AI Coding质量治理”这个命题的由来。它不是要否定AI编码的价值恰恰相反是因为AI编码已经深度嵌入到实际生产流程中我们才必须认真对待它带来的质量风险。工程规范、代码评审、风险驱动测试这三件事在传统研发中本来就存在但当代码的生产者从人变成“人AI”的混合体时它们的执行方式和侧重点都发生了根本性的变化。这篇文章适合三类人看一是正在团队里推行AI编码工具的Tech Lead你需要知道怎么建立质量防线二是日常使用AI编码的开发者你需要知道怎么判断AI给你的代码能不能直接用三是负责代码评审和测试的工程师你需要知道评审和测试策略要怎么调整。我会从工程规范怎么落地、代码评审怎么改、测试怎么做到风险驱动这三个维度把我在实际项目中踩过的坑和总结的方法完整拆开讲。2. 工程规范让AI写出的代码“像人写的”2.1 为什么AI编码需要专门的工程规范传统工程规范的核心目标是让团队成员的代码风格统一、结构可预测、维护成本可控。但AI编码工具带来的问题是它的输出风格取决于训练数据和提示词而不是你团队的约定。同一个功能你今天让AI写一遍明天再写一遍出来的代码结构可能完全不同。更麻烦的是AI倾向于“过度实现”——你让它写一个简单的工具函数它可能给你加上一堆你根本不需要的错误处理、日志输出和配置项。我在一个后端项目里遇到过这样的情况让AI生成一个数据校验函数结果它自动引入了三个外部依赖还加了一个完整的重试机制。功能上没问题但这个函数被调用的地方有几十处每处都多出这些开销整体性能直接下降了15%。这就是没有工程规范约束的后果。所以AI编码的工程规范核心要解决三个问题输出结构的一致性、依赖引入的可控性、代码复杂度的上限。2.2 规范落地的具体做法我们团队的做法是分三步走。第一步建立“AI编码约束清单”这个清单不是给人看的是给AI工具配置用的。比如我们会在项目根目录放一个配置文件明确告诉AI工具不允许引入新的第三方依赖、单个函数不超过50行、不允许使用递归、错误处理统一用项目已有的异常体系。这些约束会作为系统提示词的一部分在每次AI生成代码时自动生效。第二步建立“生成后检查”机制。AI生成的代码不能直接提交必须先过一遍自动化检查。我们用的是组合方案ESLint/Prettier做格式和基础规范检查SonarQube做代码异味和复杂度检查再加一个自定义的脚本检查是否引入了未授权的依赖。这个检查流程是强制性的CI流水线里配置了阻断规则不通过就直接拒绝合并。第三步定期回顾和调整规范。AI工具在进化团队的实践也在变化规范不能一成不变。我们每个月会做一次“AI代码质量回顾”统计AI生成代码的缺陷率、返工率、评审通过率根据数据调整约束清单。比如我们发现AI生成的单元测试覆盖率普遍偏低就在约束清单里加了一条“生成的测试代码必须覆盖所有分支路径”。2.3 一个具体的配置示例以我们前端项目为例在AI编码工具的配置文件中核心约束是这样的{ constraints: { maxFunctionLines: 50, maxFileLines: 300, allowedDependencies: [react, lodash, dayjs], forbiddenPatterns: [eval, with, document.write], requiredPatterns: [try-catch, propTypes], namingConvention: camelCase, commentRequired: true } }这个配置会在AI生成代码时作为硬性约束传入。实测下来加了这层约束之后AI生成代码的评审通过率从原来的不到40%提升到了75%以上。当然约束不能太死否则AI会频繁“撞墙”导致生成失败。我们的经验是约束条件控制在10-15条之间比较合适太少起不到作用太多会让AI无所适从。注意约束清单里的规则必须是可自动检查的。如果你写一条“代码要优雅”AI不知道什么叫优雅检查工具也没法判断。每一条约束都要对应一个明确的、可量化的检查点。3. 代码评审从“看逻辑”到“看意图”3.1 AI代码评审的特殊性传统代码评审评审者主要看的是逻辑正确性、边界处理、性能影响和可维护性。但面对AI生成的代码评审的重点需要调整。原因很简单AI生成的代码往往“看起来很美”——格式工整、注释齐全、命名规范但可能隐藏着深层的逻辑问题。我总结下来AI代码评审要特别关注四个维度意图一致性、隐含假设、边界条件和安全风险。意图一致性是指AI生成的代码是否真正实现了你要求的功能而不是它“以为”你要的功能。隐含假设是指AI在生成代码时默认了一些条件比如输入数据一定非空、网络请求一定成功、文件一定存在。边界条件是指AI对极端情况的处理往往不够完善。安全风险则是指AI可能生成包含注入漏洞、敏感信息泄露等问题的代码。3.2 评审流程的改造我们把代码评审流程改成了“三层过滤”机制。第一层是自动化评审由CI流水线里的静态分析工具完成主要检查格式、规范、依赖和已知的安全漏洞模式。这一层能过滤掉大约60%的明显问题。第二层是“AI辅助评审”用另一个AI模型来评审AI生成的代码。听起来有点绕但实际效果不错。我们会把原始需求描述和生成的代码一起传给评审模型让它判断代码是否完整实现了需求、是否存在逻辑漏洞、是否有未处理的边界情况。这一层能再过滤掉20%左右的问题。第三层是人工评审只针对前两层都通过了的代码。人工评审的重点不再是逐行看逻辑而是看整体设计是否合理、是否有更好的实现方式、是否与项目现有架构兼容。因为前两层已经过滤掉了大部分低级问题人工评审的效率反而提高了。3.3 评审检查清单我们整理了一份专门针对AI生成代码的评审检查清单这里分享核心的几条检查项具体内容风险等级需求覆盖代码是否实现了所有要求的功能点高输入校验是否对所有外部输入做了校验高错误处理异常路径是否都有处理高依赖引入是否引入了未授权的依赖中性能影响是否有明显的性能问题中命名一致性命名是否符合项目约定低注释质量注释是否解释了“为什么”而非“是什么”低这份清单我们放在了评审模板里每次评审AI生成的代码时逐项检查。用了两个月之后AI代码的线上缺陷率下降了大约50%。实操心得评审AI代码时不要被它“工整的外表”迷惑。我见过太多看起来完美无缺的AI代码结果在边界条件上翻车。一个实用的技巧是拿到AI生成的代码后先不看实现只看函数签名和注释自己想想“如果我来写会怎么处理”然后再对比AI的实现差异点往往就是风险点。4. 风险驱动测试把测试资源花在刀刃上4.1 为什么AI编码需要风险驱动测试传统测试策略通常是追求覆盖率行覆盖、分支覆盖、路径覆盖越高越好。但AI编码场景下盲目追求覆盖率是低效的。因为AI生成的代码有一个特点核心逻辑往往是对的但边界处理和异常路径容易出问题。如果你把大量测试资源花在验证核心逻辑上投入产出比很低。风险驱动测试的核心思想是根据代码的风险等级来分配测试资源。高风险代码重点测、反复测低风险代码基本覆盖即可。那么AI生成的代码里哪些是高风险区域根据我们的统计主要是四类输入边界、异常路径、并发场景和安全敏感操作。4.2 风险识别与分级我们建立了一个简单的风险分级模型从两个维度评估出错概率和出错影响。出错概率高的代码包括处理外部输入的、涉及复杂条件判断的、调用外部服务的。出错影响大的代码包括涉及资金交易的、影响用户数据的、核心业务流程的。两个维度交叉把代码分成四个等级高风险出错概率高且影响大必须做完整的边界测试、异常测试和压力测试中高风险出错概率高但影响可控或出错概率低但影响大需要做针对性测试中低风险出错概率和影响都一般做基本的功能测试即可低风险纯工具类、无副作用的代码做冒烟测试即可这个分级不是拍脑袋定的而是根据历史缺陷数据不断校准的。我们每季度会回顾一次线上缺陷看看哪些模块出问题最多然后调整风险分级。4.3 测试用例的自动生成与筛选AI编码场景下测试用例的生成也可以借助AI。但关键是AI生成的测试用例不能直接用必须经过筛选和补充。我们的做法是先用AI生成一批测试用例然后用风险分级模型来筛选——高风险模块的测试用例全部保留并人工补充边界用例低风险模块只保留核心路径的用例。具体操作上我们会给AI工具传入代码和风险等级让它生成对应深度的测试。比如高风险模块提示词里会明确要求“覆盖所有输入边界、所有异常分支、所有并发场景”。低风险模块则只要求“覆盖主要功能路径”。实测下来这种策略让我们的测试用例数量减少了约40%但线上缺陷率反而下降了因为测试资源集中在了真正重要的地方。4.4 一个完整的测试流程示例以一个用户注册功能为例AI生成的代码包含了邮箱格式校验、密码强度校验、重复注册检查等逻辑。按照风险驱动的方法我们这样处理首先识别风险点。邮箱格式校验是外部输入处理高风险密码强度校验涉及安全高风险重复注册检查涉及数据库查询中高风险注册成功后的欢迎邮件发送中低风险。然后针对高风险点设计测试用例。邮箱格式校验要测试空值、超长字符串、特殊字符、国际化域名、大小写混合等。密码强度校验要测试最短密码、最长密码、纯数字、纯字母、混合字符、常见弱密码等。每个边界都要有对应的测试用例。最后执行测试并记录结果。高风险模块的测试必须全部通过才能合并代码中低风险模块允许有少量非关键用例失败但必须记录并跟踪。注意风险驱动测试不是降低测试标准而是优化测试资源的分配。高风险模块的测试标准要比传统测试更严格低风险模块可以适当放宽。关键是“分级”而不是“一刀切”。5. 工具链与自动化让治理可持续5.1 工具选型的核心考量AI编码质量治理涉及的工具不少但选型时不要贪多。我们的原则是每个环节只选一个主力工具确保它能深度集成到现有流程中。工具太多会导致维护成本飙升而且工具之间的数据打通也是个大问题。具体来说工程规范检查用ESLint自定义规则代码评审用GitHub/GitLab的MR流程AI辅助评审插件测试用Jest/VitestAI测试生成工具风险分析用SonarQube自定义脚本。这些工具都是我们团队已经在用的不需要额外引入新的平台。5.2 自动化流水线的设计整个治理流程要尽可能自动化否则人工环节太多执行不下去。我们的CI流水线是这样的代码提交后自动触发第一轮检查格式检查、依赖检查、静态分析。这一轮通常在1分钟内完成不通过直接打回。第一轮通过后触发AI辅助评审把代码和需求描述传给评审模型生成评审报告。这一轮大约需要2-3分钟。评审报告没有高风险问题的话进入测试阶段根据风险分级自动选择测试用例集执行测试。高风险模块跑全量测试低风险模块跑冒烟测试。测试通过后进入人工评审环节。人工评审只关注设计层面的问题不再逐行看代码。整个流程走下来从提交到合并平均耗时从原来的2天缩短到了4小时左右。效率提升的关键在于自动化过滤掉了大部分低级问题人工只处理真正需要判断的问题。5.3 数据驱动的持续改进治理流程建立起来之后最重要的是持续改进。我们每个月会统计几个核心指标AI代码的评审通过率、线上缺陷率、平均修复时间、测试覆盖率。这些指标的变化趋势能告诉我们治理策略是否有效。比如我们发现某个月AI代码的线上缺陷率突然上升排查后发现是AI工具更新了版本生成代码的风格变了原有的约束清单不再适用。于是我们及时调整了约束条件缺陷率又降了回去。实操心得不要指望一套规范能管一辈子。AI工具在进化你的代码库在变化团队人员在流动治理策略必须跟着变。建议至少每季度做一次全面的回顾和调整。6. 踩过的坑与应对策略6.1 过度依赖AI评审我们最开始尝试过完全用AI来评审AI生成的代码结果发现了一个严重问题AI评审模型和生成模型往往有相似的“盲区”。比如生成模型容易忽略某个边界条件评审模型也容易忽略同一个边界条件。因为它们基于相似的训练数据存在系统性的偏差。后来我们调整了策略AI评审只作为第一层过滤人工评审必须保留。而且人工评审的重点放在AI评审报告里标记为“低风险”或“未发现问题”的地方因为这些地方恰恰可能是AI的盲区。6.2 约束条件过于严格有一段时间我们把AI编码的约束条件设得非常严格结果AI频繁生成失败开发者不得不反复调整提示词效率反而下降了。后来我们做了个实验把约束条件从20条减少到12条AI生成成功率从60%提升到了90%而代码质量并没有明显下降。关键是要区分“必须遵守”和“建议遵守”的约束。必须遵守的包括安全规范、依赖限制、命名约定建议遵守的包括函数长度、注释密度、设计模式。前者作为硬性约束后者作为提示词里的建议。6.3 测试用例的维护成本AI生成的测试用例有一个通病它们往往过于具体和实现细节耦合太紧。一旦实现逻辑调整测试用例就大面积失败维护成本很高。我们后来要求AI生成测试用例时必须基于接口而非实现测试的是“输入什么得到什么输出”而不是“内部调用了哪些函数”。这个调整让测试用例的稳定性大幅提升实现逻辑变化时只要接口不变测试用例就不需要修改。6.4 团队认知的统一最大的坑其实不是技术层面的而是团队认知。有些开发者觉得“AI写的代码肯定没问题”有些则觉得“AI写的代码肯定有问题”。这两种极端态度都会导致治理策略执行不到位。我们的做法是用数据说话。定期公布AI代码的质量指标让团队成员看到AI代码的真实表现。同时把质量治理的流程固化到工具链里让开发者不需要“额外做些什么”而是“正常流程走下来就自动做了”。7. 一些实用的配置和脚本7.1 依赖检查脚本这个脚本用来检查AI生成的代码是否引入了未授权的依赖const fs require(fs); const path require(path); const ALLOWED_DEPS [react, lodash, dayjs, axios]; const PACKAGE_JSON path.join(process.cwd(), package.json); function checkDependencies() { const pkg JSON.parse(fs.readFileSync(PACKAGE_JSON, utf-8)); const allDeps { ...pkg.dependencies, ...pkg.devDependencies }; const unauthorized Object.keys(allDeps).filter( dep !ALLOWED_DEPS.includes(dep) ); if (unauthorized.length 0) { console.error(发现未授权依赖:, unauthorized); process.exit(1); } console.log(依赖检查通过); } checkDependencies();这个脚本放在CI流水线的第一步执行不通过就直接阻断。7.2 风险分级配置这个配置文件定义了不同模块的风险等级测试阶段会根据这个配置选择测试策略risk_levels: high: - src/services/payment - src/services/auth - src/utils/encryption medium: - src/services/user - src/services/order low: - src/utils/format - src/utils/validate - src/components/common高风险模块跑全量测试边界测试异常测试中风险模块跑功能测试主要边界测试低风险模块跑冒烟测试。7.3 AI评审提示词模板这是我们用来做AI辅助评审的提示词模板效果还不错你是一个资深代码评审专家。请评审以下代码重点关注 1. 是否完整实现了需求描述中的所有功能点 2. 是否存在未处理的边界条件 3. 是否有潜在的安全风险 4. 是否有性能问题 5. 是否引入了不必要的依赖 需求描述{requirement} 代码{code} 请按以下格式输出评审结果 - 需求覆盖[完整/部分/未覆盖] - 边界问题[列出具体问题] - 安全风险[列出具体风险] - 性能问题[列出具体问题] - 依赖问题[列出具体问题] - 总体评价[通过/需修改/拒绝]这个模板的关键是把评审维度明确列出来避免AI评审过于笼统。8. 最后的经验分享这套治理方案在我们团队跑了大概半年整体效果是正向的。AI代码的线上缺陷率从最初的每千行3.2个降到了0.8个评审通过率从40%提升到了80%以上开发者的满意度也在提升——因为返工少了大家不用花大量时间修AI留下的坑。但我也要诚实地说这套方案不是银弹。它需要投入时间建立规范、配置工具、培训团队前期成本不低。而且随着AI工具的快速迭代治理策略也需要持续调整。如果你的团队刚开始引入AI编码我的建议是不要一上来就搞全套治理先从工程规范约束开始等团队适应了再逐步加上评审和测试的治理措施。另外有一个容易被忽视的点AI编码的质量治理最终还是要回到“人”身上。工具和流程能解决大部分问题但判断代码好坏、决定风险等级、处理复杂边界情况这些还是需要人的经验。所以不要指望用AI来治理AI人的判断始终是最后一道防线。

相关新闻

足球目标检测数据集构建:VOC与YOLO双格式标注实战指南

足球目标检测数据集构建:VOC与YOLO双格式标注实战指南

简介:本资源是一套面向计算机视觉初学者与目标检测实践者的足球图像数据集,专为YOLO、Faster R-CNN等主流检测模型训练与验证设计。数据集共548张高质量JPG图像(1–500KB),全部完成单类别‘football’标注,…

2026/10/10 23:39:12 阅读更多 →
PCB缺陷数据集实战:VOC与YOLO双格式标签解析与YOLO训练避坑指南

PCB缺陷数据集实战:VOC与YOLO双格式标签解析与YOLO训练避坑指南

简介:本资源为面向PCB缺陷检测任务的图像数据集,适合从事工业质检、深度学习目标检测的开发者与研究人员使用,可用于训练与验证缺陷识别模型。数据集覆盖六类常见PCB缺陷,包括Missing_hole、Mouse_bite、Open_circuit、Short、Spu…

2026/10/10 23:39:12 阅读更多 →
林业虫害识别毕设资源实战:从数据集到模型推理与训练

林业虫害识别毕设资源实战:从数据集到模型推理与训练

简介:这份资源是面向计算机相关专业学生与项目实战学习者的林业虫害图片智能识别完整项目包,由导师指导并认可,可作为高分毕业设计、课程设计或期末大作业的参考方案。包内共2000个文件,以1994张jpg虫害图像构成核心数据集&#x…

2026/10/10 23:39:12 阅读更多 →

最新新闻

苍蝇检测数据集:VOC+YOLO双格式530张,导入即可训练

苍蝇检测数据集:VOC+YOLO双格式530张,导入即可训练

简介:一套面向目标检测任务的苍蝇检测数据集,主要服务于计算机视觉方向的初学者、算法工程师以及农业害虫识别等实际项目。全部图像来自百度图片爬取,并经过删除重复筛选,再由labelImg工具人工绘制矩形框完成标注,标注…

2026/10/11 0:32:54 阅读更多 →
毕业设计水果识别实战:从数据采集到微信小程序部署

毕业设计水果识别实战:从数据采集到微信小程序部署

简介:本资源是一套完整的基于深度学习的水果识别系统毕业设计项目,面向计算机、人工智能及相关专业本科生,专为大作业与毕业设计实践打造,解决图像分类场景下的模型构建、训练与部署全流程问题。压缩包共277个文件,总大…

2026/10/11 0:32:54 阅读更多 →
DeepLabv3+实战:VOC与Cityscapes上完整训练与推理指南

DeepLabv3+实战:VOC与Cityscapes上完整训练与推理指南

简介:一套基于Pytorch在VOC与Cityscapes数据集上实现DeepLabv3训练的图像分割实战项目,面向有初步深度学习基础的读者,帮助系统掌握语义分割模型训练的整体流程。包内共55个文件,以23个Python脚本为主干,覆盖数据加载、…

2026/10/11 0:32:54 阅读更多 →
基于NeRF和手机拍摄物体图片的三维重建Python源码+数据集+文档说明

基于NeRF和手机拍摄物体图片的三维重建Python源码+数据集+文档说明

简介:这份资源面向计算机视觉与三维重建方向的学习者,尤其是需要完成课程设计或毕业设计的高年级本科生与研究生,提供一套基于NeRF、利用手机拍摄物体图片即可完成三维重建的完整Python实现方案。压缩包共31个文件,约5.37MB&#…

2026/10/11 0:32:54 阅读更多 →
太阳能电池板YOLO高变焦检测:24577张数据集训练实战

太阳能电池板YOLO高变焦检测:24577张数据集训练实战

简介:面向太阳能光伏板检测与YOLO模型训练的实际需求,这份压缩包针对高变焦太阳能电池板图像场景,提供了带有标签的光伏板检测标注数据集,能帮助开发者和研究人员快速获得规范标注样本,降低从图像采集、清洗到标注的重…

2026/10/11 0:31:53 阅读更多 →
GANMaster人脸矫正实战:从模糊脸到公安标准证件照

GANMaster人脸矫正实战:从模糊脸到公安标准证件照

简介:本资源是一份面向深度学习初学者与计算机视觉实践者的GAN人脸生成与矫正实战教程,聚焦生成对抗网络原理落地与Python代码实现。资源包含4个核心文件(2个Python脚本、1份Markdown说明文档、1份LICENSE),总大小仅9K…

2026/10/11 0:31:53 阅读更多 →

日新闻

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

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

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

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

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

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

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

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

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

2026/10/11 0:00:27 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 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/10 5:23:50 阅读更多 →
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/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练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/10 10:38:42 阅读更多 →