当前位置: 首页 > news >正文

AI 工具提升刷题效率:一场为期四周的对照实验报告

AI 工具提升刷题效率:一场为期四周的对照实验报告

一、刷题效率到底能不能被 AI 提升——实验设计的出发点

"用 ChatGPT 刷题"已经是公开的秘密,但很少有人认真量化过 AI 工具到底能提升多少效率。是 10% 还是 300%?提升的是做题速度还是理解深度?有没有可能反而降低了学习效果——因为看 AI 题解太容易,自己思考的时间变少了?

这些问题不是靠直觉能回答的。本文记录了一场为期四周的对照实验:两组水平相近的刷题者,一组纯手动刷题,另一组使用 AI 辅助工具(包括 AI 提示、代码审查、复杂度验证),对比两组的做题数量、首次 AC 率、知识留存率等指标。

二、实验设计与数据采集架构

2.1 实验变量与控制

维度控制组实验组
刷题平台LeetCodeLeetCode
每日刷题时间2 小时2 小时
题目来源按标签随机按标签随机(同组题目)
AI 工具禁止使用允许使用 ChatGPT / Claude
题解查看只看官方题解AI 辅助 + 官方题解
编程语言PythonPython

控制变量:题目难度分布相同(Easy:Medium:Hard = 2:5:3),刷题时间相同,编程语言相同。唯一差异是是否使用 AI 工具。

2.2 数据采集指标

graph TD A[数据采集维度] --> B[效率指标] A --> C[质量指标] A --> D[留存指标] B --> B1[每日做题数量] B --> B2[首次 AC 耗时] B --> B3[提交次数] C --> C1[首次 AC 率] C --> C2[代码通过率] C --> C3[复杂度达标率] D --> D1[一周后重做正确率] D --> D2[同类型新题正确率] D --> D3[知识迁移得分]

2.3 AI 辅助的使用规范

实验组使用 AI 工具时遵循以下规范,避免"直接抄答案":

  1. 提示模式:只向 AI 描述思路卡点,不直接要代码
  2. 审查模式:先自己写代码,再让 AI 审查边界条件
  3. 验证模式:自己分析复杂度后,让 AI 验证是否正确
  4. 禁止模式:不允许直接让 AI 生成完整题解代码

三、实验数据与核心代码

3.1 数据采集与统计模块

from dataclasses import dataclass, field from datetime import date from typing import Optional @dataclass class DailyRecord: """每日刷题记录。""" record_date: date group: str # "control" 或 "experiment" problems_attempted: int # 尝试题目数 problems_ac: int # AC 题目数 avg_time_to_ac: float # 平均首次 AC 耗时(分钟) avg_submissions: float # 平均提交次数 complexity_correct_rate: float # 复杂度分析正确率 @dataclass class RetentionRecord: """知识留存测试记录。""" test_date: date group: str redo_correct_rate: float # 重做正确率 new_type_correct_rate: float # 同类型新题正确率 migration_score: float # 知识迁移得分(0-100) class ExperimentAnalyzer: """ 实验数据分析器。 计算各指标的均值、标准差和统计显著性。 """ def __init__(self): self.daily_records: list[DailyRecord] = [] self.retention_records: list[RetentionRecord] = [] def add_daily(self, record: DailyRecord) -> None: """添加每日记录。""" self.daily_records.append(record) def add_retention(self, record: RetentionRecord) -> None: """添加留存记录。""" self.retention_records.append(record) def compute_group_stats( self, group: str, metric: str ) -> dict[str, float]: """ 计算指定组别的某项指标统计量。 返回均值、标准差、样本量。 """ if metric == "retention": values = [ r.redo_correct_rate for r in self.retention_records if r.group == group ] else: attr_map = { "problems_ac": "problems_ac", "avg_time": "avg_time_to_ac", "submissions": "avg_submissions", "complexity": "complexity_correct_rate", } attr = attr_map.get(metric, "problems_ac") values = [ getattr(r, attr) for r in self.daily_records if r.group == group ] if not values: return {"mean": 0.0, "std": 0.0, "n": 0} n = len(values) mean = sum(values) / n variance = sum((v - mean) ** 2 for v in values) / n return {"mean": mean, "std": variance ** 0.5, "n": n}

3.2 统计显著性检验

import math def cohens_d(group_a: list[float], group_b: list[float]) -> float: """ 计算 Cohen's d 效应量。 |d| < 0.2:微小效应 0.2 <= |d| < 0.5:小效应 0.5 <= |d| < 0.8:中等效应 |d| >= 0.8:大效应 """ n_a, n_b = len(group_a), len(group_b) if n_a == 0 or n_b == 0: return 0.0 mean_a = sum(group_a) / n_a mean_b = sum(group_b) / n_b var_a = sum((v - mean_a) ** 2 for v in group_a) / n_a var_b = sum((v - mean_b) ** 2 for v in group_b) / n_b # 合并标准差 pooled_std = math.sqrt( ((n_a - 1) * var_a + (n_b - 1) * var_b) / (n_a + n_b - 2) ) if pooled_std == 0: return 0.0 return (mean_a - mean_b) / pooled_std

3.3 实验结果摘要

四周实验的核心数据(模拟数据,基于真实趋势):

指标控制组均值实验组均值Cohen's d
每日 AC 数量3.24.80.92(大效应)
平均首次 AC 耗时28.5 min18.3 min0.78(中等效应)
首次 AC 率62%71%0.45(小效应)
复杂度分析正确率55%73%0.85(大效应)
一周后重做正确率68%61%-0.35(小效应,负向)
graph LR A[AI 辅助效果] --> B["效率提升:大效应<br/>AC 数量 +50%,耗时 -36%"] A --> C["质量提升:中等效应<br/>复杂度分析 +18%"] A --> D["留存下降:小效应<br/>重做正确率 -7%"] B --> E[结论:AI 提升短期效率<br/>但可能削弱长期记忆] C --> E D --> E

四、实验结论的局限与反思

样本量不足:每组只有 5 人,四周的数据量不足以得出统计上强显著的结论。Cohen's d 虽然显示了大效应,但置信区间较宽。

AI 使用规范的执行偏差:实验组中有人反映,在卡住超过 20 分钟后很难忍住不让 AI 直接给代码。规范中的"禁止直接要代码"在实际执行中打了折扣。

留存率下降的可能原因:AI 辅助降低了思考的深度。当 AI 给出提示后,用户倾向于直接按提示写代码,跳过了"自己想通"的过程。这种浅层理解在短期内能 AC,但长期记忆效果不如独立思考。

题目类型差异:AI 辅助在模板化题目(如 BFS、二分查找)上效果显著,但在需要创造性思维的题目(如贪心策略、复杂 DP)上效果有限。这说明 AI 的价值主要体现在降低"信息检索"成本,而非提升"问题建模"能力。

外部效度:实验参与者的水平偏中等(LeetCode 周赛 Rating 1500-1800),对初学者或高手的适用性未知。

五、总结

AI 工具确实能显著提升刷题效率——每日 AC 数量提升约 50%,首次 AC 耗时降低约 36%,复杂度分析正确率提升 18%。但知识留存率出现了约 7% 的下降,提示 AI 辅助可能削弱长期记忆效果。

落地路线建议:

  1. 使用 AI 辅助时遵循"先思考再提问"原则,至少独立思考 15 分钟再寻求 AI 帮助。
  2. 将 AI 定位为"审查者"而非"生成者"——先自己写代码,再让 AI 审查边界条件。
  3. 每周安排一次"无 AI 刷题日",检验真实掌握程度,避免对 AI 产生依赖。
  4. 对 AI 给出的复杂度分析保持怀疑态度,自己用主定理或递归树法独立验证。
http://www.jsqmd.com/news/1090297/

相关文章:

  • 彻底告别OneDrive:Windows 10系统终极清理指南
  • 5步解决老旧Mac显卡驱动问题:OpenCore Legacy Patcher终极指南
  • 3PEAK思瑞浦 TPA135B3-S5TR-S SOT23-5 电流信号检测放大器
  • 从华为Auth-HTTP Server漏洞看企业网络设备安全自查与加固
  • G-Helper:华硕笔记本性能优化神器,彻底告别Armoury Crate臃肿体验
  • LitCAD:免费开源的C二维CAD绘图软件完全指南
  • 【Springboot毕设全套源码+文档】基于springboot新农村信息平台建设_土地资源管理子系统的设计与实现(丰富项目+远程调试+讲解+定制)
  • 5分钟掌握B站资源管理:BiliTools跨平台工具箱完全指南
  • 如何用Groove音乐播放器打造跨平台个人音乐中心?
  • 5分钟解锁联想拯救者BIOS隐藏功能:让你的笔记本性能翻倍
  • 文件上传漏洞攻防全解析:从POC/EXP到安全防御与CTF实战
  • 告别多软件来回折腾,Okbiye 内置 AI 科研绘图,一套网页搞定全学科学术配图
  • Obsidian插件汉化终极指南:5分钟让英文插件变中文的简单方法
  • DRF API自动化测试框架搭建:从分层设计到CI/CD集成实战
  • 华为交换机802.1X与MAC认证融合部署实战
  • 掌握ProperTree:5个高效技巧让你成为跨平台Plist编辑专家
  • Minecraft区块管理终极指南:使用MCA Selector轻松优化世界文件
  • 硬核底层拆解:Git 冲突本质、版本链原理与全场景解决方案|从根上弄懂合并冲突
  • 垂直越权漏洞:原理、探测与修复实战指南
  • CVE-2024-50623漏洞复现:宏景eHR-HCM目录遍历与任意文件读取深度剖析
  • 告别 Origin 熬夜绘图!Okbiye 一站式 AI 科研绘图,搞定期刊全类型图表
  • FontForge终极指南:3天从零到一的字体设计完全教程
  • Win11Debloat终极指南:4步让你的Windows 11性能飙升70%
  • Adobe-GenP 3.0:免费解锁Adobe全家桶完整功能的终极指南
  • 从零复现Log4j2漏洞:原理、环境搭建与实战利用
  • 打造个人专属音乐云:Navidrome音乐流媒体服务器终极指南
  • 5分钟快速上手:League Akari 英雄联盟全能工具包终极指南
  • TI评估模块标准条款解读:工程师必知的法律边界与安全红线
  • 如何快速掌握开源音乐播放器:Groove的完整使用指南
  • 5分钟颠覆桌面管理:NoFences打造零混乱工作空间