AI编程为何能够迅速实现应用?

AI快讯 3hours ago AICAT
0 11
尽管预计在2024年将迎来AI应用的广泛普及,但编程领域却异军突起。AI编程工具正在推动大型模型实际应用,显示出显著的市场适应性。

市场趋势来看,编程领域的AI技术发展迅猛,一些估值提升较快的AI初创公司,如CursorWindsurf和Devin,其主要业务正是构建编程智能体。2024年12月,Cursor的开发商Anysphere宣布成功完成了超过1亿美元的B轮融资,融资后估值达到了26亿美元。此外,源自北京大学软件工程研究所的硅心科技专注于企业私有大模型的部署,也在今年1月完成了B轮融资。

AI编程为何能够迅速实现应用?

图|Cursor融资信息

在实际应用层面,AI编程的普及率已经达到了令人瞩目的高度。谷歌的数据显示,超过25%的新代码是由人工智能生成的。而Github则表示,现阶段其新编写代码中,30%是借助Github Copilot完成的。除了大型科技公司,个人开发者也通过AI工具显著提升了开发效率,编程能力得到了全面增强。仿佛在瞬间,所有程序员都借助AI武装了自己。

与此同时,模型性能也在不断突破。在软件风格基准测试SWE-bench verified中,GPT-o3模型的准确率达到了71.7%,相比于GPT-o1模型提高了超过20%。在CodeForces竞赛中,GPT-o3模型的ELO分数更是达到了2727,远超O1的1891分,显示出强劲的技术进步势头。显然,模型的演化仍在加速进行。

那么,究竟为何编程领域能够率先实现AI的有效落地呢?

AI取得PMF的成功是一个结果,而非原因。其根本原因在于编程领域独特的“可信验证”机制。

要理解这个问题,我们可以从AI编程的发展现状开始探讨。

AI编程为何能够迅速实现应用?

AI编程工具发展历程

AI编程工具的发展呈现出明显的自动化演变轨迹,按自动化程度大致可分为三类:

第一类是以早期的Github Copilot为代表的代码补全工具。这类工具主要提供实时的代码提示和自动补全功能,但并不能主动编写代码,自动化程度相对较低。随着技术的发展,这类工具正朝着更高级的智能编程助手演变,逐步融入更多的自动化特性。

第二类是以Cursor、MarsCode为代表的半自动编程工具,标志着AI编程迈入了更高的发展阶段。这些产品不仅提供代码补全功能,还创新性地引入了“Apply(应用)”机制,使得AI生成的代码可以一键直接整合到目标文件中。用户无需再手动复制和调整代码,尽管自动化程度提升,仍需开发者的参与和判断,体现出“人机协作”的特性。

第三类是以Devin为代表的全自动编程工具。这类工具的自动化程度最高,Devin被称为全球首个AI程序员,能够自主进行调试和部署。具备构建和部署应用、自主调试等能力,支持使用AI进行任务规划并自动部署代码。用户只需发出任务指令,静待结果,仿佛与真实程序员在协作。

AI编程工具的发展历程清晰地展现了一条从辅助到自主的演变路径。第一代代码补全工具专注于提高专业程序员的编码效率,通过智能补全实现段落级开发加速。随后,以Cursor为代表的半自动工具进一步扩展了AI的能力,通过代码直接应用等功能,在保持人工把控的同时显著提升了开发效率。而Devin的出现则开辟了全自动编程的新模式,实现了从需求理解到部署的端到端自主开发。

这一演变过程反映了AI编程范式的重要转变:从“实时交互”到“批量处理”。这不仅减少了用户的参与频率,更在于大幅降低了编程门槛,使得AI编程工具的受众范围显著扩大。

AI编程为何能够迅速实现应用?

代码生成真的更具挑战性?

编程语言的挑战与AI验证机制的优势

“由于代码的关键词较少且规则相对固定,因此生成过程更为简便。”这样的观点常常被提及。初看似乎有其道理,但当我们深入思考时,会发现编程语言的关键字确实比自然语言少,样本空间也远远不如自然语言广阔。

然而,这种“词汇较少即易于生成”的说法实际上是片面的。如果真是如此,数学问题应该是最容易解决的——毕竟,数学符号更为简洁,规则也更加严格。但实际上,大模型在数学方面的表现却并不理想

这种误解源于对“生成”和“应用”两个阶段的混淆。在代码生成阶段,由于编程语言的词汇有限,模型的选择范围受到显著限制。然而,在实际应用中,代码的复杂性远远超出了自然语言的范畴。

在与大模型的互动中,用户对其容忍度相对较高。模型可以出现语法错误、逻辑矛盾,甚至是前后不一致,而我们仍能从中提取出有价值的信息,甚至可能未能察觉其语法问题。但代码生成则是另一个层次的挑战——它类似于数学题,代码要么能够正常运行,要么就无法执行,根本不存在“基本可用”或“大致正确”的情况。每一个符号、缩进和变量名称都必须精准无误。因此,这种对准确性的高要求使得代码的生成任务实际上更加困难。

AI编程为何能够迅速实现应用?

可信验证机制的重要性

AI编程成功的关键在于其具备一种可信的验证机制。这种机制能够迅速确认AI输出的有效性。

那么,什么是可信验证呢?简言之,它是一种能够快速、客观地评估AI输出结果可用性的验证方式,具备三个重要特征:

1. 客观性:验证结果不受人类或AI模型主观判断的影响

2. 即时性:能够迅速得到验证结果;

3. 确定性:验证结果是非黑即白,明确无误的。

这种可信验证机制对AI编程的影响深远,使其达到了“可用且易用”的理想状态。

从应用的角度来看,编程领域内的可信验证机制为AI应用提供了几乎完美的用户体验闭环。

在代码编写后,用户需要依靠编译器将其转换为计算机可执行的程序。相同的编程语言使用统一的编译器,并基于严格的语法规则,这确保了验证的客观性。

编译得到的结果也只有两个状态:要么“能运行”,要么“不能运行”,不存在模糊的情况。这使得用户不必依赖主观判断,可以完全依据客观结果来做出决策。此外,编译过程通常非常迅速,让用户能够及时了解AI生成的代码是否可用。

依靠编译器进行可信验证几乎不需要用户具备专业知识,只需点击“运行”按钮即可。这大大扩大了AI编程工具的受众范围,解释了为何许多不具备编程知识的用户也开始尝试使用AI进行编程。

所谓的“零知识用户”,是指那些对编程一无所知但希望开发应用的人群。这类用户对可信验证的需求尤为迫切,因为他们无法自行应对异常情况。这个概念同样适用于AI的其他应用领域。

在所有AI的应用场景中,编程领域几乎是唯一一个拥有如此理想验证机制的领域,这也解释了为何AI编程工具能够率先实现规模化应用——它为用户提供了一个可靠、高效且低门槛的使用环境。

再从模型的角度来看,为什么大模型在编程领域的进展如此显著?答案可能出乎意料:在目前训练数据普遍稀缺的情况下,编程或许是大模型为数不多能够持续进步的领域,这同样源于可信验证的存在。

AI 编程的挑战与机遇:深入探讨

首先,我们需要关注大模型训练所面临的挑战。尽管行业内经常宣扬自家模型在编程和数学领域的突破,鲜有提及“AI 的对话更接近人类”。其中的原因不言而喻:自然语言训练数据正在遭遇枯竭。在大模型的训练过程中,数据的质量与模型的构架同样重要。一旦数据枯竭,模型能力的提升必然会受到影响。

为应对这一困境,大模型开发者通常采取两种策略:一种是人工生成新数据,通过网络抓取或手动编写;另一种是利用更强大的模型来合成数据。然而,这两种方法各有明显不足:人工生成的成本极高,而合成数据可能引发模型崩溃。大量研究已表明,低质量的合成数据会使模型的输出逐渐偏离人类的表达方式,加剧模型的幻觉问题。

AI编程为何能够迅速实现应用?

图|合成数据可能导致模型崩溃(

行业内主要通过两种方式来评估合成数据的质量:一是利用更强大的模型进行筛选,二是依赖人工进行主观判断。这样的做法不仅成本高昂,还难以大规模推广,且其可靠性也不容保证。一旦引入主观判断,统一标准的制定便变得困难,从而导致数据质量参差不齐。

可信验证机制有效地确保了代码合成数据的最低质量标准。

人类与 AI 所编写的代码,仅以正确性作为客观评判标准。只要代码能够顺利编译和运行,无论是哪个主体生成的代码都可以视为等价。关键在于谁的质量更高。这确保了合成数据具有基本的训练价值,仿佛成千上万的初级程序员在不断地生成数据。

可信验证机制形成了合成数据的良性循环:模型生成代码,验证机制进行筛选,合格的代码再反馈到训练集中。有趣的是,通过这种方式生成的代码,其质量往往高于 GitHub 上的许多代码。这种低成本的质量保障机制,确保了模型在代码生成领域的持续提升。

应用端与模型端的双向价值完美解决了 AI 商业化的两大难题:用户是否愿意使用,以及模型如何持续进步。特别是在企业市场中,可靠性始终是核心痛点。而可信验证机制则提供了一个完整的解决方案:输出结果可控且可验证,结合自动化测试框架和现有的代码审查机制,大大降低了应用风险。此外,对零基础用户的友好性使得 AI 编程迅速突破了传统界限,因此 AI 编程的普及率也就不难理解了。

AI编程为何能够迅速实现应用?

AI 编程所面临的挑战

尽管 AI 编程具备独特的可信验证机制,但仍然存在诸多问题。

首先,AI 生成代码的质量亟待提高。虽然可信验证机制为代码质量提供了基本保障——至少代码是“可用的”。但“可用”并不等于“好用”。当前 AI 生成的代码仍存在多个层面的质量问题,例如代码风格不统一、性能不稳定,以及在处理复杂工程时对依赖关系的管理不足。

大型语言模型在代码生成过程中依然面临幻觉问题及稳定性不足,这可能导致代码风格和命名规范的不一致,甚至出现歧义的命名。尽管可以通过提示词进行一定的约束,但效果有限。表面上看,这种代码风格的问题对程序的运行影响不大,但在后期可能会增加人类阅读的难度,甚至 AI 自身也可能会对其代码产生困惑。严重情况下,可能导致程序开发的停滞。

可信验证机制虽然能够确保程序的基本运行标准,但现实中的软件往往需要根据特定场景进行优化。目前的大型语言模型在场景评估和针对性优化方面仍显不足,尤其在复杂工程中显得尤为明显:对软件进行优化时,架构的权衡和优化决策必须基于实际环境,而 AI 目前尚无法进行这样的分析。

这也解释了为何零基础用户通常只能依赖 AI 完成一些基础的程序开发,例如快速搭建简单的网站或小程序。然而,当需要扩展功能或深入开发时,往往会遇到瓶颈。在用户缺乏对软件结构深入理解的情况下,仅仅依赖 AI 仍无法有效构建和优化复杂的软件架构。虽然 AI 可以迅速实现一个基础框架,但核心功能的开发往往需要大量的重构和优化。

其次,AI 编程的语言支持并不均衡。在较为灵活的编程语言中,容错率较高的语言表现更为优越(例如 Python),这主要有两个原因:

首先是训练数据量的差异。Python 作为 AI 时代最流行的编程语言,开源社区为其提供了海量优质的训练数据,而其他语言的数据量相对较少。

AI编程为何能够迅速实现应用?

图|Python 已成为开源社区最受欢迎的语言(

其次是语言特性带来的影响。Python 的语法相对灵活,容错性较高,这使得 AI 更容易生成可用的代码。相比之下,Java 等强类型语言的语法约束更为严格,对代码生成的要求也更高,因此成功率相对较低。

AI编程的挑战与未来展望

第三个核心问题是,尽管AI编程工具一直在追求更高的自动化水平,但“批处理”开发模式未必是最佳选择。虽然这种模式表面上提升了效率,实际上却削弱了用户对代码变更的即时掌控,反而可能增加认知负担。Devin在这一点上展现得尤为明显。

AI编程为何能够迅速实现应用?

以Devin为例,这个被誉为全球首个AI程序员,具备全栈开发、自主学习新技术、构建与部署应用及自主调试等多种能力。在初次使用时,这种全自动的开发体验确实令人惊艳,仿佛拥有了一个AI实习生,能够独立完成任务,让我得以专注于其他事务。

然而,在实际体验中,与Cursor等半自动AI编程工具相比,Devin存在两个显著问题:首先,反馈周期过长,用户需要等待较久才能确认结果的正确性。一旦指令出错或思路不清晰,前期的等待便成了时间的浪费,沉没成本显著增加。其次,调试成本显著上升。AI生成的代码量越多,理解的难度也随之增加,调试时往往难以判断问题出在代码生成还是操作失误。这对缺乏相关知识的用户尤其具有挑战性。

软件开发的生命周期中,缺陷修复的成本与发现时间呈指数关系。发现问题越晚,修复的成本就越高。从需求分析到系统设计,再到代码实现、测试验证与运行维护,软件开发是一个环环相扣的过程。当AI接管的部分越多,发现问题的环节就被推迟。而此时的修复不仅限于单个函数,可能还会引起连锁反应,甚至导致架构设计上的缺陷,这就需要开发人员深入理解AI生成的代码,才能进行有效的修复。

AI编程为何能够迅速实现应用?

图|在不同阶段修复Bug时的成本(

我进行了一个实验:以零知识用户的身份让Devin进行编码,再用Claude来调试。实际体验表明,Devin花费了20多分钟编写程序,而Claude修复花费了一个小时,但核心功能依旧未能正常运行,只能重头再来。

与自动驾驶不同,驾驶时你可以随时接管,因为车辆的当前状态是显而易见的。然而在编程中,如果AI走错了方向,之前的所有工作将全部失效。那几十分钟的等待,便成了毫无意义的时间消耗,最终得到的只是一堆难以处理的代码。

AI编程为何能够迅速实现应用?

AI编程的未来发展:更高级的可信验证

目前,应用端的可信验证仍处于初级阶段,主要关注代码“是否能运行”,侧重于最终输出结果。但随着技术的不断进步,未来将出现更先进的可信验证方法,考虑的因素将更加多样。

例如,现代IDE已经具备自动检测性能隐患与安全漏洞的能力。这些自动化的质量评估机制同样可以应用于大型模型,具备客观性与即时性,且验证维度将更加丰富。

将DevOps实践等现代软件工程方案融入AI辅助开发流程,建立更完善的代码质量保障体系,确保AI生成的代码不仅能正常运行,还能满足现代软件工程的高标准要求,及时进行测试和反馈。自动化测试框架能够生成测试用例,检查边界条件,验证业务逻辑,包括对代码性能的检测,从而提供更高层次的可信验证。

这些客观的质量指标也可以反馈给模型。随着验证机制的日益完善,AI编程将从“基本可用”进化为“高质量”,而像Devin这样的全自动编程工具也将迎来更广阔的应用前景。因为它体现了AI编程的未来方向:真正解放开发者,让人类专注于更具创造性的工作。尽管何时能够实现这一目标仍不确定。

我认为,这种AI编程工具可能仍不适合零知识用户,其未来或许是显著提升程序员的生产力。对于零知识用户而言,零代码平台(如Dify)可能更加可靠,因为它们不需要担忧“能否顺利运行”的问题。

AI编程领域的成功经验为我们提供了一个重要启示:在任何领域成功应用AI,都必须建立有效的可信验证机制。

尽管并非每个领域都能像编程那样拥有精确的编译器作为验证工具,但我们可以借鉴这一理念,建立适合各自领域的验证体系。这个验证机制无需一开始就做到完美,但至少应能够提供基本的可用性判断。模型的上限固然重要,但在大模型的应用中,模型的下限同样不可忽视。可信验证不仅能够降低AI应用的使用门槛,还能为模型优化提供可靠的反馈数据。理想的AI应用场景应当同时具备“用户友好”和“模型可进化”这两个特质。

参考文献

标题:探讨AI应用的可用性与发展潜力

1. https://www.nature.com/articles/s41586-024-07566-y

2. https://github.blog/news-insights/octoverse/octoverse-2024/

编辑/排版:何晨龙

来源:百家号
原文标题:为什么AI编程能快速落地?
声明:
文章来自网络收集后经过ai改写发布,如不小心侵犯了您的权益,请联系本站删除,给您带来困扰,深表歉意!
广告也精彩
Copyrights:AICAT Posted on 2026-01-24 2:15:54。
Please specify source if reproducedAI编程为何能够迅速实现应用? | AI工具导航