Redian新闻
>
LLM 赋能的研发效能:如何探索软件开发新工序?

LLM 赋能的研发效能:如何探索软件开发新工序?

科技

上周末,我们(我和我的同事谢保龙)在 QCon 广州 2023 上分享了一个 AI 结合研发效能的话题:《探索软件开发新工序:LLM 赋能研发效能提升》 。我们分享了:Thoughtworks 在过去的两个月里对于 LLM (大语言模型)结合软件开发的一些探索。

在这篇文章里,我们将总结一些关键的要素,方便于大家理解。后续,等后续的录屏版本出来后,也可以再回顾一下。值得注意的是,当前我们处于探索 + 尝试落地的阶段,更多的是围绕于我们的过程和如何构建。总体思路如下:

Slides 和相关问题可以在这里一起讨论:https://github.com/unit-mesh/conf

企业适合何种 AIGC 投资策略?

在过去的几个月里,有大量的 KOL 都在说:所有的应用都可以用 AI 重写一遍。而落地到现有的 DevOps 工具里,假设都需要重写,那么未来的架构可能是怎样的?

于是,我们根据我们的理解将应用分成了四种类型:

  1. AI 端到端应用。即直接面向最终用户的应用(含专有模型),诸如 ChatGPT、Midjourney

  2. 应用 + 闭源基础模型。如基于 OpenAI、文心一言(他们提供了吗,我没收到)等 API 来构建应用。

  3. 应用 + 专有模型。即基于开源基础模型,或者自有的模型,来构建端到端应用。

  4. 应用 + 微调模型。基于开源模型 + 面向自己研发场景下来微调,以构建领域特定的应用。

不同的企业,应该根据自身的情况(安全、隐私等等),来调整自己的投资策略。

而随着时间的演讲,也会出现越来越多的新场景,带来不同的变化。

AI 研发效能:最好的大语言模型带来什么?

今天(2022.05.29),市面上已经有一系列结合 LLM 的研发效能工具,从产品设计、架构设计等,直到运维运营等等。基于人工智能的工具与基础大语言模型可以增强软件开发在设计、需求、测试、发布和运维等各个环节中的能力,提高质量和效率。

但是,这些工具往往是破碎、割裂的,还可能并不适合我们现有的研发流程。所以,从我们的经验出发,需要从研发流程出发,将每个工序拆到足够的小,才能构建出明显的效果。

随后,基于我们选择的工具来进行评估,如我们示例中基于的是 ChatGPT、GitHub Copilot 来做评估,随后记录对应的提升效果,以及局限性等等:

而对于那些可以公开的信息,不涉及企业内部的数据,则可以直接开发对应的工具。如我们同事开发的产品经理的 AI 辅助工具:

其基于 GPT 3.5 + LangChain + Thoughtworks 产品领域相关的知识库构建的。

而虽然生成式 AI 技术及工具已经在软件生命周期的各个环节中体现出了提效的可行性,但想要在大型科技组织中端到端落地、实现提效的突破,还面临很多挑战:

  1. 企业规模化软件过程提效的挑战

    • 信息安全和信创化的强制要求

    • 开源大模型表现偏弱、自己训练成本高

    • 难与企业内部工具进行结合

  2. 开发 AI 辅助研发提效的局限性

    • 基于 GPT 模型的工具不符合信息安全要求

    • 公开LLM 针对专业领域表现不佳,适用性差

    • LLM 工具碎片化

大部分企业尚在探索过程中,于是我们产生了两个假设:

  • 假设 1:每个大型企业都将有私有化的大语言模型

  • 假设 2:私有化的主流方式:开源 LLM + 微调

随后,我们继续探索基于开源 LLM、私有化场景下的新工序。

AI 研发效能:从问题出发摸索新工序

在探索时,作为工程专家而非大语言模型专家的我们,遇到一系列的挑战、需要解决各种各样的困惑。我们的探索过程分为了三个阶段,每个阶段都需要探索不同的问题:

  1. 阶段一:微调与研发过程如何结合?

    • 现有的开源模型能满足需求吗?

    • 合理的指令(输入和输出)应该是怎样的?

    • 微调的成本和工作量在哪?

  2. 阶段二:工具设计和整合?

    • 产品形态应该是怎样的?(聊天、交互式)

    • 与现有工具对比竞争力在哪?(端到端?)

    • 工具是否需要重写一遍?

  3. 分析成功 AI 产品

    1. 如何高效构建上下文?(2K)

    2. 如何提升速度?(缓存、减少请求)

    3. 如何提升准确率/接受率?

而如果要探索,那么我们还需要考虑的是:哪部分是最有价值的。比如说,从我的日常业务场景出发,架构设计是我们更高价值的场景:

而其中的一个环境就是 API 设计(RESTful API 设计)。

AI 研发效能:如何工程化落地?

于是呢,我们基于我们的 API 总结了一个基本的工序化构建方式,如下图所示:

简单来说,就是三个阶段六个工程:

  • 软件开发过程资产化。需要注意的是:基于私有化 LLM 的新工序一部分取决于已有的软件过程资产,诸如架构模型、UML 等。

  • 资产的“语言建模”。探索适合于大语言模型的资产代码化形式。

  • MVP 与微调试验。对已有数据进行标准化,生成指令格式数据集(反复多次),并结合 LLM 需要设计 instruction。

  • 增量引导指标设计。诸如于 HumanEval 的手写高质量测试数据集,来作为分阶段的微调目标:如 5%,10% 等。

  • 上下文工程。如何在 Token 限制的场景下,提供尽可能丰富的上下文,如 GitHub Copilot 是 6 个人在半年内开发的,在本地计算 token 花费了大量的时间(详见:《上下文工程》 。因此,上下文的构建应该被当作是一个工程、策略,而不是一个简单的事情。

  • 持续反馈的平台工程。与已有工具集成,构建起自动调优闭环,持续收集数据和反馈。

更详细的示例,可以参考:《大语言模型友好的 API:借助集体智慧构建更好的软件架构

未来展望:如何应对 LLM 带来的挑战?

从我们的角度来看,未来 LLM 将会被集成到 BizDevOps 的工具链中,以端到端的方式提升效能。

而对于组织来说,我们还需要考虑一个问题:

不同的方式,决定了我们如何使用 LLM。随着大模型不断的发展,成熟度提升,我们多了一个超级队友。当 Ta 掌握了所有的知识和技能,ta 可能就变成了一个上帝(当然,这不会是几年内能发生的事情)。

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
Belmont公私校大对比:Belmont Hill vs Belmont HighZOMBIES:在软件开发中定义边界和接口(三) | Linux 中国时序图,UML给软件开发带来的唯一好处ZOMBIES:我的软件开发和测试简便指南(一) | Linux 中国敏捷软件开发,需要消亡关于REA、SCEA和ED2同时提交的问题软件开发进度不及预期,沃尔沃再度推迟EX90电动SUV量产时间提升字节规模化效能的平台化思路|字节跳动平台工程实践我们还能抓住什么做杂志、办展览、深入在地…东边野兽如何探索可持续之美的东方解法?对话面壁智能:和知乎的优势互补,会加速大模型的研发专访瑞声科技应用软件开发总监陆其明:当一名老兵决定重新上路AIGC 企业落地实践,就在 QCon全球软件开发大会(广州站)B站成立交易生态中心;选秀爱豆利路修等入淘开播;小红书旗下公司新增AI软件开发业务 | 一周简讯LLM底座模型:LLaMA、Palm、GLM、BLOOM、GPT结构对比QCon 全球软件开发大会广州站优秀出品人与明星讲师名单公布​大模型时代,CodeArts定义软件开发新范式DevSecOps,将安全性集成到软件开发的每一个阶段LLM 与架构新纪元:适应代码生成模式,突破软件开发瓶颈AI 大模型重塑软件开发,有哪些落地前景和痛点?年薪中位数16.5万!加州这里拥有全美最多的软件开发人员匿名功能遭举报,知乎周源回应;苹果推出 visionOS 软件开发包;跟随索尼,XBox 订阅服务涨价|极客早知道花好月圆 心想事成 (Paint Markers)每一口都超有料!燕窝看得见吃得着,免去洗泡炖煮繁杂工序,营养暖心粥随时享~腾讯中台Rui Su:CROS行云,如何帮助超100款游戏提升研发效率规范即治理函数:LLM 赋能的软件架构治理与架构设计北影节沙龙|B站、腾讯广告、AIGC…影视行业如何探索营销新生态?AutoDev:AI 突破研发效能,探索平台工程新机遇在文学城结下的美好情缘(外一篇)AI 大模型重塑软件开发,有哪些落地前景和痛点?| ArchSummit冷却的不止季节(43)— 贫与婪勒索软件再狡猾,也斗不过“干净的恢复”微软Build 2023:人工智能重新定义软件开发与工作的未来北影节招募|B站、腾讯广告、AIGC…影视行业如何探索营销新生态?企业如何探索「零度创新」——新经济领袖成长计划
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。