Computer Science Achievement and Writing Skills Predict Vibe Coding Proficiency
Sverrir Thorgeirsson, Theo B. Weidmann, Zhendong Su
CHI 2026
cs.HC, cs.SE
2026-03-15
ETH 对 100 名大学生做预注册实验:CS 成绩与 vibe coding 相关 r=.39,写作 r=.29;控掉一般认知后 CS 仍显著,联合模型里 CS 独立方差约是写作的两倍。
Replit、Lovable、Cursor 把「用自然语言描述程序、看行为再改」做成了日常工作流。Karpathy 把不看代码、只靠提示词和运行结果迭代的做法叫 vibe coding。平台方常暗示不会写代码也能做软件,Replit 甚至声称 75% 用户从没写过一行代码。
成功到底靠什么,写得清楚,还是得有 CS 功底?已有研究要么只有 19 人,要么是单轮无状态提示,跟商业工具的多轮迭代对不上。ETH Zürich 这篇 CHI 2026 论文报告了一项预注册横断实验,把写作、CS 成绩、一般认知能力和 vibe coding 表现放进同一批人里比。
100 名高校生,来自 ETH 与苏黎世大学志愿者池。门槛是修过导论级 CS、有过用 LLM 写程序的经验、英语至少 C1。实验室做 1 小时 45 分钟,报酬 55 瑞士法郎。56 女 44 男,平均年龄 25.0 岁。工科 51 人,自然科学 20 人,社科人文 11 人。先验功效分析显示,要检出 r=0.30 的中等相关,N=85 就够。
四项分数都归一化到 [0,1]:
自建平台左边聊天、右边预览,代码完全隐藏,模型输出做成模糊直播流,只让人知道 agent 在干活。底层模型是 Claude Sonnet 4。不让看代码,是为了测「纯 vibe coding」,避免有人改源码、把构念混回传统编程。评分按事先写好的功能条目,4 级量表,由一名作者盲评。问卷和 vibe 任务的先后顺序做了平衡,先写作并不能把 vibe 均分抬上去(0.446 对 0.448)。
描述统计:CS 均分 0.53,认知 0.56,写作 0.72,vibe 总分 0.45。去语境化任务最难,均分 0.34;加功能最容易,0.55。300 次提交里有 297 次在交卷前点过样例应用的全部功能。
| 关系 | r | p |
| CS 与 vibe | 0.386 | <0.001 |
| 写作与 vibe | 0.290 | 0.003 |
| 认知与 vibe | 0.352 | <0.001 |
| CS 与写作 | 0.126 | 0.213(不显著) |
控制认知能力之后,CS 与 vibe 的偏相关仍是 0.281(p=0.005);写作掉到 0.186(p=0.066),不再显著。
联合回归里,CS 先入再加写作,R² 从 0.150 升到 0.208,增量 0.059。反过来,写作先入再加 CS,R² 从 0.083 升到 0.208,增量 0.125。CS 贡献的独立方差大约是写作的两倍。终模型标准化系数:CS β=0.356,写作 β=0.244,两者都显著。注意这份联合模型没有再塞进 ICAR16。
预注册假设「去语境化任务更吃写作」没站住。写作与去语境化任务 r=0.239,略低于加功能任务的 0.245;复制任务只有 0.154,不显著。
探索分析里,提示词质量(人类按专门量表盲评整段对话)与 vibe 表现 r=0.479,与作文分数 r=0.353。中介路径:写作到提示词质量 a=0.35,提示词质量到 vibe b=0.43,间接效应 0.152(bootstrap 95% CI [0.061, 0.279]),大约占写作-vibe 总关联的 52%。直接路径不再显著。提示词的词汇多样性(MTLD)与 vibe 表现也相关,r=0.343。
自报 LLM 使用频率与 vibe 表现负相关 r=-0.258,与写作成绩也负相关 r=-0.282,与 CS 成绩几乎为零。论文没做因果鉴定。
「不会写代码也能 vibe」这句话,至少在 GUI 小应用、纯提示词工作流里说得太满。CS 成绩在看不见代码的条件下仍然预测表现,说明分解问题、心里有状态和流程,可能比「会改生成代码」更底层。写作也有独立贡献,但大约只有 CS 的一半;把一般认知能力控掉之后,写作这条边就变得勉强。
对工具:一堆 prompt 教练默认瓶颈是把需求写清楚。中介分析给了这个默认一些支持。对课程:只教 prompt 模板、不补 CS 基本功,可能漏掉贡献更大的那一块。
这是相关,不是因果。适合当「别急着把 CS 基础从课表里拿掉」的证据,不适合当「先上写作课就能 vibe 好」的处方。
任务全是 GUI 小应用。数据分析和算法向 vibe 只在膳食计划的约束求解上探了一下,那里 CS r=0.320、写作 r=0.202,外推要小心。写作量表是新做的,没有大规模常模。实验室限时,有人做到快对了却超时。样本是已经会一点 CS、英语 C1 的大学生,跟职业开发者和纯零基础市民程序员不是同一群人。
写作评分的组内相关系数 ICC(2,2)=0.731,低于预注册目标 0.75,作者接受了「好于 0.7」这条宽松线。ICAR16 的 Cronbach α=0.625,低于常用的 0.7,所以它只当协变量。vibe 评分由作者团队一人完成,没有报告评分者间信度。提示词中介是探索性的,不能当因果机制。
LLM 使用频率那条负相关最容易被拿去讲故事,但它是自陈李克特、探索分析,且与 CS 无关。先别写成「用 AI 会把人用笨」。