news 2026/9/5 10:07:44

如何科学验证AI编程提效?从任务设计到度量指标全指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何科学验证AI编程提效?从任务设计到度量指标全指南

从“感觉变快了”到“真的变快了”:怎么科学验证 AI 提效是否成立?

过去一年,几乎每个技术团队都听过同一句话:“用 AI 写代码,效率翻倍。”

但你如果去问 CTO 和一线开发,得到的回答往往很分裂。有人会说:“AI 帮我把重复劳动全干完了,省下的时间能多做两个需求。”也有人会说:“AI 生成的代码老是绕圈子,Review 和返工的成本比我自己写还高。”

这两种说法都对,又都不对。因为它们都建立在同一个黑盒上面:“提效”到底是一个真实的结论,还是一个被氛围放大的体感?

很多团队引入 AI 编程工具之后,并没有建立一套可度量的验证机制。于是效果好不好,全凭当事人感觉。心情好的时候是“神兵利器”,遇到一次难缠的 Bug 就变成“人工智障”。这种摇摆,本质上不是工具的问题,而是缺少一个把“AI 提效”从口号变成可验证命题的方法。

本文要解决的,不是“AI 好不好用”这种没法收场的争论,而是一个更实际的问题:如果你的团队想验证 AI 提效是否真实,应该设计什么样的实验、采集什么样的数据、避开什么样的坑。

这个话题适合谁
  • 正在评估是否要全团队推广 AI 编程工具的研发负责人;
  • 被要求“验证 AI 工具价值”但不知道从哪下手的测试工程师;
  • 写了半年 AI 辅助代码,却无法向团队证明产出变化的一线开发;
  • 想建立可复用的 AI 效能评估流程的技术Leader。

你不需要先相信 AI 一定有效,只需要一个能容纳“有效”和“无效”两种结论的实验框架。这也是本文刻意保持的立场:验证方法本身,应该比结论更可靠。

1. AI 提效验证为什么是个真问题

先说一个反直觉的事实:AI 编程工具的渗透速度,远快于我们评估它的能力。

2023 年之前,多数开发者的 AI 辅助还停留在搜索引擎和 Stack Overflow 之间切换。到了 2024 年前后,对话式编码助手已经成为不少团队的标配。工具普及得太快,但“到底带来多少收益”这个问题,一直停留在微博热帖和朋友圈截图层面。

为什么 AI 提效难以验证?因为开发工作的产出不能简单用“代码行数”衡量。你花一天时间写出 300 行高质量代码,和用 AI 三小时生成 3000 行但一半要返工,是两种截然不同的效率。普通业务指标的颗粒度,根本捕捉不到这种质量差异。

更麻烦的是,开发任务高度碎片化。一个功能从需求、设计、编码、自测到联调,中间可能穿插十几种不同类型的子任务。AI 在某个子任务上的提速,可能被另一个子任务的返工完全抵消。如果不做任务级别的拆解,最终结果就是“感觉快了,又好像没快”。

验证 AI 提效之所以难,主要有三个原因:

第一,缺乏基线。很多团队引入 AI 工具之前,并没有记录过传统开发方式完成同类任务的耗时和质量数据。等工具用上了,再想对比,发现历史数据是空的。

第二,混淆变量。团队效率提升可能是 AI 带来的,也可能是项目进入成熟期、需求变更减少、成员磨合完毕带来的。没有对照意识,很难把功劳分清楚。

第三,指标选错。只统计任务完成时间,忽略代码评审意见数、缺陷率、返工次数,会得到表面“提效”而实际“增负”的错误结论。

所以,真正值得做的不是争论 AI 有没有用,而是建立一套可以重复执行的验证流程。用同样的任务集、同样的指标口径、同样的实验条件,去回答“AI 提效是否真实”这个问题。

2. 验证 AI 提效的整体思路:从感觉走向度量

要验证 AI 提效是否真实,不能只靠一两个 Demo,也不能全凭个人主观评价。我们需要一套尽可能客观、可复现的评估流程。

一个可用的框架如下:

任务集设计 -> 实验分组 -> 环境隔离 -> 执行记录 -> 指标采集 -> 结果对比

每一步都有需要提前想清楚的关键点。

任务集设计是整套验证的地基。它决定了你的结论能覆盖多大范围。如果只测“AI 生成一个登录接口”,那结论只适用于“生成接口”这一类任务。要想回答“AI 对开发效率的影响”,任务集需要覆盖编码、测试、重构、排障、文档等常见开发环节。

实验分组解决的是“对比什么”的问题。最朴素的做法是分成 A 组(不使用 AI 辅助)和 B 组(使用 AI 辅助),执行同样的任务。但现实中很难找到两组能力完全相同的开发者,因此也可以采用“同一组人,同一个任务,进行两轮”的交叉设计,减少个体差异带来的偏差。

环境隔离是一个容易忽略但极其重要的环节。如果 A 组成员偷偷用了 AI 插件,实验结果就作废了。更隐蔽的情况是:同一个开发者,上一轮任务里已经看过 AI 生成的代码,下一轮“不使用 AI”时,他会不自觉地复用当时的思路。这种知识污染很难完全消除,但要在实验设计层面尽量规避。

指标采集不能只靠事后回忆。最好在任务执行过程中,使用工具自动记录时间节点、代码变更量、测试通过情况。人工记录的偏差很大,尤其是高估自己效率的倾向。

结果对比要有统计意识。单次任务差五分钟,说明不了任何问题。多次任务取中位数、观察波动范围,比看单一平均数更有参考价值。

这个框架最核心的价值,是把不可言说的“体感”转换成可以讨论的数字。数字不完美,但它是团队达成共识的最低成本语言。

3. 设计验证实验:任务选择与对照组

设计一个能真正回答“AI 提效是否真实”的实验,任务选择比工具选择更重要。

3.1 任务集应该覆盖哪些类型

开发者的日常工作可以拆成四类:

任务类型典型场景是否适合 AI 辅助
生成型任务写接口、写 CRUD、写单元测试非常适合
理解型任务读别人留下的老代码、排查线上问题视代码质量而定
修改型任务需求变更、重构、替换实现有一定风险
判断型任务技术选型、架构设计、代码评审只能辅助,不能替代

验证时,如果只选生成型任务,结果会偏向乐观。如果只选判断型任务,结果会偏向悲观。合理做法是每类任务都选一个代表,并给生成型任务和修改型任务更高权重,因为这两类占了日常开发的大头。

3.2 任务难度要有梯度

任务设计上,可以设置低、中、高三档:

  • 低难度:100 行以内的独立函数,需求描述清晰;
  • 中难度:需要理解现有代码结构,完成一个完整模块;
  • 高难度:涉及跨模块数据流、异常分支较多、需要联调排查。

这样设计的好处是,能看出 AI 的效率优势在哪个复杂度区间会消失甚至反转。很多团队的实际体感是:简单任务 AI 提效明显,复杂任务反而更慢。这个判断如果不用梯度任务验证,就只能停留在“体感”层面。

3.3 对照组怎么设置

最理想的方式是在团队内招募两组能力接近的成员,执行同一批任务。但真实团队很难做到。折中方案是:同一批成员,把任务分成两轮,一轮不用 AI,一轮使用 AI,两轮之间留出足够间隔,避免知识污染。

具体执行时,建议使用独立的 Git 仓库或者分支。每轮任务结束后把代码推向固定分支,记录当时的提交信息,后面分析时可以直接对比 commit 记录,而不需要依赖回忆。

实验过程需要注意以下细节:

  1. 任务说明必须以文字形式发给参与者,避免口头描述带来的不一致;
  2. 每组任务都要限定时间范围,但不宜过紧,否则会掩盖真实的效率差异;
  3. 实验前告知参与者“这不是绩效考察”,降低被观察带来的紧张感;
  4. 任务环境保持一致,包括 IDE 版本、插件版本、网络条件。

4. 搭建验证环境与工具链

验证 AI 提效的实验,不需要搭建复杂的分布式系统,但需要把数据采集的“基础设施”先准备好。本节给出一个可以在本地快速复现的环境方案。

4.1 基础环境建议
项目建议
操作系统不限,Windows / macOS / Linux 均可
IDE以团队实际使用的为主
语言以主力编程语言为准,建议选 Python 或 Java
代码托管GitLab 或 GitHub,用于记录提交状态
AI 工具团队正在评估的 AI 编程助手
测试框架按语言选择,Python 用 pytest,Java 用 JUnit

版本细节请以实际项目为准。本文重点演示通用思路,而不是绑定某个特定版本。

4.2 准备任务仓库

先在本地创建实验目录,建议结构如下:

ai-eval/ |-- tasks/ | |-- task_a/ | |-- task_b/ | |-- task_c/ |-- results/ |-- scripts/ |-- README.md

tasks目录存放每个任务的题目描述和测试用例;results目录存放每轮实验的时间记录、代码提交记录、评审结果;scripts目录存放辅助采集数据的脚本。

4.3 用 Git 分支隔离实验轮次

每轮任务执行前创建独立分支,避免代码互相覆盖:

# 不使用 AI 轮 git checkout -b exp/manual-round # 使用 AI 轮 git checkout -b exp/ai-round

每完成一个任务节点,都做一次提交。提交信息里可以带上任务编号,例如:

git commit -m "task_a: complete implementation"

这样,后续分析时可以直接通过git log查看每轮任务的时间点和代码变更量。Git 本身就是实验记录工具,不需要额外引入复杂系统。

4.4 采集执行时间

自动记录时间的方法很多,最简单的做法是在任务开始和结束时通过脚本写入时间戳:

date '+%Y-%m-%d %H:%M:%S' > results/ai-round/task_a_start.time # 执行任务... date '+%Y-%m-%d %H:%M:%S' > results/ai-round/task_a_end.time

更精细的方案是使用操作系统的屏幕时间记录或 IDE 插件。但对大多数团队来说,手动记录开始和结束时间,已经足够获得有参考意义的数据。

5. 用代码示例建立一个可复用的验证任务集

为了让验证过程不依赖参与者临场发挥,我们需要一套可以直接复用的任务集。下面以 Python 任务为例,给出三类任务的样例描述和验证代码。真实团队可以根据自己业务替换成对应语言的版本。

5.1 生成型任务示例

任务描述:实现一个函数parse_config(text),接收一段 JSON 格式的配置文本,返回一个字典。要求:支持缺失 key 时使用默认值,支持嵌套对象,遇到非法 JSON 时抛出包含行号的自定义异常。

这个任务非常典型,单独用 AI 完成可能很快,但真正的难点在于“处理异常分支”。测试用例可以直接用pytest写:

# tests/test_parse_config.py import pytest from solution import parse_config def test_parse_normal_dict(): config_text = '{"host": "localhost", "port": 8080}' result = parse_config(config_text) assert result["host"] == "localhost" assert result["port"] == 8080 def test_parse_with_default(): config_text = '{"host": "localhost"}' result = parse_config(config_text) assert result.get("port", 8080) == 8080 def test_parse_nested_object(): config_text = '{"database": {"host": "127.0.0.1", "port": 3306}}' result = parse_config(config_text) assert result["database"]["host"] == "127.0.0.1" def test_parse_invalid_json(): with pytest.raises(Exception) as exc_info: parse_config('{"host": "localhost",}') assert "line" in str(exc_info.value).lower()

参与者完成任务的标准是:所有测试通过。

5.2 修改型任务示例

任务描述:现有函数会返回一个扁平字典,要求改成返回嵌套结构,同时保持函数签名不变。

修改型任务考察的是理解现有代码、顺应设计意图的能力。AI 在这个场景下可能因为“过度自信”而直接重写整个函数,破坏原有调用方的行为。可以提前准备一份包含隐藏调用方的测试,用于捕捉这种风险。

# existing_code.py def get_user_info(user_id): return { "user_name": "alice", "user_age": 30, "user_email": "alice@example.com" } # 隐藏调用方,测试必须保持兼容 def render_user_summary(user_id): info = get_user_info(user_id) return f"{info['user_name']} ({info['user_age']})"

参与者需要在不改变调用方行为的前提下,把返回结构改成嵌套形式。这个任务能有效暴露出“AI 生成代码不考虑下游”的问题。

5.3 排障型任务示例

任务描述:给定一个复杂函数,它偶尔会抛出异常,但概率很低,你需要通过静态阅读和局部调试,找出可能的原因。

排障型任务对 AI 的挑战在于:错误往往不在代码表面,而在数据流或边界条件中。示例代码如下:

# debug_task.py def calculate_discount(price, is_vip, coupon_available): if is_vip: price = price * 0.8 if coupon_available: price = price - 50 if price < 0: price = 0 return round(price, 2)

表面看逻辑没问题。但仔细检查会发现,price为字符串或者None时,price * 0.8会直接抛出异常。参与者需要给出修复方案,并解释问题根因。这种任务的评价标准,不能只看是否给出补丁,还要看是否准确指出了触发条件。

5.4 运行验证脚本

所有任务完成后,用统一脚本跑测试:

cd ai-eval pytest tests/ -v --tb=short

输出中能清楚看到哪些用例通过、哪些失败。这组测试用例将成为衡量“完成质量”的客观底线。

6. 量化指标与数据采集

任务完成后,如果只总结一句“AI 组快了 20 分钟”,那就浪费了整个实验设计。我们需要定义一组能反映“提效”真实性的指标。

6.1 一级指标:任务耗时

任务耗时是衡量效率最直观的指标,但必须按任务类型分开统计。

  • 生成型任务:耗时越短,说明 AI 的生成优势越明显;
  • 修改型任务:耗时还需要结合测试通过率来看,单纯快但没有通过测试,等于无效;
  • 排障型任务:单一耗时参考意义有限,更重要的是定位准确度。

建议对每个任务记录两个时间:完成初版的时间,和达到“全部测试通过”的时间。两者之差,可以反映返工成本。

6.2 二级指标:质量与认知负荷

单用耗时衡量效率不够,还需要质量指标兜底。

推荐的二级指标:

指标说明
测试一次性通过率第一次提交就通过全部测试的比例
代码评审意见数评审时被指出的问题数量,如命名、边界、架构
代码行增删量衡量 AI 是否产生大量不必要改动
参与者主观负荷用 1~5 分评价任务完成过程中的“烦躁感”

认知负荷指标是最容易被忽视的。同样是完成一个任务,如果使用 AI 的过程是“反复改进提示词、不停复制报错信息、验证 AI 给的错误代码”,那体验其实是负值。因为 AI 把显式的编码成本转换成了隐式的“审阅和纠错成本”。主观负荷评分正好能捕捉这个隐形成本。

6.3 数据采集表

可以设计一张简单的记录表,每轮实验后统一收集:

{ "task_id": "task_a", "participant": "dev-01", "round": "ai", "initial_completion_minutes": 18, "final_completion_minutes": 32, "test_pass_rate": 1.0, "review_comments": 3, "lines_added": 156, "lines_removed": 23, "subjective_load_score": 2 }

将每轮结果放入results/目录,后续用脚本汇总分析。

6.4 用脚本汇总结果

下面是一个简单的 Python 脚本,用于读取多份 JSON 记录并展示对比结果:

import json import glob from statistics import median def load_records(pattern): records = [] for path in glob.glob(pattern): with open(path, 'r', encoding='utf-8') as f: records.append(json.load(f)) return records def summarize(records): if not records: return {} return { "median_final_minutes": median(r["final_completion_minutes"] for r in records), "avg_test_pass_rate": sum(r["test_pass_rate"] for r in records) / len(records), "avg_review_comments": sum(r["review_comments"] for r in records) / len(records), "avg_subjective_load_score": sum(r["subjective_load_score"] for r in records) / len(records), } ai_records = load_records("results/ai-round/*.json") manual_records = load_records("results/manual-round/*.json") print("AI 轮指标:", summarize(ai_records)) print("人工轮指标:", summarize(manual_records))

这里用中位数而不是平均数,是防止某个特别耗时的任务把平均值拉偏。实验数据量不大时,中位数比平均数更稳定。

7. 结果分析与常见误区

数据收集完,真正的挑战才开始:怎么解读数据,怎么避免把实验做成一场自我安慰。

7.1 不要只看“平均快了多少分钟”

假设 AI 轮的平均完成时间是 30 分钟,人工轮是 45 分钟,表面看 AI 提效了 33%。但如果你去看每个任务的分位数,可能会发现:AI 在简单任务上节省了 20 分钟,在复杂任务上反而多花了 10 分钟。那么结论不应该是“AI 提效 33%”,而应该是“AI 在简单生成型任务上优势明显,在复杂修改型任务上没有优势”。

只汇报平均值,会把结论推向“AI 全面提效”,误导团队在副作用最大的场景中强制使用 AI。

7.2 警惕“AI 幻觉造成的返工”

在排障型任务中,AI 有时候会自信地给出一个看起来合理但实际错误的修复方案。参与者如果缺乏判断力,会沿着错误方向排查很久。这部分的成本,会体现在 final_completion_minutes 和 subjective_load_score 上。

如果 AI 轮的返工次数明显高于人工轮,说明这个 AI 工具在“高复杂度推理”场景上还不够成熟,团队应用时需要限定边界,不能放任全员在核心链路上随意使用。

7.3 样本量不足时不要下结论

两三个人的实验数据,只能作为初步信号,不能作为全团队推广的依据。更合理的方式是:用小范围实验沉淀一套验证流程,再扩大到十几人规模,用两周真实需求做试运行,最后才做决策。

7.4 实验环境不能和生产环境混为一谈

实验任务毕竟是简化过的。真实需求的上下文更长,涉及的历史代码更多,AI 需要检索的信息也更多。实验结论可以回答“该工具的基本能力如何”,但回答不了“它在我们复杂的遗留系统上表现如何”。后者需要基于真实代码库的灰度验证。

7.5 明确实验结论的表达口径

建议输出成以下形式,而不是一句“有效”或“无效”:

在生成型任务上,AI 轮中位耗时比人工轮低 40%,测试通过率不低于人工轮;在修改型任务上,AI 轮中位耗时与人工轮接近,但代码评审意见数多 60%;在排障型任务上,AI 轮主观负荷评分更高。

这样的表达,比“AI 提效真实存在”更经得起推敲。

8. 常见问题与排查方法

很多人尝试验证 AI 提效时,实验本身没做错,但在数据采集和流程控制上出了问题。下面整理几个高频问题:

问题现象可能原因排查方式解决方案
AI 轮和人工轮数据差异不大任务集难度过低检查任务是否太简单增加高难度排障和修改型任务
AI 轮测试通过率反而低参与者对 AI 生成代码盲信查看提交历史中是否跳过自测强调“提交前必须自行验证”
耗时记录明显失真依赖参与者手动记录检查时间戳脚本是否正常执行用 Git commit 时间曲线辅助核对
两轮结果互相“污染”参与者从上一轮记住了答案检查实验间隔时长将同一任务的不同变体分配给两轮
代码评审意见数不稳定评审人标准不一致统一评审清单提前给评审人列出检查项
主观负荷评分严重趋同评分量表没有被理解访谈参与者理解题目把 1~5 分改成带场景锚点的描述
8.1 从哪一步开始排查失败实验

如果实验结果呈现“什么都没差出来”的情况,优先检查三个方向:

  1. 任务集是否真的覆盖了不同复杂度层级;
  2. 参与者是否在“不使用 AI”的那一轮里仍然利用了 AI;
  3. 记录时间戳的方式是否太粗糙,比如只记录到“天”而不是“分钟”。

多数“无效实验”的问题不是出在 AI 能力上,而是出在实验控制的细节上。

9. 最佳实践与工程落地建议

完成一轮小规模实验后,怎么把结论应用到团队日常研发流程中?以下是几条经过实践检验的工程化建议。

9.1 把 AI 辅助路径固化到团队规范

实验完成不是终点,把“哪些任务可以放心用 AI、哪些必须人肉完成”形成团队规范才是重点。例如:

  • 允许 AI 辅助:接口模板、单元测试生成、正则表达式编写、配置项解释、代码格式化;
  • 谨慎使用 AI:历史遗留模块改动、涉及资金或权限的操作、核心数据流改动;
  • 禁止直接使用 AI:最终部署、线上配置变更、安全敏感代码评审。

这些规范不能只靠口头传达,建议维护一份AI_USAGE_GUIDE.md放进仓库,由团队共同维护。

9.2 从“个人提效”走向“流程提效”

AI 带来的提效不仅是把“写代码”变快。更深层的价值在于:

  • 把需求描述结构化为可执行的任务描述,减少认知切换;
  • 把测试代码生成提前到实现之前,用测试约束 AI 输出;
  • 把重复性排障脚本沉淀为 AI 可调用的内部技能库,减少重复劳动。

这些流程层面的改进,比“让每个人多用 AI”更稳定、更可复制。

9.3 建立“人机协作”的代码评审红线

AI 生成的代码质量波动很大。团队需要约定,哪些部分 AI 生成后可以走轻量评审,哪些部分无论谁生成都必须走完整评审流程。

推荐的红线清单:

  • 涉及金额计算、权限控制、用户隐私数据的代码,AI 生成后必须由指定负责人重写或严格逐行评审;
  • 涉及复杂事务和并发逻辑的代码,不允许直接采用 AI 首版结果;
  • 所有 AI 生成代码都必须经过本地测试和静态检查,不允许直接提交到主干。
9.4 持续沉淀可复用的验证任务集

第一轮实验建立的任务集不要浪费。每个季度可以复用,加入新任务、淘汰过时任务。团队人员变动后,也可以拿这套任务集做新人能力摸底。

任务集的维护原则是:每个任务必须有可运行的测试用例,否则就无法客观比较。测试用例,是验证方法论中最值得投入的部分。

9.5 关于 AI 编程助手的模型选择

不同模型的强项不同,有的在代码补全上更好,有的在长上下文理解上更稳定。团队正式推广前,建议用同一套任务集跑 2~3 个候选工具。同一任务集,既用于验证 AI 提效,也可以横向比较工具选型,一举两得。

10. 从“验证 AI 提效”到“构建可度量的研发效能体系”

回到标题里的问题:AI 提效是否真实?

从现有实践看,更准确的回答是:在某些任务上真实,在某些任务上未必,且取决于团队有没有建立配套的使用规范和验证机制。一个缺少边界意识、不记录过程数据、全靠个人随缘使用 AI 的团队,大概率无法稳定复现“提效”这一结论;而一个能把任务分层、能用测试卡住质量、能持续用数据校准认知的团队,可以把 AI 变成可掌控的生产力杠杆。

本文给出的验证框架,不要求团队有昂贵工具,也不必引入复杂的数据平台。只需要一个实验设计、一组可运行的测试用例、几次诚实的数据记录,就能得到比“感觉快了很多”更有价值的结论。

如果你所在团队正在为“要不要全面推广 AI 编程工具”争论,不妨先把这套验证流程跑起来。任务集可以很小,指标可以很朴素,但只要结论有数据支撑,后续每一步推广决策都会扎实很多。

建议收藏本文,下一轮做 AI 工具选型或研发效能复盘时,直接按这套方法来。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 7:43:15

数学建模竞赛数据清理实战:从脏数据到可用数据的系统化方法

1. 项目概述&#xff1a;从“脏数据”到“可用数据”的必经之路 搞数学建模&#xff0c;尤其是参加校赛、国赛这类限时竞赛&#xff0c;最让人头疼的往往不是模型多复杂、算法多高深&#xff0c;而是第一步——数据清理。你拿到的数据&#xff0c;很少是那种规规矩矩、拿来就能…

作者头像 李华
网站建设 2026/9/1 7:01:56

无视觉实操指导AI:基于大模型API与知识库的分步教学应用开发

在很多人印象里&#xff0c;大模型做“实操教学”有一个硬伤&#xff1a;模型没有眼睛&#xff0c;看不到用户当前的状态。但这恰恰是最值得研究的地方——如果一个没有视觉能力的AI&#xff0c;能把“戴美瞳”这种极度依赖手感和眼睛反馈的操作讲明白、讲到位&#xff0c;说明…

作者头像 李华
网站建设 2026/9/1 8:06:32

基因组语言模型如何生成噬菌体:原理、复现与验证全解析

斯坦福大学等团队最近在 Science 上发表了一项工作&#xff1a;用基因组语言模型直接生成新型噬菌体&#xff0c;并且通过实验验证了这些自然界里原本不存在的合成噬菌体&#xff0c;确实具备感染细菌的能力。这件事把“生成式 AI”和“合成生物学”正式接到了一起。在此之前&a…

作者头像 李华
网站建设 2026/9/2 11:19:57

VentoyPlugson:5步在浏览器配好Ventoy U盘

VentoyPlugson&#xff1a;5步在浏览器配好Ventoy U盘 【免费下载链接】Ventoy A new bootable USB solution. 项目地址: https://gitcode.com/GitHub_Trending/ve/Ventoy 想给某个 ISO 单独加密码、换个启动菜单背景&#xff0c;就得挂载 U 盘、打开 ventoy.json 对着花…

作者头像 李华