AI竟会看Prompt下菜!Vibe coding普通人vs程序员,剑桥最新报告

搜索
AI-TNT
正文
资源拓展
AI竟会看Prompt下菜!Vibe coding普通人vs程序员,剑桥最新报告
2025-06-17 10:08

您有没有发现一个奇怪的现象:同样是Vibe coding,有些人轻松拿到完整的Flask应用,有些人却只得到几行if-else语句?剑桥大学计算机科学与技术系的研究者们最近发布了一项研究,用科学的方法证实了我们的直觉——AI确实会"看人下菜碟"。他们设计了两套完整的评估体系:第一套是"合成评估管道",通过人工制造各种提示变化来测试AI的敏感性;第二套是"角色评估",让AI扮演不同背景的用户来生成提示,然后观察代码质量差异。研究覆盖了GPT-4o mini、Claude 3 Haiku、Gemini 2.0 Flash、Llama 3.3 70B四个主流模型,结果证实AI真的能从您的提示方式中"读出"技术水平,然后见Prompt下代码


AI竟会看Prompt下菜!Vibe coding普通人vs程序员,剑桥最新报告


AI竟会看Prompt下菜!Vibe coding普通人vs程序员,剑桥最新报告


合成评估:三种"折磨"AI的方式


研究者们设计了三种方法来"折磨"提示,看看AI的反应有多敏感。让我们用一个具体例子来看看这些方法有多"残忍":


1. 键盘打字错误


最狠的一招,基于QWERTY键盘距离随机替换字符,模拟真实的打字失误


原始提示"Write a Python function to calculate factorial"

变换后"Wrtie a Pytjon functuon to calculsre factorual"


看起来像是在手机上匆忙打字时的惨状,但AI能理解吗?


2. 同义词替换


使用WordNet数据库,把词汇换成意思相近的其他词


原始提示"Create a simple web application"

变换后"Build a basic internet program"


意思完全一样,但表达方式完全不同


3. 释义重述


让另一个AI重新表述原始提示,保持语义但改变表达方式


原始提示"Implement a sorting algorithm"

变换后"Could you help me develop a method that arranges data elements in a specific order?"


从简洁的技术指令变成了礼貌的求助请求


评估指标:使用TSED(树相似性编辑距离),这比传统的BLEU或BERT分数更适合评估代码相似性,能准确反映语法树结构的差异。


AI竟会看Prompt下菜!Vibe coding普通人vs程序员,剑桥最新报告


释义方法的有效性验证

生成的释义在保持高语义相似性(BERT Score 0.95-1.0)的同时实现了文本多样性(Sacre BLEU 0-1.0),证明了释义方法的有效性


四个角色的"社会实验"


更有趣的是角色评估部分,研究者们创造了四个典型用户:


AI竟会看Prompt下菜!Vibe coding普通人vs程序员,剑桥最新报告


让AI分别扮演这些角色来描述同一个编程任务,比如"写代码做个计算器",然后观察生成的提示和最终代码有什么区别。


结果显示:不同角色的表达方式差异巨大,最终获得的代码质量也天差地别。


实验结果:数据不会撒谎


数据揭示了一些意想不到的规律:


🔥 键盘错误 = 致命打击


  • 代码相似性在错误率0.0到0.6之间急剧下降
  • 最终稳定在0.3左右的TSED值
  • 意味着生成的代码与原版有根本性差异


AI竟会看Prompt下菜!Vibe coding普通人vs程序员,剑桥最新报告


键盘错误 vs 同义词替换的影响对比

所有模型对键盘错误(左图)都极其敏感,代码相似性急剧下降;但对同义词替换(右图)相对鲁棒,Gemini 2.0 Flash表现最稳定


✅ 同义词和释义 = 相对温和


  • 大多数模型能保持0.5以上的相似性
  • Gemini 2.0 Flash表现最稳定


AI竟会看Prompt下菜!Vibe coding普通人vs程序员,剑桥最新报告


释义增强的温和影响

释义增强实验显示与同义词类似的趋势——初始显著下降后缓慢递减,证明语义保持的提示变化对AI影响相对温和


角色差异:技术背景决定代码质量


角色评估的结果更加戏剧化:


代码质量阶梯效应


AI竟会看Prompt下菜!Vibe coding普通人vs程序员,剑桥最新报告


天体物理学家的独特案例


这个角色特别有意思——他虽然不是专业开发者,但因为科研需要会用Python处理数据:


  • 提示特点:明确指定编程语言和数据处理需求
  • 典型表达:"用Python实现,需要处理大型数值数组"
  • 代码特征:注重科学计算的准确性和数据处理效率
  • 缺陷:缺乏软件工程的系统性考虑


语言学验证


研究者们用语言学分析框架证实了这些差异的客观存在:技术背景越强的角色,生成的提示在词汇选择、句式结构上都更接近专业开发者的表达习惯


AI竟会看Prompt下菜!Vibe coding普通人vs程序员,剑桥最新报告


四个角色的语言使用模式可视化

通过LDA主题建模分析四个角色的语言使用模式。连线粗细表示共同实体数量,右侧地图显示了不同概念的实体分布。有趣的是,天体物理学家(Ethan)与两位软件工程师有一定共同语言,但明显少于工程师之间的联系,而与英语教师(Harold)的差异最大


有趣的点:天体物理学家的中间地带


天体物理学家角色在实验中展现了一个有趣的中间地带


语言特征


  • ✅ 比英语教师专业:使用"数值计算"、"数据分析"、"算法效率"等术语
  • ❌ 不如软件工程师系统:缺少"架构设计"或"用户体验"考虑


实际案例


计算器任务中的表达


"需要一个支持高精度浮点运算的计算工具,能处理科学记数法"


最终代码特点


  • ✅ 包含NumPy库的使用和数值稳定性考虑
  • ❌ 缺少错误处理和用户界面设计


现实意义


这种"有编程经验但非专业开发者"的角色,在现实中其实很常见——很多科研人员、数据分析师都属于这个类别


对Vibe Coding用户的实战启示


这个发现对您日常使用Cursor、Windsurf或Trae编程有什么启发呢?


💡 核心洞察


原来我们和AI的"化学反应"差异这么大!如果您经常觉得别人用同样的工具能生成更优雅的代码,现在知道原因了——可能不是工具的问题,而是提示的"段位"不同


🚀 立即可用的升级策略


1. 语言专业化

  • ❌ 避免:"帮我写个程序"
  • ✅ 改为:"实现一个RESTful API,包含用户认证和数据验证"


2. 明确技术要求

  • 指定架构模式:"使用MVC架构"
  • 声明性能需求:"支持并发处理"
  • 提及部署考虑:"容器化部署"


3. 多版本对比法


尝试多种表述方式,然后选择最佳结果:


  • 版本A:从功能角度描述
  • 版本B:从技术实现角度描述
  • 版本C:从系统架构角度描述


🎯 关键原则

AI会根据您的提示风格来判断该给出什么级别的代码——既然知道了这个"潜规则",为什么不好好利用呢?


数据污染:训练数据的"后门"


研究还意外发现了一个重要问题:数据污染比我们想象的更严重。LeetCode经典题目在所有模型上都表现出异常的稳定性,即使提示词写的很烂,这说明这些题目已经被"背"下来了。这对基准测试的有效性提出了质疑。


什么是LeetCode?

LeetCode是全球最知名的编程刷题网站,包含数千道算法和数据结构题目,是程序员面试必备的练习平台。由于这些题目在网上流传极广,很可能被包含在AI模型的训练数据中。


AI竟会看Prompt下菜!Vibe coding普通人vs程序员,剑桥最新报告


研究者的应对方案


研究者专门创建了22个原创编程任务,涵盖模拟、算法、数据科学等多个领域,这些任务更能反映真实的敏感性。


AI竟会看Prompt下菜!Vibe coding普通人vs程序员,剑桥最新报告


数据污染现象的直观证据

数据污染现象一目了然——LeetCode老题目(最上方)即使提示严重破坏也保持高相似性,而原创数据集(最下方)在仅10%提示修改后就急剧下降


技术实现细节:可复现的评估框架


从技术角度看,这套评估框架的设计相当精巧。合成评估管道完全模块化,增强函数和距离函数都可以独立替换,支持任何LLM和编程语言;角色评估使用了LDA主题建模和可视化分析,能够量化不同角色在语言使用上的差异。所有实验都设置了温度为0,每个条件重复5次取平均值,确保结果的可靠性。研究代码已经开源https://anonymous.4open.science/r/code-gen-sensitivity-0D19/README.md [1]


文章来自于“AI修猫Prompt”,作者“AI修猫Prompt”。

1
免费使用GPT-4o

【免费】ffa.chat是一个完全免费的GPT-4o镜像站点,无需魔法付费,即可无限制使用GPT-4o等多个海外模型产品。

在线使用:https://ffa.chat/

2
prompt

【开源免费】LangGPT 是一个通过结构化和模板化的方法,编写高质量的AI提示词的开源项目。它可以让任何非专业的用户轻松创建高水平的提示词,进而高质量的帮助用户通过AI解决问题。

项目地址:https://github.com/langgptai/LangGPT/blob/main/README_zh.md

在线使用:https://kimi.moonshot.cn/kimiplus/conpg00t7lagbbsfqkq0

添加客服微信openai178,进AITNT官方交流群
IOS下载
安卓下载
微信群
沪ICP备2023015588号