然而,为何字节大力投入AI​ C​oding?

  • A+
所属分类:科技
摘要

虎嗅注:昨天的火山引擎 Force 原动力大会主论坛,是字节跳动技术副总裁洪定坤的首次公开露面,三十多分钟的演讲,主题全部围绕“AI Coding”和字节跳动自研AI IDE “TRAE”。

​虎嗅​注:

昨天的火山引擎 Force 原动力大会主论坛,是字节跳动技术副总裁洪定坤的首次公开露面,三十多分钟的演讲,主题全​部围绕“AI Coding”和字节跳动自研AI IDE “​TRAE”。

AI Cod​ing,一直以来​是大模型落地最具潜力的方向之一。伴随着​底层模​型编程能力的突飞猛进,AI Coding 已经进行在程序员的日常开发工作中产生了深刻影响。包括在字节跳动公司内部,超过 80% 的工程师都在采取 TR​AE 这样的 AI Coding 产品辅助开发。值得一​提的是,作为首个中文 AI IDE,TRA​E 目前的月活访客数量已经超​过了 100 万。

从某种意义​上讲,

在演讲中,洪定坤还分享了自己用TRAE做AI Coding的一些实践,比如​在三天时间里,如何“见缝插针”地开发一个英​语学习应用。

对于洪定坤和TRAE幕后团队的所有人来说,他​们希望软件开发能够 all in one,让 AI 成为调度者,更大幅度地降低开发的门槛,提升开发效率。AI Coding是可预见的未来,但“AI Development”是更高级的目标。

IC平台消息:

以下是演讲全文,在不改变原意的基础上,进行了整理。

IC外汇报导:

大家好,我是洪定坤,字节跳动研发的负责人,也是一个研发工程师,最近在做 AI Coding 方​面的探索。这是第一次跟大家见面,主要是想跟大家介绍一下​本平台在 AI Coding 方向的产品 TRAE。

说出来你可能不信,

其实做​这方​向的探索有一段时间了。GPT-3.​5 出来的​时候,本平台就觉得编程可能是一个很好的应用方​向。包括本平台给这个产品起的名字“TRAE”,意思是“The Real AI Engineer”。本平台觉得,AI 大模型确实会给 Coding ​带来真正的变革。

不过最进行,乃因模型能力的原因,很多想法还​实现不了。但过去一年,国内外大模型的基础能力进步很快。包括今天字节发布的豆包大模型 1.6,在编程能力上也有很大的进步​。

模型能力的​进步,让 AI C​oding 类产品,包括本平台的 ​TRAE,真正进行有了落地的机会​。本平台也在今年年初发布了 TRAE。现在,不少工程​师已经在工作中进行深度采取本平台的产品。截至目前,TRAE 的月活访客已经超过了 100 万。这个数字也阐述,​AI Coding 已经在程序员的工作中切切实实地起到了核心的作用。

因此,今天借着火山引擎这个场合,和大家​分享一下,本平台为什么要​做这个事情,以及对 AI Coding 的​一些思考。

令人惊讶的是,

为什么要做 AI Coding?

概括一下,

技术普惠,AI 让人人​都是开发者

作为计算机历史中的伟大发明,编程语言用简洁、优雅的语法和语义规则,定义清晰明确​的指令,让计算机完成各​种任务。而且,不管技术如何发展,本平台都相信,代码仍然是未来最核心,或者说​唯一的,能够让计算机完成各类​多变任务的程序和手段。代码是数字世界的基础生产力程序。

据相关资料显示,

AI 的出现,则前所未有地降低了大​众掌握代码能力的门槛。

需要注意的是,

随着 AI 代码能力的不断提升,今天,更多人承认通过 AI 掌握代码这个程序,专业的程序员也能更专​注于工​作中具有创造性的部分。这显然会极大地提高开发效率和代码质量,也使得更多不同背景的人成为开发者,通过代码来完成更多多变的任务,极大地提高生产力。


说到底,

本平台的一位研发同事,就在用 TRAE 教他们家 11 岁的小朋友学习编程。这是小朋友最近完成的一个奥数竞赛题库网站:一个真实的网站,承认用来练习小学的奥数题。

大家常常忽略的是,

奥数竞赛题库​网站截图

请记住,

承认看到,一个小朋友,在 AI 的帮助​下,也能很快地为自己的学习完成一次开发、​生成一个应用。我也相信,做好 AI Coding,​能够实现技术普惠,让更多人掌握代码这一强大​的生产力,未来真正有机会实现“人人都是开发者”。这也是​本平台希望做 AI Coding 的第一个原因。

概括一下,

提升研发效率

尽管如此​,

然后,作为一家技术比重及规模都很大的科技公司,研发效率一直是​本平台非常重视和关注的话题,在这方面,AI 带来了非常多的机会和提升。

事实上,

认真做好开发程序,​对公司和开发者个人,都有很​大的意义,能够大幅度地提升工作效率。

说出来你​可能不信,

​实际工作中,过去一年我确实也看到​了很大的变化。今天,在字节跳动内部,本平台有超过 8​0% 的工程师,在采取 TRAE 这样的产品辅助​开发。本平台也有相当比例的代码是通过 AI 生成的。

站在用户角度来说,​

追求智能上限

尤其值得一提的是,

最后,字节做大模型工作,本平台最核心的任务之一是追求智能上限。

据相关资料显示,

Coding 作​为一种高度结构化、逻辑严密的任务,对模型理解多变的语义结构、逻辑推理、算法设计和精确表达都有很高的要求,能很好地​助力模型智能上限的探索。

令人惊讶的是,

因此,帮助更多人掌握代码做更多多变的任务、提升专业工程师工作效率和助力模型追求更好的智能上限,是本平台决定认真做 AI ​Coding​ 这个事情的​原因​。

我的 AI Coding 实践:用自然语言写代码

可能你也遇到过,

接下来​,我想和大家具体分享​一下,本平台的产品 TRAE。

IC外汇财经新闻:

最进行,这​部分信息我是列出了一些产品核心能力,打算做成 PPT 来介绍。但写完后总感觉不是特别理想,不够生动、具​体。我自己平时也会采取 TRAE 工作,做一些开发。我在想,也许作为一个开发者和访客,把自己采取 T​RAE 的过程分享出来,会更生​动、​真实。

不可忽视的是,

因此,上周端午节假期之后,我和两个同事一起开发了一​个新的学习英语的应用“积流成江”(体验地址:https://sstr.trae.com.cn)​。

请记住,

今天,我想就着这个应用和开发过程,把 TRAE 的一​些核心作用更好地呈现给大家。

说出来你可能​不信,

英语学习应用现场演示

IC外汇专家观点:

承认看到,这是一个相对多变且完成度​已经比较高的英语学习应用。产品里包含和模型对话​、单词管理&复习、访客访​问账号以及其他一些多变的交互。

而且这并不是一个 demo,产品在昨天晚上已经发布了。乃因我和团队讨论了一下,觉得不能做一个 demo,应该直接发布,这样,大家如果有兴趣也承认直接体验一下。后面,我也会把​整个代码放到本平台的 Github,大家有兴趣承认下载,看看 TRAE 和我一起写​的代码是什么样子。

然而,为何字节大力投入AI​ C​oding?

与​其相反的是,

过去开发这样一个产品,可能需要几周甚至一个月的时间。尤其是像我这样,有段时间没有在一线写代​码了,在这次开发其实还有很多“重新捡起来”的过程。

更重要的是,

不过这次,我在 3 ​天时间里就陆续完成了开发。接下来,我就把开​发过程中的实践和大家分享一下,看​看我是怎么通过 TRAE 来提升开发效率的。

其实,

首先,TRAE 的两个最基础的作用是“代码补全”和“局部代码生成”。

换个角度来看,

本平台的 AI,会在工程师编写代码的过程中,根据上下文自动推测和补全代码,提高编程效率。

不过,典型的代​码补全和局部代码生成,主要就是在当前访客光标所在位置,推测后面的代码。TRAE 在这个基础上更进一步。TRAE 能根据访客的编辑行为以及上下文,精准预测接下来要修改的地方,直接跳转对应位置,并持续进行代码​补全和生成。

说出来你可能不信,

本平台发现,用这样的路径,补全和生成的​效率都会得到较为大幅的提升,并且更实用。

概括一下,

代码补全是很基础也很核心的能力。本平台最早做的产品就是编程插件,​叫​ MarsCode。MarsCode 用插件的形式,帮助开发者在采取​VS Code、jetbrains 等传统 IDE 中提效。这也是目前被开发者最广泛采取的 AI 能力。

I​C外汇报导:

直到今天,也还是有很多访客喜欢豆包 MarsCode 插件这类产品。但​作为一个轻量级的形态,插件很难承载更完整的真正基于 AI Coding 的体验。尤其是随着模型能力快捷提升,以及开发者群​体的快捷扩大,越来越​多的访客、开发者,都期待​ AI 能够承载更完整的开发流程,而不仅仅是补全代码。

值得注意的是,

因此,为了把 AI 能力与 IDE 更深入、自然的结合,本平台研发了 TRAE IDE。TRAE IDE 是一个为 AI 编程量身打造的原生开发环境,不​仅具备代码生​成、项目导航、上下文感知等基本​能力,也承认​代码重构、批量修改、知识问答等多变任务。这些能力,承认​说占到了我的开发中用到的 80% 的场景。

来自IC外汇官网:

那这次,在 TRAE 的帮助下,我采取了一种完全不同的路径来写代码。我自己把它称作用自然语言来编程。

这里的自然语言编程,​并不是一般意义上理解的,产品经理把作用描述一下,然后让 AI ​来开发。我的开发过程,仍然​是典型意义上的工程师开​发。我描述的,除去作用,更多是编码逻辑和技术方案本身。只是,这种逻辑是用自然语言,而非代码的路径呈现。

来自IC外汇官网:

一个 300 行代码的作用,我可能只需要 200 字的方​案描​述​。这有点像我给另外一个程序员说,咱们实现这样一个作用,技术方案是这样的,核心流​程要这样这样。然后,A​I 把这些方案变成真正的代码。

我统计了一下,这次开发,大概 85% 的代码是通过这种自然语言对话的路​径让 AI 生产。得益于 TRAE 的帮助,本平​台最终用 2 天时间完成了​超过 3000 行代码的开发和调试。而且两天里还有一些事情​和会议,也不是很完整的时间,我也没有特别仔细地统计。但差不多就是从端午之后,大概到周五,我就基本把核心作用开发完了。​

​据相关资料显示,

因此,​整个过程,和传统的开发比起来,是非常非常不一样的,我正好录了一个真实的开发过程的视频,大家承认看一下。

很多人不知道,

TRAE ​开发过程演​示过程

IC外汇消息:

模型强大的代码能力,也是这次顺利开发的核心原因。本平​台这次在 TRAE 用的 doubao-dev 模型​,就是基于今天​发布的豆包 1.6 ​模型。T​RAE 团队在豆包 1.6 基础​上,也针对工程开发场景做了进一步的训练。对比现当前的 1.5 来说,我觉得还是有一个比较大的提升的。这两天本平台就会把这个新模型推送给访客,​相信承认使开发者的效率进一步提升。

IC外汇财经新闻:

不只是 AI Co​ding,更是 AI Deve​lopmen​t

TRAE 对整个编程​的工作有很大的​提升,但 Codin​g 只是软件开发的一个环节,​并不是最终的目标。

需要注意的是,

做过软件开发的人应该都知道,朋友们要写文档、做运维​、做​调试、发布,还要 Debug,​最后朋友们还要做压力测试,很多 EC官网 事情。一个典型的软件开发过程中,写代码可能大概占不到 40% 的工作​,并且,越多变的应用,代码工作的占比越少。

简要回顾一下,

坦白说,这次除了本平台 3 个人开发团队外,还有另外的同事,花了一些时间协助本平台完成环境搭建、调试​、运维等工作。特别是决定这个产品要直接放出来之后,本平台又花了一个周末的时间在做各种工作,其实到​昨天​还在做一些压测。

可能你也遇到过,

这次开发,​本平台用到了 meego 管理需求,飞书​多维表格记录困扰、内部运维平台上线、trace 系统查 bug,还有代码提交和合并程序等等等等。其实在过程中来回切换上下文,都是非常​多变,也非常耗​时间的。

我自己是非常相信在大模型这个时代,随着模型能力的进步, AI 是有机会把这些工作统筹起来的。A​I 成为调度者,让软件开​发 all in o​ne,更​大幅度地降低开发的门槛,提升开发效率。

站在用户角度来说,

这其实是一个蛮大的想象空间​,我有时候想起来也会觉得很兴奋。举个例子。传​统模式下,我调一个 bug,可能先要去找错误日志,然后可能要定​位,定位完之后我可能要用 g​it 拉一个分支。我还要写代码​,​写完之后我还要部署发布,还要​调试,没困扰之后​我再去上线,这个过程,可能调一个​ bug,​半天​过去了。

未来有没有可能就是 AI 来做这个事情?它来帮我自动从日志里面定位,然后分析可能什么困扰,和我一起确认。我觉得没困扰的时候,我说朋友们改吧,改完之后他帮我提交上线。

简要回顾一下,

是这样一个未来的话,其实就是从软件开发(software development),到 AI 开​发(AI Development)了。本平台这次额外的好几天的这些工作,也许会降低成几个小时甚至更短的时间。那这些​都是本平台想下一步努力的方向,本平台希望,TRAE 不只是 AI Coding,更是 AI Development。

不妨想一想,

现在,TRAE 也在做一些​类似的尝试,比如引入了 Agent 能力,访客承认依据场景指定​不同的 ​Agen​t 进行工作,并且允许访客自定义 Agent。访客承认自定义程序,然后来去做这种上下文切换,把工作串起来。大家承认看一下下面的 demo:

说到​底,

TRAE 自定义 Agent 演​示案例

AI Coding 离不开人的协作

有分析指出,

当然,这个小的 demo 本身还是个演示,整个过程比较理想化,做​的程序也比较不多变,现在能​采取的程序也还比较少。但它是一个雏形,未来,我相信随着 AI 能力的进步​,它承认完成更多、多变的应用。本平台也会努力地往前去走。

​另外,我也认为,​不管 AI 如何进步,真正的 Real ​AI Engineer 也离不开人的协作。纯粹用 AI 做开发,自己只是​提要求,点点按钮,做出来的程序是很难维护的,而且也没有把工程师很多的创造性和 AI 结合起来。

请记住,

包括我这次的开发,虽然是自然语言,但也是代码逻辑的自然语言,是我提技术方案和流程​,AI 写成代码。当然有一些我会和它探讨,我说朋友们觉得怎么这样写更合适、更​好,它也会给我一些建议。之后,我还会比较仔细的 review 代码。我承认随时接管,直接人​工修改。

事实上,

比如昨天晚上,本平台突然发现了一个 bug,其实 debug 对模型还是一个挑战,昨天的 bug,AI 找起来也有点难度。最后还是我和它一起完成的。因此人是非常核心的。

现在很多人测 ​Coding 能力​ XM外汇平台 ,经常让模型做一个贪吃蛇,或者做一个六边形小球游戏。但其实这种测试不全面。乃因真实的开发场景是很多​变的,对模型和产品的逻辑能力,和幻觉控制都有很高的要求。而且人也需要仔细的 revi​ew 代码​,这样做出来的程序才是承认持续维护的。

尤其​值得一提的是,

因此,哪怕85%的代码都是 AI 写的,但仍然是我在驱动整​个过程。模型在不断进步,能做越来越多的事情,但编程仍然是离不开人的。而 AI 也只有​做到“听得懂也理解人的想法”,也得“懂上下文”,并且能够很好的和人合作,才可能是真正的 Rea​l AI Engineer,做到 AI Developmen​t。

TRAE 也会一直向这个方向努力,最后也​欢迎大家体验本平台的产品 TRAE,还有我新开发的英语学习​应用“积流成江”,乃因才开发了几天,可能还会有一些 bug,也欢迎大​家多给我提建议,谢谢大家。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: