AI Coding:重塑软件开发的未来
在AI应用里,与Coding结合应该是最合适的场景了——既能提高开发效率,又不会有太多的幻觉问题。这篇文章,作者给到了自己的观点:AI Coding 是一个巨大的机遇,甚至会重塑软件开发的未来。为什么这么说?看看作者的解答。
过去的一年里,AI Coding 工具经历了爆发式增长,但目前还没有一款编程工具做的像人类工程师一样好,其中仍然有很多带解决的问题。参考《Code Smarter, Not Harder》文章的内容,带着对AI Coding产品的关注来学习下这类产品的发展现状和面临的挑战。
01 为什么 AI Coding 是一个巨大的机遇
想象当下的编程工作的一些特点:
- 编码的本质:要求工程师将问题分解成更小的任务易于管理,AI可以帮助明确问题和影响范围,确定问题的关键因素和分类
- 目前有大量现有的训练数据,利用现有的数据AI可以提供代码补全、审查和调试建议
- 编程任务需要判断力和基于规则的工作相结合,AI模式识别和预测能力可以帮助识别潜在问题
- 编程的解决方案往往是利用可以开源库等可以组合的模块,AI帮助开发者快速识别和推荐开源库和模块,促进更快构建出解决方案,不需要从头开始写代码
- 在某些情况下的工作成果可以经过经验测试正确性,
这意味着AI可以提供可量化的价值。
02 AI Coding 目前存在的挑战什么
根据三种不同的 AI Coding 模式,参考《Code Smarter, Not Harder》现存挑战可以总结为:
- 如何创造更强的上下文感知能力,增强工作流程
- AI Agent 在端到端编码任务中怎样才能做的更好
- 基础模型极速迭代的当下,编码模型是否真的可以带来长期的差异化
03 AI Coding 市场现状
初创公司采取的三种方法、AI Copilots和Chat界面、AI Agent 端到端地完成任务、用特定的代码数据训练一个专有编程模型,并与应用垂直整合。
AI Copilots 增强现有工作流程
在IDE中嵌入Chat界面,来增强工作流程。2021年GitHub Copilot发布,市场上出现大量AI Coding项目,这类产品只要相对较少的上下文即可奏效;将输出直接放在用户面前,并允许用户更正。
除了 GitHub Copilot,其他公司怎样进行差异化抢占市场份额?对代码重构、代码审查和软件架构等切入点不断有公司开始探索。这些产品需要面临的问题是需要对代码有更广泛的理解,还需要理解不同文件之间的知识图、业务背景、软件的使用模式、以及复杂工具的选择。
如何更好的获取上下文,完成更广更深的任务,将成为最大的挑战。
AI Coding Agent 取代工作流程
Agent 将创造全新的生产力和创新模式。它的基本能力不仅仅是预测代码行中的下一个词。而是像工程师一样从用户的角度考虑产品。甚至有非常多的复杂步骤,比如修复一个bug,它需要知道bug的位置、问题性质、它对产品的影响、修复 bug 可能会导致的任何上下游变化等诸多问题,它的上下文必须来自各种数据、更大块的代码库块等。Devin、Factory、CodeGen、SWE-Agent等都属于这类产品。
在端到端编码任务中怎样才能做的更好?
专门的代码模型
有些人认为专门的代码模型可以AI Coding应用层建立长期的差异化,但是我们需要考虑基础模型层持续进步会不会代码模型?
大多数基础LLM并不是专门在代码上训练的,反而许多用于代码的模型基于LLM基础模型针对编程需求微调获得的。要训练自己的代码模型,需要生成自己的代码数据和人类对编程示例的反馈来训练模型(“基于代码执行反馈的强化学习”)。或许这样能带来更好的输出,减少对GPT-4或其他LLM的依赖,让我们拭目以待
核心技术问题是,专门的代码模型能否超越前沿模型的改进速度。新模型训练完之前,一个更好的基础模型出现,并超越你的模型。很多团队正在采取在基础模型上对特定任务进行特定微调的方法,这样是可靠保守的做法,既可以受益于基础模型的进步,又能提高编程能力。
04 结尾
这些技术难题应该怎么突破?答案是开放的,我们可以关注下这个赛道的产品与模型迭代,我本人非常看好AI coding赛道的发展,Perplexity的CEO也说他认为A!辅助编程是唯一的Al原生应用,Kimi前产品创业也是这个赛道,Al搜索之后真正的下一个泡沫已经吹起来了,期待看着能够卷到什么地步。想信通过不断持续提升编码能力,甚至最终完全自动化编码,将开启一个巨大的市场。
本文由 @wanee 原创发布于人人都是产品经理,未经许可,禁止转载
题图来自Unsplash,基于 CC0 协议
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。
- 目前还没评论,等你发挥!