您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[2023第十二届全球TOP100软件案例研究峰会]:贝壳-贾琳-当我们用AI写了100万行代码 - 发现报告

贝壳-贾琳-当我们用AI写了100万行代码

AI智能总结
查看更多
贝壳-贾琳-当我们用AI写了100万行代码

“⻉壳研发效能专家、基础产研平台架构师,深耕软件⾃动化提效领域,主导过⾯向企业的⽆代码/低代码开发平台、⼀站式产研协作平台、效能度量平台等⼤型研发提效类项⽬的落地。 近期带领团队探索基于⼤模型的研发助⼿类产品研发,结合AI与软件⼯程技术,在⻉壳成功落地AI研发助⼿CodeLink。” 贾琳⻉壳找房 摘要 1.AI编程的发展现状以及⻉壳对AI编程的判断2.⻉壳AI研发助⼿CodeLink的设计理念与技术实践3.在企业成功落地AI助⼿类产品的经验 AI编程的学界叫法:Program Synthesis Church A. Logic, arithmetic and automata. In: Proc. of the Int'1 Congess of Mathematicians. 1962.23-35.Zohar Manna and Richard J Waldinger, Toward automatic program synthesis. Communications of the ACM, 14(3):151–165. 1971Amir Pnueli and Roni Rosner. On the synthesis of a reactive module, the 16th Principles of programming languages, POPL, 1989Sumit Gulwani et al. Program synthesis. Foundations and Trends® in Programming Languages, 2017Erik Nijkamp et al. an open large language model for code with multi-turn program synthesishttps://arxiv.org/abs/2203.13474, 2022 The goal of program synthesis is toautomate the coding process,and generate a computer program that satisfies the user’s specified intent.//⾃动化编程过程,产⽣⼀个所表述意图的计算机程序 not only improve the productivity of experienced programmers but also make programming accessible to a wider audience//不仅提升专业程序员的开发效率,⽽且让更多受众也能编程 AI编程的两⼤挑战 程序空间 程序就是⼀个字符序列,所有字符的排列组合构成了⼀个巨⼤的程序空间如何在这么⼤的空间中找到⽬标程序?程序搜索技术是核⼼。 ⼤模型(Transformer)的序列预测能⼒很强,是⽬前最有效的程序搜索技术 ⽤户意图 如何表达⽤户的意图? 形式化的逻辑描述(可能⽐写代码还难)、输⼊输出例⼦(Excel)、⾃然语⾔(需要交互) ⽤⾃然语⾔表达意图,给程序员⽤的AI:GPT带来的机遇 ⼤模型真的能带来提效吗 ⾕歌的实验(2021底):AlphaCode参加了DeepMind编程竞赛平台Codeforces上的10次实时⽐赛,它击败了46%的参赛者; 微软的实验(2022.9):编程实验,Copilot组71分钟,普通组161分钟,提升55%,且Copilot组完成度更⾼ 华为的实践(2023.4):编程竞赛前200名进⾏调查,84%的重度使⽤,前10名全部⽤。去年第1名没有⽤,排名100+了,88%的⼈认为可以提升效率。 55%的⼯作,CodeLink都能帮到你 CodeLink设计理念 AutoComplete《AI编程实验室》 ⼯程师招募,共160⼈ 分为4场对照实验,分析实验结果 采⽤分层抽样的⽅法进⾏分组 ①准备⼯作:开发环境、需求设计、测试⽤例②现场讲解与答疑、问卷收集③实验结果分析 ①AI开发组:要求使⽤CodeLink去完成需求 ①提供产品使⽤⼿册等供AI组进⾏学习,包含安装、使⽤⽅法、技巧等多⽅⾯ ②传统开发组:要求在不使⽤AI⼯具的情况下去完成需求 AutoComplete落地实践 企业落地的视⻆ ⼯程化、规模化、产⽣收益,不仅看数据,更关注⽤户视⻆的效果 ①看数据- >⾃建评测框架 ②有验证- >对照实验,最终⽤户视⻆的效果 ③坚决地投⼊- >⾃研CodeLink、⼤模型的起步 ⻉壳模型评测框架 ⻉壳代码⽣成⼤模型 ⾃研模型的优势 ①可以针对特定任务、特定场景优化②保证公司数据安全&隐私③模型稳定后成本较购买API更低④⾼⾃由度,避免/绕过限制⑤数据可控、模型可控便于公司持续改进⾃有模型 策略:分⽽治之、⼩模型、适配模型的prompt⼯程 指令微调 Javascript上Pass@1达成X%+,较基座提升X%,⽣产环境采纳率X% ⻉壳LLM2Code加速框架 GPU: V100S-PCIE-32G,Model: CodeLlama-7B 更多环节融合AI的能⼒ CodeChat结对编程专家 和AutoComplete⼀起解决写代码的问题 ①多模架构:把最好的模型拿给⼤家⽤ ②根据打开的窗⼝,总结代码上下⽂,提出代码建议 ③IDE深度绑定,直接在编辑器流程中讨论特定的代码⾏ ④引⼊指令集和上下⽂变量,与私域知识打通 技术问答 代码解释 错误堆栈分析 接⼝⽂档痛在哪? WorkBench私域⼯作台 联调部署测试痛在哪 WorkBench私域⼯作台 模型+⼯程+产品⼀体化建设 CodeLink产品效果 more idea,more fun,more efficient 共创的⼟壤:⾼频带低频、IDE的⼊⼝、平台属性 CodeLink Next 超越编程,每个环节都值得⽤AI重新审视⼀遍 ⼤模型能⼒植⼊到更多研发流程开发⽅式的变⾰ 更多全栈AI⼯程师协同⽅式的变⾰ 基础能⼒索引+Agent智能对接从AI编码⾛向全⾯⾃动化的⼈机协同