在 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 协议
登录后才可以发布评论哦
打开小程序可以发布评论哦