Vibe Coding(氛围编码)实践:动机、挑战与未来展望——一项灰色文献综述
作者:Ahmed Fawzy, Amjed Tahir, Kelly Blincoe
发表时间:2025年9月30日
摘要
AI代码生成工具正在改变软件开发,尤其是对于初学者和非软件开发者而言,它们能够以极少甚至无需人工干预的方式,让人更快地编写代码并构建应用程序。Vibe Coding(氛围编码)是一种用户依赖AI代码生成工具、通过直觉和试错进行编程的实践,使用者往往并不理解底层代码。尽管这一做法已被广泛采用,但尚无研究系统性地探讨用户为何参与Vibe Coding、他们在过程中经历了什么,以及他们如何对待质量保证(QA)并如何看待AI生成代码的质量。为此,我们对101份从业者来源的资料进行了系统性灰色文献综述,提取了518条关于Vibe Coding实践、挑战与局限性的第一手行为描述。分析揭示出一个速度-质量权衡悖论:Vibe Coding实践者受速度和易用性驱动,常常经历快速的“即时成功与心流状态”,但大多数人认为生成的代码虽快却有缺陷。质量保证实践常被忽视,许多人跳过测试、未经修改直接采用模型或工具的输出,或者将检查工作委托回AI代码生成工具。这催生了一类新的脆弱软件开发人员——那些能够构建产品但出现问题后却无法调试的人。我们认为,Vibe Coding降低了门槛并加速了原型开发,但代价是可靠性和可维护性。这些发现对工具设计者和软件开发团队具有重要意义。了解当前Vibe Coding的实践方式,对于指导其负责任使用、预防AI辅助开发中出现更广泛的质量保证危机至关重要。
全文
Ahmed Fawzy
梅西大学
新西兰
ahmed.mohamed.6@uni.massey.ac.nz
Amjed Tahir
梅西大学
新西兰
a.tahir@massey.ac.nz
Kelly Blincoe
奥克兰大学
新西兰
k.blincoe@auckland.ac.nz
摘要
AI代码生成工具正在改变软件开发,尤其是对新手和非软件开发者而言,使他们能够更快地编写代码、构建应用程序,且几乎不需要人工干预。"氛围编程"(Vibe coding)是指用户依靠AI代码生成工具,通过直觉和试错来编写代码,而不一定理解底层代码的实践方式。尽管这种实践已被广泛采用,但尚未有研究系统地探讨用户为何进行氛围编程、在此过程中经历了什么、如何开展质量保证(QA),以及如何感知AI生成代码的质量。
为此,我们系统性地对101份从业者来源的灰色文献进行了综述,提取了518份关于氛围编程实践、挑战与局限的第一手行为记录。我们的分析揭示了一个速度-质量权衡悖论:氛围编程者受到速度和易用性的驱动,常常体验到快速的"即时成功与心流",但大多数人认为生成的代码虽快却有缺陷。质量保证实践常被忽视,许多人跳过测试,直接使用模型或工具的原始输出而不做修改,或者将检查工作委托回AI代码生成工具。这催生了一类新型脆弱的软件开发者——尤其是那些构建了产品,却在出现问题时无法调试的人。
我们认为,氛围编程降低了门槛、加速了原型开发,但代价是可靠性和可维护性。这些见解对工具设计者和软件开发团队具有启示意义。理解当前氛围编程的实践方式,对于引导其负责任使用、防止AI辅助开发中更广泛的质量保证危机至关重要。
关键词
氛围编程,AI辅助编程,AI生成代码
ACM引用格式
Ahmed Fawzy, Amjed Tahir, and Kelly Blincoe. 2025. Vibe Coding in Practice: Motivations, Challenges, and a Future Outlook – a Grey Literature Review. In Conference’17, Washington, DC, USA. ACM, New York, NY, USA, 12 pages. https://doi.org/10.1145/nnnnnnn.nnnnnnn
引言
近年在大型语言模型(LLM)上的进展,通过诸如GitHub Copilot和ChatGPT等AI代码生成工具,正在迅速改变软件开发。这些工具允许开发者用自然语言描述功能,然后接收可执行代码,从而加速日常工作,并降低了编程经验有限者的入门门槛[20, 46, 53]。借助这些工具,即使没有接受过正式培训的人,也越来越多地能够开发出功能性的应用程序[14]。这一变化代表了开发者角色的更广泛转变——现在不再需要逐行编写代码,而是转向编排、监督和集成工作[39, 58]。然而,尽管这些工具正在改变软件创建的方式,对于日常使用中涌现的新编码实践,我们仍知之甚少。
在AI代码生成工具快速普及的浪潮中,一种被称为"氛围编程"的新实践应运而生。由Karpathy于2025年提出[26],氛围编程是一种新的编程方法:用户通过用自然语言描述期望结果来使用AI代码生成工具编写代码,而不完全理解AI生成的代码。例如,最近一份报告指出,Y Combinator 2025年冬季批次中25%的初创公司的代码库几乎完全由AI代码生成工具编写,这说明了这种实践的传播速度之快[37]。与AI辅助编程不同,氛围编程优先考虑速度和实验性,而非理解。
在本文中,我们将氛围编程定义为:主要用自然语言描述目标并通过迭代提示来使用AI代码生成工具生成软件,同时对生成的代码进行最少审查的实践方式。
该定义源自Karpathy对该术语的原始介绍[26],并进一步基于从业者在灰色文献中描述该实践的方式加以夯实(例如[74])。该定义适用于各类用户群体,包括专业开发者(他们可能利用沉浸式编程快速制作原型)以及非软件开发者(他们可能试图在缺乏编程知识的情况下构建应用程序)[12, 75]。
沉浸式编程引入了诸如可及性、速度和创造潜力等优势。例如,非软件开发者现在可以构建可工作的应用程序,专业人员也能比以前更快地探索想法[47, 48, 80]。然而,先前的研究和行业评论指出了严重的局限性。教育研究表明,学生常常采用AI生成的代码却不理解它,这会导致不良的学习成果[20, 53]。安全研究表明,AI生成的代码经常包含漏洞[34, 45],这一问题在现有项目中也被发现[16]。从业者还强调了
arXiv:2510.00328v1 [cs.SE] 30 Sep 2025
实践中的Vibe Coding:动机、挑战与未来展望——一项灰色文献综述
Conference'17, 2017年7月, 美国华盛顿特区技术债务[12, 74]。这些发现表明,虽然氛围编码降低了门槛并加速了开发,但也引发了关于质量、安全性和可维护性的担忧。
尽管在实际应用中广泛采用,但至今尚无研究将氛围编码作为一种独立的实践进行系统考察。现有研究要么关注通用的AI代码生成工具使用,而没有区分出定义氛围编码的直觉驱动试错风格[28, 30, 46, 66]。为填补这一空白,我们进行了一项系统的灰色文献综述(GLR),以分析博客、论坛、媒体文章及其他公开来源中记录的第一手行为描述。在本综述中,我们试图回答以下四个研究问题:
RQ1:用户进行氛围编码的动机是什么?
该问题考察用户为何选择氛围编码,深入探讨他们选择以这种方式编码的动机(如速度、易用性、创造力、学习或可及性)。我们还将解释用户认为该实践有价值的场景(如快速原型设计、个人项目或赋能非软件开发者)。
RQ2:用户在氛围编码过程中的体验如何?
该问题关注用户在氛围编码过程中的实践体验,探索哪些方面运作良好,哪些方面出了问题。我们旨在捕捉用户在实际氛围编码中如何与AI代码生成工具协作。
RQ3:用户如何感知通过氛围编码生成的AI代码质量?
该问题调查用户如何看待他们通过AI代码生成工具产生的输出。它捕捉用户如何判断所获代码的有用性和可靠性。
RQ4:进行氛围编码时采用了哪些质量保证(QA)实践?
这里我们探讨用户如何检查或管理AI生成代码的质量,以及他们在接受代码前是否仔细审查,还是完全信任输出而不验证其正确性和质量。
通过综合来自不同从业者和环境中的见解,我们的研究提供了氛围编码在现实世界中如何实践的坚实基础。我们发现用户主要受速度和可及性驱动,但对最小化审查的依赖往往导致代码脆弱或容易出错。这些见解为工具设计者和软件团队提供了启示(例如,设计鼓励审查和验证而非不加批判地接受AI生成代码的工具)。
相关工作
关于AI代码生成工具的研究增长迅速,关注不同的用户群体和问题。虽然这些研究提供了有价值的见解,但尚未有直接针对氛围编码作为独立实践的调查。
一些研究考察了学生和新手在学习情境中如何使用AI代码生成工具。Prather 等人[47, 48]发现,学生往往在不深入思考或理解的情况下接受AI建议,导致在错误出现时感到困惑。Zviel-Girshin 等人[80]研究了一整班初学软件开发人员,报告称虽然学生使用AI代码生成工具时更有信心,但他们通常未能完全掌握AI生成代码背后的概念。Sheard 等人[56]采访了教学人员,其中许多人担心学生可能在未理解的情况下提交AI生成的作品。Zi 等人[79]也发现,CS1学生在理解LLM(大语言模型)生成的代码方面存在困难,由于不熟悉的编码风格、自动化偏差和有限经验,理解任务的成功率仅为32.5%。总体而言,这些发现表明,虽然AI代码生成工具可以增强信心和可及性,但过度依赖可能损害学习成果[20, 53]。
其他工作考察了没有正式编程培训的个体。Feldman 和 Anderson [14]研究了非软件开发者如何使用AI代码生成工具生成可运行的代码。虽然他们能够生成基本程序,但在清晰表达意图到提示词以及验证生成的AI代码是否正确方面存在困难。这些发现表明,虽然AI代码生成工具向新用户群体开放了访问权限,但在有效提示和验证AI输出方面仍存在重大障碍。
Ferino 等人[15]调查了初级开发者如何采用GitHub Copilot,发现许多人依赖试错并接受建议而不完全理解。在专业层面,Barke 等人[6]发现经验丰富的开发者以两种主要方式使用AI代码生成工具:(1) 加速他们已经知道如何编写的代码,以及 (2) 探索不熟悉的想法,同时通常会仔细测试结果。Vaithilingam 等人[66]发现,开发者喜欢使用Copilot,但在出现错误时往往难以修复生成的代码。Peng 等人
[46]报告了生产力提升,尤其是对于经验不足的开发者,但并未评估AI生成代码的质量。总之,这些研究表明,开发者体验在AI代码生成工具的使用谨慎程度上起着重要作用。
在提示工程方面,Kruse等人[30]调查了开发者如何为代码生成撰写提示,以及他们的经验如何影响结果。虽然这揭示了提示设计的重要性,但它并未专门研究Vibe Coding——在Vibe Coding中,试错式提示和直觉往往占主导地位。
多项研究强调了不加充分代码审查就采用AI代码生成工具的风险。Pearce等人[45]发现,Copilot的大约40%输出(共1,689个程序)存在安全漏洞。Majdinasab等人[34]显示,即使增加了额外的安全层,不安全代码仍经常被生成。Fu等人[16]进一步在GitHub项目中识别出AI生成代码中的安全弱点。这些发现表明,虽然AI代码生成工具提高了可访问性和速度,但如果不仔细检查,生成的代码可能引入重大风险。
除了技术成果,一些研究还探讨了开发者如何看待AI代码生成工具的角色。Kuhail等人[31]研究了开发者对ChatGPT的看法,重点关注工作安全、角色变化,以及AI是否会取代或增强编程工作。Weisz等人[70]研究了IBM对AI代码助手(watsonx Code Assistant)的使用,发现虽然许多开发者报告了生产力提升,但这些收益并不均衡,并且常常引发对作者身份、责任和技能丧失的担忧。虽然这些研究有助于理解采用问题,但它们并未调查开发者实际上如何检查或测试AI生成的代码。
综上所述,先前的研究已探讨过教育场景、非软件开发者、初级人员、专业人士、提示工程、安全性以及开发者感知等方面。然而,这些研究均未直接涉及“vibe coding”(直觉驱动试错编程)——这种有别于通用AI辅助软件开发的独特实践。这一空白促使我们开展本项灰色文献综述(GLR),旨在综合不同用户群体中vibe coding行为的一手经验描述。
3 方法论
灰色文献(GL)涵盖非传统同行评审渠道发布的资料,包括博客、技术报告和网络文章。在软件工程领域,从业者往往通过这些在线渠道分享经验与实践,而非通过学术期刊[24, 25]。
多项研究表明,GL正成为软件工程领域重要的证据来源。例如,一项综述发现大约五分之一的二次研究已开始使用GL,因为它包含真实从业者的观点,而这些观点在同行评审研究中可能并不明显[24]。Kamei等人[25]也指出,GL综述之所以有用,是因为它能够捕捉从业者自身阅读的材料(如博客文章和技术报告)中的见解。
3.1 搜索策略
在开展本综述时,我们严格遵循了Garousi等人[17]提出的综述指南。由于灰色文献分布于网络中,我们使用Google作为搜索引擎。先前的研究已表明,Google在发现博客、论坛和媒体帖子中各种形式的灰色文献方面尤为有效[4, 5, 65]。我们还采用了反向滚雪球法(追踪纳入来源中的链接和参考文献)来寻找更多相关来源(见3.2.5节)。下文将讨论搜索串的开发、数据提取及分析步骤。图1概述了GL过程的完整步骤。
图1:灰色文献流程
3.2 搜索串
我们采用迭代、多阶段流程来开发有效的搜索串。目标是在召回率和实际相关性两方面都达到最大化。下面解释搜索串的开发步骤:
3.2.1 阶段1:问题框架与概念定义
Vibe coding 指的是软件开发者及其他用户(如新手/非软件开发者)依赖AI代码生成工具,基于直觉和试错进行编程的情况,通常缺乏对代码的深入理解,也未进行严谨的审查和测试。这使其有别于更结构化或由专家指导的AI辅助编程。因此,我们的搜索需要关注行为指标和从业者的措辞,而不仅仅是技术描述。
3.2.2 阶段2:初始候选术语
我们从早期文章中常见的、基于领域知识的候选术语开始,包括以下术语:
(“AI辅助编程” OR “AI代码生成” OR “基于提示的编程” OR “LLM辅助开发”)+ 工具名称(例如“ChatGPT”或“Copilot”)+ 角色(例如“开发者” OR “学生” OR “非程序员”)
然而,这种术语组合效果有限。搜索结果大多是不相关的资料(例如更偏技术性的AI文章、推广内容或概念性内容),未能命中我们GLR的主要目标。我们对这一阶段的前100个结果(一个可管理的灰色文献相关样本[5, 9])按照纳入和排除标准(见3.3节)进行了筛选,但由于它们不包含vibe coding行为的一手证据,因此被排除(筛选100个,8%相关)。尽管如此,这一阶段仍然……
Conference’17,2017年7月,美国华盛顿特区
帮助我们优化了搜索策略,明确了哪些术语过于宽泛或偏离从业者视角。
3.2.3 第三阶段:转向从业者语言
随后,我们将重点转向从业者在日常使用中如何描述AI编程工具。我们注意到以下几个术语使用频繁,包括:“coding with AI”、“AI writes code”、“prompting for code”、“using AI to code”、“programming with an AI assistant”。我们还直接纳入了“vibe coding”这一术语,因为自2025年提出后[26],它已被广泛采用。在此阶段,我们筛选了100个来源,其中约50%被认为相关。
3.2.4 第四阶段:迭代扩展与饱和
作为迭代设计与测试过程的一部分,我们扩展了候选字符串,以捕获语义上相近的行为。我们添加了诸如“LLM-assisted coding”、“AI programming tool”和“AI pair programmer”等术语。在筛选100个结果时,基于它们在试点检索和已知灰色文献来源(参见3.2.6节准黄金标准)中的出现情况,这些术语返回的相关命中结果相对较少(约12%)。每个术语都通过Google搜索进行了召回率和特异性测试,只有增加检索文档相关性的术语才被保留。
3.2.5 第五阶段:最终搜索字符串
最终版本的搜索字符串检索了准黄金标准集中的所有条目,并产生了高召回率,同时没有引入过多不必要的信息。我们首先筛选了最终搜索字符串的前100个结果,然后继续筛选直至达到主题饱和(额外筛选不再涌现大量新相关来源)。对最终搜索字符串检索到的前100个结果,按照Wohlin等人[77]的指南进行了反向引用链(滚雪球法)。这包括追踪博客和论坛中的超链接、具名引用或被引用资源(例如[73, 74]、[41, 42])。最终共获得154个来源。
搜索字符串:
“vibe coding” OR “coding with AI” OR “AI writes code” OR “AI code assistant” OR “LLM-assisted coding” OR “AI programming tool” OR “prompting for code” OR “using AI to code” OR “AI pair programmer” OR “programming with an AI assistant”
3.2.6 第六阶段:准黄金标准验证与试点检索
为确保最终字符串的有效性,我们采用了准黄金标准评估方法。此外,我们还针对一组经过策划的已知相关灰色文献来源(即我们先前已确认为vibe coding行为明确示例的帖子)测试了每次检索迭代。这些来源是在试点检索阶段确定的,符合所有纳入标准(参见3.3节)且评分较高(参见3.4节)。准黄金标准集包括涉及AI提示、最低程度监督、试错接受或跳过QA实践的第一手记录。具体包括:
- Andrej Karpathy,于2025年初创造了vibe coding这一术语,并通过使用该方法开发了一个餐厅菜单应用程序进行了演示[27],其中包含了关于过程和部署的清晰经验反思;
- Simon Willison,强调并非所有AI辅助编程都是vibe coding[74],并描述了他自己的原型设计工作流程以及使用LLM进行vibe coding的个人经验[73];
- Maxime Najim,一位经验丰富的软件工程师,他的反思帖子记录了在实践中故意且冒险地使用vibe coding[38];
- Tyler Shields,一位早期实践者,描述了vibe coding是完全依赖LLM而不进行验证的做法[57]。
这一验证过程增加了我们对最终搜索字符串能够捕获回答研究问题所需全部行为证据的信心,并且符合Garousi等人[17]的指南。
3.3 纳入与排除标准
我们应用了一套纳入与排除标准。
标题:实践中的氛围编码:动机、挑战与未来展望——灰色文献综述
原文:
我们的纳入标准为:• 英语文献 • 2022年至2025年间发布的文献 • 与研究问题相关 • 可识别的作者或发布实体 • 可公开获取的全文 • 包含氛围编码(vibe coding)的行为证据,包括:直接使用或稍作修改的AI生成代码、提示与反复提示、极少或未进行测试、审查或改进 • 如果有基于氛围编码第一手经验的批判性或负面反思,也予以接受。
我们排除了符合以下任一排除标准的材料:• 重复或镜像内容 • 不相关主题或纯技术焦点 • 推广内容 • 无日期或匿名来源 • 缺乏用户洞察的工具描述(例如 Copilot/ChatGPT 功能摘要)• 非常简短的内容(例如推文或没有评论的标题)• 缺乏可观察的氛围编码行为(如提示、接受、跳过QA)支持的抽象推测或一般性意见 • 没有涉及氛围编码的第一手行为,例如:– 没有提示或AI代码生成 – 没有代码接受或编辑 – 有经验的开发者在没有跳过QA的情况下进行批判性监督。
3.4 质量评估
质量评估主要由第一作者完成,每个文献在五个质量维度上得分从0到3,遵循Garousi等人的灰色文献指南[17],最高得分为15分。这五个质量标准(权威性、证据、客观性、时效性和目的)改编自Garousi等人[17]的灰色文献质量评估框架,该框架已在软件工程灰色文献综述中广泛采用[24, 59]。为提高可靠性,部分文献由另一位合著者进行交叉验证。得分≥10分的文献保留用于进一步分析。完整的评分说明,包括每篇文章质量得分的理由和结果,已包含在我们的数据集[13]中。
评分标准:
实践中的Vibe编码:动机、挑战与未来展望——灰色文献综述
Vibe Coding 实践:动机、挑战与未来展望——灰色文献综述
Conference’17, 2017年7月, 华盛顿特区, 美国
- 权威性: 作者身份与可信度(例如,知名开发者、信誉良好的组织)
- 证据: 使用案例、理由或实证支持
- 客观性: 中立且平衡地呈现观点
- 时效性: 发表于2022年至2025年间
- 目的: 意在提供信息、反映或解释(非宣传或营销)
3.5 数据筛选
我们的检索字符串共计获取了154条灰色文献(例如博客文章、在线文章和技术报告),其中101篇符合我们的纳入标准和质量阈值。其余53篇均被排除。在排除的文献中,40篇因未达到最低质量阈值(QA得分≥10/15)而被剔除,13篇基于纳入与排除标准(见第3.3节)被排除。例如,[71](维基百科条目)、[43](Replit促销性博文)和[60](《The Register》的讽刺新闻评论)因未达到我们关于行为细节/来源的质量阈值而被排除。相比之下,[23](《The Conversation》的解释性文章)、[2](Cloudflare供应商学习页面)和[3](Google Cloud概念概览)同样因不符合我们的纳入/排除标准,且缺乏第一手行为证据(无提示、代码接受或QA证据)而被排除。
3.6 行为单元提取
为了从原始文章过渡到可分析数据,我们系统地从101篇纳入文献中提取了518个行为单元。行为单元是一个单一编码实例,用于捕捉与研究问题(RQ)相关的内容,可能是从业者描述自己的vibe coding体验,也可能是作者/记者记录或评论vibe coding实践。提取工作以引文级别而非文章级别进行,对每个行为实例(动机、体验、代码质量感知或QA实践)单独编码。这确保了同一篇文章中多个不同行为(例如,节省时间的动机与随后跳过QA的描述)在我们的数据集中各自作为一个独立单元呈现。
每个行为单元都经过提取、分类并记录在一个外部电子表格中,包含以下字段:
- 逐字引用: 来源中的原始措辞。
- 归属: 行为表达者(作者或被引用的用户)。
- RQ映射: 该单元描述的是动机(RQ1)、体验(RQ2)、代码质量感知(RQ3)还是QA实践(RQ4)。
- 解读: 对该行为所揭示内容的简短分析总结。
- 元数据: 用户类型、提及的工具、vibe coding定义(如有)、备注。
行为单元提取主要由第一作者完成。为提升可靠性,部分单元由另一位合著者进行了交叉验证。这一过程产出了140个动机单元(RQ1)、132个体验单元(RQ2)、114个代码质量感知单元(RQ3)以及132个QA实践单元(RQ4)。这些单元构成了后续主题分析(第3.7节)的原始语料库。
3.7 数据分析
我们采用主题分析法,遵循Braun & Clarke [8]推荐的程序,对提取出的灰色文献数据行为单元进行分析。行为洞察根据我们的研究问题,按照与vibe coding相关的动机、体验、代码质量感知及质量保证实践中的模式进行组织和编码。数据分析步骤(包括主题开发)主要由第一作者完成。为提升可靠性,与其他合著者进行了评审和讨论。我们按照以下步骤开发主题:
- 熟悉数据: 我们多次通读所有提取出的518个行为单元,以理解其中模式。例如,“我就是相信它能工作。”[51]和“他们以一种非常信任的方式接受输出。”[22]暗示了一种常见模式——对AI生成代码不加批判地信任,且不做任何检查。
- 生成初始代码: 随后,我们为每个行为单元标注潜在主题。例如,对于“把它们复制粘贴进去……通常就能解决。”我们将其标注为“重新提示而非调试”。对于“Alex Finn使用AI工具仅用87分钟就创建了一款《使命召唤》风格的射击游戏。”[49],我们设定了潜在主题“速度”。这些初始代码总结了行为,但尚未进行分组。
- 搜索主题: 我们将相似的初始代码(潜在主题)归入更大的候选主题。这意味着我们开始将反映相同想法或模式的行为进行聚类。例如,“不加批判的信任”[68]、“虚假信心”[19]和“不批判的安全信任”[18]等潜在主题被归入最终主题“不加批判的信任”。
- 审查主题: 我们检查了潜在主题在整个数据集中的一致性。有时我们会拆分、重命名或重新分配行为,使之更契合主题。例如,一些最初被编码为“跳过QA”的引文实际上在行为表现上有所不同。
实践中的氛围编程:动机、挑战与未来展望——灰色文献综述
例如,“企业往往不加批判地信任AI生成的代码,导致漏洞和技术债务”[49]被重新归入最终主题“盲目信任”,因为他们选择信任却不理解。
• 定义并命名最终主题:对于每个确定的主题,我们撰写了清晰的描述,解释该主题代表什么以及它与其他主题的不同之处。所有主题定义的合并概览见表1。
• 生成报告:最后,我们准备结果以供展示。每个最终主题在第4节中报告,包括:其定义、频率统计和说明性解释。
表1总结了用于编码RQ1(动机)、RQ2(经验)、RQ3(对AI生成代码质量的看法)和RQ4(质量保证实践)行为单元的最终主题定义。图2展示了我们构建的所有氛围编程行为主题及其对应频率。
实践中的Vibe Coding:动机、挑战与未来展望——一项灰色文献综述
实践中的氛围编码:动机、挑战与未来展望——灰色文献综述
会议'17,2017年7月,美国华盛顿特区
表1:识别出的氛围编码主题描述
| 主题 | 描述 |
|---|---|
| 氛围编码的动机(研究问题1) | |
| 速度与效率 | 能够更快地生成可运行软件,将开发周期从数周缩短至数小时 |
| 可及性与赋能 | 使非软件开发人员能够通过自然语言描述目标来创建应用程序 |
| 学习与实验 | 将大语言模型(LLM)编码模型用作导师或沙盒,探索新的编码工具、概念和框架 |
| 创意探索 | 借助人工智能支持,将想象或艺术创意转化为功能性项目 |
| 快速原型设计 | 快速构建最小可行产品(MVP)或演示,以测试可行性、概念或市场兴趣 |
| 减轻脑力负担 | 将语法和样板代码卸载给人工智能,减轻开发者的认知负荷 |
| 避免挫败感 | 绕过编程痛点(如重复调试、环境设置问题等) |
| 逃避复杂度 | 通过将细节委托给人工智能来避免困难的设计或架构工作 |
| 好奇或娱乐 | 为乐趣、实验或开放式探索而随意使用人工智能 |
| 氛围编码的体验(研究问题2) | |
| 即时成功与心流 | 体验快速、无缝的进展,产生动力并带来满足感 |
| 提示词挣扎与迭代 | 通过反复试错优化提示词,直到获得可用结果 |
| 代码崩溃或放弃 | 当人工智能输出变得过于错误或复杂时放弃项目 |
| 乐趣与创意满足 | 享受快速软件开发的兴奋感,尽管新奇感可能消退 |
| 人工智能幻觉 | 面对看似合理但在执行中失败或引入漏洞的错误、不准确或误导性的代码建议 |
| 困惑或误解 | 不匹配的提示词和输出导致挫败感和信任丧失 |
| 代码质量感知(研究问题3) | |
| 快但有缺陷 | 适用于快速任务,但不适合生产部署 |
| 脆弱或易出错 | 包含隐藏的漏洞、不一致性或潜在安全风险 |
| 马虎或低可维护性 | 功能可用但结构差、无文档、难以扩展 |
| 仅适合原型 | 足以用于演示和概念验证,但不适合长期系统 |
| 高质量且整洁 | 实际结构良好,接近生产质量 |
| 误导性信心 | 看似可靠但隐藏更深层次缺陷,造成虚假信任 |
| 质量保证实践(研究问题4) | |
| 跳过质量保证 | 绕过结构化测试或审查,仅依赖执行成功 |
| 手动测试或编辑 | 在采用人工智能输出之前进行系统性检查(手工代码审查)和编辑 |
| 盲目信任 | 假设代码有效,不经验证或确认就接受人工智能生成的代码 |
| 将质量保证委托给人工智能 | 依赖人工智能代码生成工具来检测和纠正自身错误 |
| 重新提示而非调试 | 将错误反馈给人工智能代码生成工具,而非手动修复 |
| 运行即验证 | 运行代码检查是否有效,将成功等同于正确 |
| 质量保证崩溃或困惑 | 由于复杂性或缺乏清晰度而无法验证输出 |
4 结果
从这101个来源中,我们识别出518个行为单元,并将其编码到之前定义的主题中(见表1和图2),包括动机(140个单元,研究问题1)、体验(132个单元,研究问题2)、对代码质量的感知(114个单元,研究问题3)以及质量保证实践(132个单元,研究问题4)。
针对每个研究问题,我们识别出几个不同的主题,其定义总结在表1中。由于篇幅限制,我们仅详细描述占该研究问题行为单元至少10%的主题。较少出现的主题仍包含在表1和分布表(表2–5)中。
4.1 氛围编码的动机(研究问题1)
共有140个与动机相关的行为单元,通过主题分析我们识别出九个不同的主题。这些动机主题的总结见表2。动机主题的分布(包括频率和百分比)见表2。
速度与效率:我们发现氛围编码最常见的动机主题(62%)是速度与效率,氛围编码者强调快速开发。实践者一致描述人工智能代码生成工具如何使他们能够用显著更短的时间生成可运行软件,通常只需数小时而非数周(例如,[36, 74])。例如,一个来源报告称,他们使用氛围编码实践在不到15天内构建了超过14万行代码(LOC)及测试和文档[50]。这种加速不仅受到初学者的重视,也受到经验丰富的开发者甚至组织的重视[40]。在这些群体中,速度不仅仅意味着编码更快;它转化为了切实的生产力成果。
表2:氛围编码动机分布(n=140)
| 主题 | 频率 | 百分比 |
|---|---|---|
| 速度与效率 | 87 | 62% |
| 可及性与赋能 | 20 | 14% |
| 学习与实验 | 15 | 11% |
| 创意探索 | 8 | 6% |
| 快速原型设计 | 4 | 3% |
| 减轻脑力负担 | — | — |
| 避免挫败感 | — | — |
| 逃避复杂度 | — | — |
| 好奇或娱乐 | — | — |
(注:原文表2中后四个主题未列出具体数值,按原文保留空白。)
例如,有来源预计,该公司将把手动测试时间减少25%,项目实现完整测试覆盖的速度加快20%,并在开发周期早期修复明显更多的错误[64]。
Conference’17, 2017年7月, 美国华盛顿特区
图2: 从收集的资料中识别出的主题
可访问性与赋能: 另一个重要的动机主题(14%)是可访问性与赋能,即氛围编程(vibe coding)降低了软件开发的门槛。非软件开发者描述说,只需用自然语言向AI代码生成工具表达想法,就能将创意转化为功能完整的应用(例如[36, 72])。这种民主化代表了一个重大转变:原来需要技术专家团队完成的任务,现在可以由没有编程培训经历的个人独自完成。这一现象不仅出现在个人项目中,也出现在组织环境中,部分分析师和政策工作人员报告称,他们无需依赖IT部门即可构建自动化工具或面向公众的表单(例如[1, 32])。总体而言,这一主题突显了氛围编程不仅关乎速度,更在于将软件创造的机会扩展到全新用户群体。
学习与实验: 另一个动机主题(11%)是学习与实验,即氛围编程既充当手把手教学的导师,又充当尝试想法的沙盒。实践者描述了如何通过尝试不同的提示(prompt)和输出结果,快速建立起关于什么可行、什么不可行的直觉[73]。氛围编程还使用户无需正式培训就能探索新的编程语言和框架,新手和转行人士报告称,它加速了他们的学习过程并增强了完成编程任务的信心[10, 27]。即使是经验丰富的开发者,也反映自己借助AI代码生成工具更高效地熟悉了不熟悉的领域或框架,将氛围编程定位为一种通过实践来学习的补充方式[7, 73]。
4.2 氛围编程过程中的体验(研究问题2)
我们共获得132个与体验相关的行为单元,并通过主题分析识别出六个不同的主题。这些主题的总结见表3。体验主题的分布(包括频次和百分比)也展示在表3中。
即时成功与心流: 最常见的体验主题(64%)是即时成功与心流,即氛围编程者将这一过程描述为快速、简单,且常常是“神奇的”。实践者们报告说,只需与AI代码生成工具进行简单对话,就能在几分钟内构建出可运行的应用[29, 54, 55]。这种即时性带来了一种令人上瘾的推进感,有人将其描述为当原型、质量检查(QA)和部署快速到位时的“多巴胺冲击”[67]。从开发者几小时内完成完整应用的案例[52],到非软件开发者对创建功能性应用的惊叹……
标题:实践中的Vibe Coding:动机、挑战与未来展望——灰色文献综述
Conference’17, July 2017, Washington, DC, USA
表3: Vibe Coding过程中的体验分布 (n=132)
| 体验类型 | 频次 | 百分比 |
|---|---|---|
| 即时成功与心流 | 85 | 64% |
| 提示词挣扎与迭代 | 17 | 13% |
| 代码崩溃或放弃 | 14 | 11% |
| 乐趣与创意满足感 | 11 | 8% |
| AI幻觉 | 3 | 2% |
| 困惑或误解 | 2 | 2% |
工具,甚至包括文化翻译项目,而无需事先具备编程专业知识 [78]。
提示词挣扎与迭代:并非所有体验都是积极的。一种常见的体验(13%)是提示词挣扎与迭代,即Vibe Coder需要反复调整指令才能获得满意结果。实践者描述自己经历了提示词调整和代码优化的循环,有些项目需要几十次甚至数百次迭代才能产出可用的结果 [21, 42]。这一过程凸显了提示工程(prompt engineering)技能的出现——用户学会了如何编写、调整甚至收集有效的提示词作为可复用模式,以改进他们的结果。
代码崩溃或放弃:另一种体验主题(11%)是代码崩溃或放弃,即Vibe Coding会话以失败告终。当AI生成的代码输出过于复杂、漏洞过多或前后矛盾而无法修复时,一些实践者报告直接放弃整个项目,而不是尝试调试代码 [72]。这些崩溃通常发生在任务复杂度超出AI生成可靠解决方案的能力时,导致沮丧情绪和项目放弃 [78]。
4.3 对生成代码质量的感知 (RQ3)
我们共收集到114个与代码质量感知相关的行为单元,通过主题分析识别出六个不同的主题。这些代码质量感知主题的分布情况(包括频次和百分比)见表4。
表4: 感知到的代码质量分布 (n=114)
| 感知主题 | 频次 | 百分比 |
|---|---|---|
| 快速但有缺陷 | 78 | 68% |
| 脆弱或易出错 | 22 | 19% |
| 潦草或可维护性低 | 5 | 4% |
| 仅适用于原型 | 5 | 4% |
| 高质量且整洁 | 3 | 3% |
| 误导性自信 | 2 | 2% |
快速但有缺陷:我们发现对AI生成代码质量最常见的感知主题是“快速但有缺陷”(68%),实践者承认速度与长期质量之间存在明显的权衡。Vibe Coder指出,虽然AI代码生成工具能快速生成大部分解决方案,但使代码达到生产就绪状态所需的关键工作往往成为挑战 [55]。他们接受这些缺陷是快速开发的必然代价,只要代码能运行就保留它,但认识到这会随着时间的推移产生技术债务 [54]。
脆弱或易出错:另一种常见感知(19%)是AI生成的代码脆弱或易出错,引发对隐藏问题的担忧。实践者警告说,这类代码常常被排除在审查或安全检查之外,导致存在未被检测到的漏洞风险 [21]。其他人强调,虽然输出看起来清晰且功能正常,但可能隐藏着细微的逻辑错误、性能瓶颈或严重的安全缺陷,这些问题只有在后续才会显现 [62]。
4.4 Vibe Coding中的质量保障实践 (RQ4)
我们共收集到132个与质量保障实践相关的行为单元,通过主题分析识别出七个不同的主题。这些质量保障实践主题的分布情况(包括频次和百分比)见表5。
表5: Vibe Coding中质量保障实践的分布 (n=132)
| 实践主题 | 频次 | 百分比 |
|---|---|---|
| 跳过QA | 48 | 36% |
| 手动测试或编辑 | 38 | 29% |
| 不加批判的信任 | 24 | 18% |
| 将QA委托给AI | 13 | 10% |
| 重新提示而非调试 | 6 | 5% |
| 运行即验证 | 2 | 2% |
| QA崩溃或困惑 | 1 | 1% |
跳过QA:最常见的QA实践(36%)是跳过QA,即Vibe Coder直接接受AI生成的代码而不进行验证。实践者报告完全绕过传统测试,例如不编写单元测试或集成测试,不进行结构化审查,也不系统地验证正确性,仅通过运行代码来检查是否报错作为质量的替代指标 [21]。即使是经验丰富的开发者,也描述过将错误信息粘贴回AI代码生成工具,让它生成修复方案,而不是自己调试或测试代码 [36]。
手动测试或编辑:第二常见的QA实践(29%)是手动测试或编辑,即实践者对AI生成的代码进行仔细的质量控制。一些人强调直接将生成代码推送到生产环境的风险,警告说没有审查可能会引入bug、安全问题或性能问题 [40]。经验丰富的开发者描述建立了更严格的审查协议,将每个生成的变更视为需要理解和验证的东西,通常辅以测试和自动化检查 [38]。
不加批判的信任:另一种QA实践(18%)是不加批判的信任,即Vibe Coder相信代码能工作,即使没有检查过。
Vibe Coding 实践:动机、挑战与未来展望——灰色文献综述
正如某资料指出的,人类往往对生成的代码赋予超出合理范围的信任,不会像对待同行开发者编写的代码那样仔细审查[68]。这种信任也延伸至
实践中的Vibe Coding(氛围编码):动机、挑战与未来展望——一项灰色文献综述
标题:Vibe Coding 实践:动机、挑战与未来展望——灰色文献综述
Conference’17, July 2017, Washington, DC, USA
图 3: Vibe Coding 中的速度与 QA 权衡
复杂系统方面,有报告指出人们不再逐行检查输出,而是以高度信任的方式直接接受回复 [52]。
将 QA 委托给 AI: 另一种 QA 实践(占10%)是将质量检查重新委托给 AI 本身。正如某来源所述,用户过度依赖于同一批引入错误的 LLM(大语言模型),而这些 LLM 又被用来修复错误,从而造成虚假的安全感 [63]。
5 讨论
5.1 关键发现
速度-质量权衡悖论: 我们的结果凸显了一个悖论:Vibe Coder 明知 AI 生成的代码有缺陷,却为了快速进展而甘愿接受。开发速度激励着所有群体,但这种权衡根据背景和经验的不同而表现各异。非软件开发者及新手软件开发者往往承认自己能快速构建应用,同时坦言“这不算真正的编程” [36],这既反映了兴奋感,也体现了对潜在局限的认知。经验丰富的软件开发者同样看重速度,但会谨慎平衡:29% 的人表示他们通常会对生成的代码进行一些手动调整或添加测试,展现出风险意识行为。开发者有时会对生成的代码进行大量修改,直至不再认为它是 AI 生成的 [28]。这种分化表明,虽然 Vibe Coder 愿意为了速度容忍不完美的代码,但只有经验丰富的用户才具备在出现问题时有能力修复。这一观察结果也反映在 Stack Overflow 2025 年开发者调查中:AI 代码生成工具的使用率很高(84% 的人已使用或计划使用),但对 AI 生成代码的信任度却很低(约 46% 表示不信任)[61]。这意味着 Vibe Coder 分裂为两个群体:赋能的新手(可能仍会依赖 AI 代码生成工具)和整合了选择性 QA 实践的专业人士。
给从业者的建议: 使用 Vibe Coding 快速探索和构建原型,但切勿在没有添加护栏(测试、代码审查、可追溯的决策记录——说明为何接受 AI 变更、通过了哪些检查、接受的风险,以及简短的提示/响应 ID 日志)的情况下推广到生产环境。
AI 辅助开发中的 QA 危机: Vibe Coding 最令人担忧的问题在于传统 QA 实践的系统性崩溃。大多数 QA 实践反映出对代码验证的背离:从业者通常跳过测试,对输出不加批判地信任,或将责任推回给 AI 代码生成工具。这些 QA 问题可能源于多个因素:技术障碍,例如 AI 生成的代码难以调试,因为它可能缺乏架构结构 [21],以及软件开发者通常依赖的上下文细节(如注释、假设或代码与更大系统集成的方式)。困惑:Vibe Coder 在尝试理解 AI 生成的代码时感到困惑。虚假信心:“即时的成功”体验产生了正确性的错觉。如果当前的做法持续下去,Vibe Coding 构建的应用可能看似正常,却隐藏着严重缺陷。从业者已警告这一风险,19% 的人承认他们的代码“脆弱或容易出错”。这一点很重要,因为一旦团队习惯于在没有适当 QA 的情况下发布脆弱或容易出错的代码,整个组织的质量标准就会降低。久而久之,就会形成一种将未经测试的代码视为可接受的文化,从而增加代价高昂的故障、宕机和安全漏洞的风险。
给 AI 代码生成工具设计者的建议: AI 代码生成工具应融入轻量级的验证流程,并持续提醒用户注意所生成代码的 QA 方面(尤其是没有正式软件开发经验的用户)。包含代码(静态和动态)分析检查,以验证生成的代码并提醒开发者潜在风险,这对编码者来说是一个有用的工具。这可以作为生成代码的实时指标(例如性能、安全问题、缺失的测试)提供。工具应通过包含逐步代码解释(“走查”)、可视化图表或内联解释等功能来解决“盲目信任”问题,阐明工具正在做什么以及为什么这样做。
新型脆弱开发者群体: 我们研究结果中最显著的影响之一,是出现了一类新型的脆弱开发者。约 14% 的 Vibe Coder 受可及性与赋能驱动——非软件开发者描述了 AI 代码生成工具如何让他们无需事先掌握编码技能就能创建应用 [78]。然而,这种民主化往往使他们在遇到问题时措手不及。多个来源说明了非软件开发者在面临无法诊断或解决的 bug 或技术错误时,如何迅速陷入死胡同 [44, 76]。
实践中的Vibe Coding:动机、挑战与未来展望——一项灰色文献综述
其他人则强调,对AI代码生成工具的建议不加批判地信任,可能导致复制粘贴式的开发实践,即在完全不了解影响的情况下应用修复[44]。实际上,这种过度依赖会引入严重风险:从业者已记录下通过vibe coding构建的不安全系统案例,包括缺乏身份验证、授权或包含硬编码密钥的应用程序[35]。除了个人项目,此类做法还助长了“影子IT”的兴起——正式开发团队之外的员工在没有监督或治理的情况下构建软件[69]。正如一些专家所警告的,危险并非在于AI生成的代码彻底失败,而在于它看似正常运行却埋藏着细微漏洞和技术债务[19]。综合这些论述表明,尽管vibe coding降低了入门门槛,
您好,您提供的原文内容似乎是空的。请粘贴第22/32部分的具体英文文本,我将为您翻译成地道的中文,并遵循所有格式要求。
对组织与实践者的建议:将任务与技能匹配,并提供脚手架(引导式调试、安全模板和升级路径),使新手学会诊断问题,而不是将所有质量保障外包给AI。这一点对于避免新手开发者陷阱尤为重要——当失败发生时,新手可能陷入“重新提示-粘贴”循环,在无法恢复意图(他们的目标)与实现(AI生成代码实际执行的内容)之间的一致时,他们会接受脆弱的行为。
5.2 未来工作与开放研究问题
需要进一步研究vibe编码者的实践如何随经验从非软件开发者向新手再到专业人士转变,以便AI代码生成工具能够根据用户专长调整反馈、解释和安全措施。还需要更多实证证据来了解这些新实践是否会导致与传统AI辅助(由经验丰富的开发者使用)和人工编码相比,出现新的缺陷和漏洞模式 [11, 33],从而为下一代AI代码生成工具中的自动化质量信号和保障特性提供信息。此外,尚不清楚在vibe编码条件下,哪些代码审查实践(例如,运行并查看检查、自动化测试、AI辅助审查)实际有效。该领域的研究可为设计实用、内置的质量保障工作流提供依据,使其与快速原型开发保持同步。理解代码审查和质量保障策略应如何针对非软件开发者、新手和专业人士而不同,能够使工具在提升生成代码质量的同时,为新手提供护栏,并支持专家的高级工作流。未来研究应探索如何将vibe编码实践融入非软件开发者的培训,使教育干预措施与工具设计互补,并提升基线质量保障能力。
6 效度威胁
内部效度:为解决GLR中可能的搜索偏差,我们首先设计了全面的搜索策略。我们采用了详细的搜索策略,并通过迭代预搜索来优化搜索词(见第3.2节)。这种方法扩大了覆盖范围并减少了搜索字符串偏差,但由于灰色文献的分散性和不断演变的特点,我们不能声称已捕获所有相关来源。我们还定义了纳入和排除标准(见第3.3节),并在数据过滤过程中一致应用,以最小化选择偏差。
为最小化质量偏差,我们应用了Garousi等人的五维质量检查表 [17](见第3.4节),排除了得分低于10/15的来源。这降低了轶事或促销内容不成比例影响发现的可能性,但仍存在一定的质量偏差风险。
关于数据提取偏差,为避免强调某些引文或主题,我们使用了标准化提取模板,并应用了Braun和Clarke [8] 的结构化主题分析步骤(见第3.7节)。编码主要由第一作者进行,并通过其他作者之间的讨论和达成共识来完成。预提取和迭代改进有助于校准对发现的解释。然而,主题编码不可避免地包含主观判断,因此我们的发现应理解为从数据中提取的模式,而非精确的测量。
外部效度:我们的研究基于101份灰色文献来源,这些来源反映了选择在网上分享故事的一线实践者的经验。这引入了自选择偏差——所代表的人群可能无法反映所有vibe编码者。我们通过确保高质量来源类型(博客、论坛和媒体文章)以及来自不同行业的用户角色(新手和经验丰富的用户)的多样性来缓解这一问题。然而,这些发现不能被视为对所有vibe编码者的普遍适用。相反,它们应被解释为报告经验中常见模式的指示,而非代表整个vibe编码者群体。
建构效度:为建立GLR一致的数据提取基础,我们使用标准数据提取模板以确保统一性。经过多次预测试后,我们完善了数据提取方法。对提取的数据过程进行了与其他合著者的审查和讨论,通过共识解决分歧。行为单元提取主要由第一作者进行。为增加可靠性,另一合著者对一子集单元进行了交叉验证,从而最小化不准确结论的可能性。这减少了但并未消除主观偏见和不准确结论的风险。
7 结论
本研究首次对用户如何实际参与vibe编码进行了实证调查,尤其是在正式开发环境之外。
标题:实践中的Vibe Coding:动机、挑战与未来展望——一项灰色文献综述
通过对101篇灰色文献来源进行系统分析,获取了518个第一手行为单元,我们揭示了用户为何参与vibe coding、他们在过程中体验如何、如何看待AI生成代码的质量,以及他们采用哪些实践来审查或测试代码。我们的发现揭示了vibe coding中速度与质量的权衡;vibe coding者(尤其是没有软件开发经验的人)能够快速创建可用的应用程序,但这往往以牺牲验证和可维护性为代价。将质量保障任务委托给AI、不加批判的信任以及跳过测试等普遍做法,突显了vibe coding输出结果的脆弱性。此外,易受攻击的开发者(能够构建但无法调试)的出现,凸显了在未对质量实践进行相应投入的情况下,将软件创建民主化所带来的风险。对于工具设计者而言,我们的结果表明,加入质量保障反馈、可视化代码质量指标并提供内联解释,有助于缓解不加批判的信任所带来的影响。对于采用AI辅助开发的团队,建议在生产系统中谨慎使用vibe coding,并遵守要求审查流程的组织护栏,同时保持调试技能。
AI代码生成工具的支持将在未来的软件开发中扮演更重要的角色。我们如何应对本研究中发现的行为模式,将决定未来软件质量是提升还是下降。AI代码生成工具已经存在;挑战在于如何明智地使用它们。
数据可用性声明
我们在[13]中提供了我们的数据和详细分析。
您提供的原文似乎缺失了实际内容(仅有大量空行)。请粘贴第25/32部分的英文原文,以便我准确翻译。
参考文献
[1] FedTec 2025. Vibe Coding: Accelerating Service Delivery in the Government. FedTec. https://fedtec.com/insights/vibe-coding-accelerating-service-delivery-in-the-government/ [Accessed on 08/07/2025].
[2] Cloudflare 2025. What is vibe coding? Cloudflare. https://www.cloudflare.com/en-gb/learning/ai/ai-vibe-coding/ [Accessed on 07/07/2025].
[3] Google Cloud 2025. What is vibe coding? Google Cloud. https://cloud.google.com/discover/what-is-vibe-coding [Accessed on 07/07/2025].
[4] Jean Adams, Frances C. Hillier-Brown, Helen J. Moore, Amelia A. Lake, Vera Araujo-Soares, Martin White, and Carolyn Summerbell. 2016. Searching and synthesising ‘grey literature’ and ‘grey information’ in public health: critical reflections on three case studies. Systematic Reviews 5, 1 (2016), 164. https://doi.org/10.1186/s13643-016-0337-y
[5] Richard J. Adams, Paul Smart, and Anne S. Huff. 2016. Searching for grey literature for systematic reviews: challenges and benefits. Research Synthesis Methods 7, 3 (2016), 263–281. https://doi.org/10.1002/jrsm.1106
[6] Shraddha Barke, Michael B James, and Nadia Polikarpova. 2023. Grounded copilot: How programmers interact with code-generating models. Proceedings of the ACM on Programming Languages 7, OOPSLA1 (2023), 85–111.
[7] Guillaume Beaulieu-Duchesneau. 2025. Vibe coding or “I let AI write all my code and it was fantastic (until it wasn’t)”. https://ingeno.ca/blog/vibe-coding-or-i-let-ai-write-all-my-code-and-it-was-fantastic-until-it-wasn-t/ [Accessed on 08/07/2025].
[8] Virginia Braun and Victoria Clarke. 2006. Using thematic analysis in psychology. Qualitative Research in Psychology 3, 2 (2006), 77.
[9] Simon Briscoe and Morwenna Rogers. 2024. An alternative screening approach for Google Search identifies an accurate and manageable number of results for a systematic review (case study). Health Information & Libraries Journal 41, 2 (2024), 149–155.
[10] KitFu Coda. 2025. Vibe-Coding, Storytelling, and LLMs: A Collaborative Approach. https://ai.plainenglish.io/vibe-coding-storytelling-and-llms-a-collaborative-approach-db5e9a62c8b1 [Accessed on 07/07/2025].
[11] Domenico Cotroneo, Cristina Improta, and Pietro Liguori. 2025. Human-Written vs. AI-Generated Code: A Large-Scale Study of Defects, Vulnerabilities, and Complexity. arXiv preprint arXiv:2508.21634 (2025).
[12] Benj Edwards. 2025. Will the Future of Software Development Run on Vibes? https://arstechnica.com/ai/2025/03/is-vibe-coding-with-ai-gnarly-or-reckless-maybe-some-of-both/. [Accessed on 01/05/2025].
[13] Ahmed Fawzy, Amjed Tahir, and Kelly Blincoe. 2025. Vibe Coding in Practice: Motivations, Challenges, and a Future Outlook - a Grey Literature Review (Replication package). https://doi.org/10.5281/zenodo.17188020
[14] Molly Q Feldman and Carolyn Jane Anderson. 2024. Non-expert programmers in the generative AI future. In Proceedings of the 3rd Annual Meeting of the Symposium on Human-Computer Interaction for Work. 1–19.
[15] Samuel Ferino, Rashina Hoda, John Grundy, and Christoph Treude. 2025. Junior Software Developers’ Perspectives on Adopting LLMs for Software Engineering: a Systematic Literature Review. arXiv preprint arXiv:2503.07556 (2025).
[16] Yujia Fu, Peng Liang, Amjed Tahir, Zengyang Li, Mojtaba Shahin, Jiaxin Yu, and Jinfu Chen. 2025. Security Weaknesses of Copilot-Generated Code in GitHub Projects: An Empirical Study. ACM Transactions on Software Engineering and Methodology (2025).
[17] Vahid Garousi, Michael Felderer, and Mika V Mäntylä. 2019. Guidelines for including grey literature and conducting multivocal literature reviews in software engineering. Information and software technology 106 (2019), 101–121.
[18] Namanyay Goel. 2025. Karpathy’s ‘Vibe Coding’ Movement Considered Harmful. https://nmn.gl/blog/dangers-vibe-coding [Accessed on 08/07/2025].
[19] Namanyay Goel. 2025. Vibe Coding is a Dangerous Fantasy. https://nmn.gl/blog/vibe-coding-fantasy [Accessed on 08/07/2025].
[20] Philipp Haindl and Gerald Weinberger. 2024. Does ChatGPT help novice programmers write better code? Results from static code analysis. IEEE Access (2024).
[21] Shalini Harkar. 2025. What is Vibe Coding? https://www.ibm.com/think/topics/vibe-coding [Accessed on 02/07/2025].
[22] Nick Hodges. 2025. Vibe coding with Claude Code. https://www.infoworld.com/article/3853805/vibe-coding-with-claude-code.html [Accessed on 07/07/2025].
[23] Chetan Jaiswal. 2025. What is vibe coding? A computer scientist explains what it means to have AI write computer code and what risks that can entail. https://theconversation.com/what-is-vibe-coding-a-computer-scientist-explains-what-it-means-to-have-ai-write-computer-code-and-what-risks-that-can-entail-257172 [Accessed on 02/07/2025].
[24] Fernando Kamei, Igor Wiese, Crescencio Lima, Ivanilton Polato, Vilmar Nepomuceno, Waldemar Ferreira, Márcio Ribeiro, Carolline Pena, Bruno Cartaxo, Gustavo Pinto, and Sérgio Soares. 2021. Grey Literature in Software Engineering: A critical review.
参考文献
[25] Fernando Kenji Kamei. 2019. 使用灰色文献综述作为从业者的证据。ACM SIGSOFT 软件工程笔记 44, 3 (2019), 23–23.
[26] Andrej Karpathy. 2025. 有一种我称之为“氛围编程”的新型编程方式。https://x.com/karpathy/status/1886192184808149383. [访问日期:2025年5月1日].
[27] Andrej Karpathy. 2025. 氛围编程MenuGen。https://x.com/karpathy/status/1917961248031080455 X(前身为Twitter). [访问日期:2025年7月7日].
[28] Syed Mohammad Kashif, Peng Liang, and Amjed Tahir. 2025. 关于开发者自我声明AI生成代码:实践分析。arXiv预印本 arXiv:2504.16485 (2025).
[29] Gene Kim. 2025. 使用Claude Code通过氛围编程/架构重新设计我的Trello管理工具(第2部分)。https://itrevolution.com/articles/rearchitecting-my-trello-management-tool-with-claude-code-using-vibe-coding-architecting-part-2/ [访问日期:2025年7月8日].
[30] Hans-Alexander Kruse, Tim Puhlfurb, and Walid Maalej. 2024. 开发者能提示吗?代码文档生成的受控实验。在2024年IEEE国际软件维护与演化会议(ICSME)中。IEEE计算机学会,574–586.
[31] Mohammad Amin Kuhail, Sujith Samuel Mathew, Ashraf Khalil, Jose Berengueres, and Syed Jawad Hussain Shah. 2024. “我会被取代吗?”评估ChatGPT对软件开发的影响以及程序员对AI工具的感知。计算机编程科学 235 (2024), 103111.
[32] Kelsey Libert. 2025. 使用AI工具进行氛围编程:营销人员指南。https://searchengineland.com/vibe-coding-with-ai-tools-a-marketers-guide-455134 [访问日期:2025年7月8日].
[33] Sherlock A Licorish, Ansh Bajpai, Chetan Arora, Fanyu Wang, and Kla Tantithamthavorn. 2025. 比较人类与LLM生成的代码:结论尚未确定!arXiv预印本 arXiv:2501.16857 (2025).
[34] Vahid Majdinasab, Michael Joshua Bishop, Shawn Rasheed, Arghavan Moradidakhel, Amjed Tahir, and Foutse Khomh. 2024. 评估GitHub Copilot生成代码的安全性——一项定向复制研究。在2024年IEEE国际软件分析、演化与重构会议(SANER)中。IEEE, 435–444.
[35] Rami McCarthy. 2025. 更安全氛围编程的规则文件。https://www.wiz.io/blog/safer-vibe-coding-rules-files [访问日期:2025年7月7日].
[36] Niall McNulty. 2025. 氛围编程:面向非开发者的AI辅助编程。https://medium.com/@niall.mcnulty/vibe-coding-b79a6d3f0caa [访问日期:2025年7月2日].
[37] Ivan Mehta. 2025. YC四分之一的创业公司拥有AI生成的代码库。https://techcrunch.com/2025/03/06/a-quarter-of-startups-in-ycs-current-cohort-have-codebases-that-are-almost-entirely-ai-generated. [访问日期:2025年5月1日].
[38] Maxime Najim. 2025. 氛围编程让我重新找回对编程的热爱。https://leaddev.com/culture/vibe-coding-brought-back-love-programming [访问日期:2025年7月8日].
[39] John Naughton. 2025. 现在你甚至不需要代码就能成为程序员。https://www.theguardian.com/technology/2025/mar/16/ai-software-coding-programmer-expertise-jobs-threat. [访问日期:2025年5月1日].
[40] Gergely Orosz and Elin Nilsson. 2025. 作为软件工程师的氛围编程。https://newsletter.pragmaticengineer.com/p/vibe-coding-as-a-software-engineer [访问日期:2025年7月2日].
[41] Addy Osmani. 2025. 语音到代码:使用语音进行氛围编程。https://addyo.substack.com/p/speech-to-code-vibe-coding-with-voice [访问日期:2025年7月7日].
[42] Addy Osmani. 2025. 氛围编程:革命还是鲁莽放弃?https://addyo.substack.com/p/vibe-coding-revolution-or-reckless [访问日期:2025年7月7日].
[43] Matt Palmer. 2025. 什么是氛围编程?https://blog.replit.com/what-is-vibe-coding [访问日期:2025年7月7日].
[44] Katie Parrott. 2025. 我尝试了AI编码工具。现在我想学习编程。https://every.to/working-overtime/i-tried-ai-coding-tools-now-i-want-to-learn-to-code [访问日期:2025年7月7日].
[45] Hammond Pearce, Baleegh Ahmad, Benjamin Tan, Brendan Dolan-Gavitt, and Ramesh Karri. 2025. 在键盘上睡着了?评估GitHub Copilot代码贡献的安全性。ACM通讯 68, 2 (2025), 96–105.
[46] Sida Peng, Eirini Kalliamvakou, Peter Cihon, and Mert Demirer. 2023. AI对开发者生产力的影响:来自GitHub Copilot的证据。arXiv预印本 arXiv:2302.06590 (2023).
[47] James Prather, Brent N Reeves, Paul Denny, Brett A Becker, Juho Leinonen, Andrew Luxton-Reilly, Garrett Powell, James Finnie-Ansley, and Eddie Antonio Santos. 2023. “它知道我想要什么,这很奇怪”:新手程序员与Copilot的可用性和交互。ACM计算机-人交互交易 31, 1 (2023), 1–31.
[48] James Prather, Brent N Reeves, Juho Leinonen, Stephen MacNeil, Arisoa S Randrianasolo, Brett A Becker, Bailey Kimmel, Jared Wright, and Ben Briggs. 2024.
标题:Vibe Coding 实践:动机、挑战与未来展望——灰色文献综述
原文:
不断扩大的鸿沟:生成式人工智能对新手程序员的益处与危害。《2024 ACM 国际计算教育研究会议论文集》第 1 卷。第 469–486 页。[49] ProfileTree. 2025. Vibe Coding:AI 如何在 2025 年改变软件开发。https://profiletree.com/vibe-coding/ [Accessed on 07/07/2025]。[50] Sujatha R. 2025. 10 个最佳 Vibe Coding 工具:值得尝试的 LLM 驱动代码生成器。https://www.digitalocean.com/resources/articles/vibe-coding-tools [Accessed on 07/07/2025]。
实践中的Vibe Coding:动机、挑战与未来展望——一项灰色文献综述
[51] David Ramel. 2025. 软件开发被AI接管有了个名字:'Vibe Coding'。https://visualstudiomagazine.com/articles/2025/03/20/ais-takeover-of-software-development-gets-a-name-vibe-coding.aspx [Accessed on 07/07/2025].
[52] John Ruwitch. 2025. 任何人都可以用AI聊天机器人进行“Vibe Coding”。这会抢走程序员的饭碗吗?https://www.npr.org/2025/05/30/nx-s1-5413387/vibe-coding-ai-software-development [Accessed on 07/07/2025].
[53] Andreas Scholl 和 Natalie Kiesler. 2024. 新手程序员在入门课程中解决编程练习时如何使用和体验ChatGPT。arXiv preprint arXiv:2407.20792 (2024).
[54] Natassha Selvaraj. 2025. 使用AI构建数据科学项目:Vibe Coding指南。https://www.kdnuggets.com/building-data-science-projects-using-ai-a-vibe-coding-guide [Accessed on 07/07/2025].
[55] Pete Sena. 2025. 破解Vibe Coding的密码。https://uxdesign.cc/cracking-the-code-of-vibe-coding-124b9288e551 [Accessed on 07/07/2025].
[56] Judy Sheard, Paul Denny, Arto Hellas, Juho Leinonen, Lauri Malmi, 和 Simon. 2024. 教师对AI代码生成工具的看法——一项多机构访谈研究。In Proceedings of the 55th ACM Technical Symposium on Computer Science Education V. 1. 1223–1229.
[57] Tyler Shields. 2025. 我的第一次Vibe Coding尝试。https://www.techtarget.com/searchapparchitecture/opinion/My-first-attempt-at-vibe-coding [Accessed on 02/07/2025].
[58] Matthew S. Smith. 2025. 工程师们正在使用AI基于“感觉”编码。https://spectrum.ieee.org/vibe-coding. [Accessed on 01/05/2025].
[59] Jacopo Soldani, Damian Andrew Tamburri, 和 Willem-Jan Van Den Heuvel. 2018. 微服务的利与弊:一项系统性的灰色文献综述。Journal of Systems and Software 146 (2018), 215–232.
[60] Richard Speed. 2025. 忘掉Vibe Coding吧,现在我们都在搞Vine Coding。https://www.theregister.com/2025/06/13/forget_vibe_coding_were_all/ [Accessed on 07/07/2025].
[61] Stack Overflow. 2025. Stack Overflow开发者调查2025。https://survey.stackoverflow.co/2025/. [Accessed on 11/08/2025].
[62] Tanium Staff. 2025. 什么是Vibe Coding?优点、缺点和争议。https://www.tanium.com/blog/what-is-vibe-coding/ [Accessed on 08/07/2025].
[63] Chris Stokel-Walker. 2025. 什么是Vibe Coding,你应该做吗,这重要吗?https://www.newscientist.com/article/2473993-what-is-vibe-coding-should-you-be-doing-it-and-does-it-matter/ [Accessed on 07/07/2025].
[64] Darryl K. Taft. 2024. Amazon Q Developer现在处理你的整个代码管线。https://thenewstack.io/amazon-q-developer-now-handles-your-entire-code-pipeline/ [Accessed on 08/07/2025].
[65] Amjed Tahir, Shawn Rasheed, Jens Dietrich, Negar Hashemi, 和 Lu Zhang. 2023. 测试不稳定的原因、检测、影响及应对:一项多声音综述。Journal of Systems and Software 206 (2023), 111837.
[66] Priyan Vaithilingam, Tianyi Zhang, 和 Elena L Glassman. 2022. 期望与体验:评估大语言模型驱动的代码生成工具的可用性。In Chi conference on human factors in computing systems extended abstracts. 1–7.
[67] Steven Vaughan-Nichols. 2025. 糟糕的“感觉”:AI代理如何编码走向灾难。https://www.zdnet.com/article/bad-vibes-how-an-ai-agent-coded-its-way-to-disaster/ [Accessed on 08/07/2025].
[68] Todd R. Weiss. 2025. Vibe Coding:自动化开发对应用安全意味着什么。https://www.reversinglabs.com/blog/vibe-coding-what-autonomous-code-means-for-appsec [Accessed on 08/07/2025].
[69] Todd R. Weiss. 2025. MSP需要了解的关于Vibe Coding、Agentic AI和IT安全的知识。https://www.channele2e.com/news/what-msps-need-to-know-about-vibe-coding-agentic-ai-and-it-security [Accessed on 08/07/2025].
[70] Justin D Weisz, Shraddha Vijay Kumar, Michael Muller, Karen-Ellen Browne, Arielle Goldberg, Katrin Ellice Heintze, 和 Shagun Bajpai. 2025. 检验AI代码助手在企业中的使用及对开发者生产力和体验的影响。In Proceedings of the Extended Abstracts of the CHI Conference on Human Factors in Computing Systems. 1–13.
[71] Wikipedia contributors. 2025. Vibe编码。https://en.wikipedia.org/wiki/Vibe_coding [Accessed on 02/07/2025].
[72] Rhiannon Williams. 2025. 究竟什么是Vibe Coding?https://www.technologyreview.com/2025/04/16/1115135/what-is-vibe-coding-exactly/ [Accessed on 07/07/2025].
[73] Simon Willison. 2025. 我是这样使用LLM帮助我编写代码的。https://simonwillison.net/2025/Mar/11/using-llms-for-code/ [Accessed on 07/07/2025].
[74] Simon Willison. 2025. 并非所有AI辅助编程都是Vibe Coding(但Vibe Coding很酷)。https://simonwillison.net/2025/Mar/19/vibe-coding/ [Accessed on 02/07/2025].
[75] Simon Willison. 2025. 两家出版商和三位作者未能理解“Vibe Coding”的含义。https://simonwillison.net/2025/May/1/not-vibe-coding/. [Accessed on 04/05/2025].
[76] Mark Wilson. 2025. 用AI进行Vibe Coding。
https://node4.co.uk/blog/vibe-coding-with-ai/ [访问于2025年7月8日].
[77] Claes Wohlin, Per Runeson, Martin Höst, Magnus C Ohlsson, Björn Regnell, Anders Wesslén, et al. 2012. Experimentation in software engineering. Vol. 236. Springer.
[78] Angela Yang. 2025. Noncoders are using AI to prompt their ideas into reality. They call it ‘vibe coding.’. https://www.nbcnews.com/tech/tech-news/noncoders-ai-prompt-ideas-vibe-coding-rcna205661 [访问于2025年7月7日].
[79] Yangtian Zi, Luisa Li, Arjun Guha, Carolyn Anderson, and Molly Q Feldman. 2025. “I Would Have Written My Code Differently’: Beginners Struggle to Understand LLM-Generated Code. In Proceedings of the 33rd ACM International Conference on the Foundations of Software Engineering. 1479–1488.
[80] Rina Zviel-Girshin. 2024. The Good and Bad of AI Tools in Novice Programming Education. Education Sciences 14, 10 (2024), 1089.