图片

2024全球软件研发技术大会:AI大模型的工程化实践与未来展望

导读AI大模型技术的产品化和工程化正在成为业界的新焦点。随着AI工程化从概念验证迈向实际应用,其应用前景日益广阔。本文将从设计与研发的角度,深入分享360公司在AI工程化流程中的实践经验,并对AI工程化的未来发展方向提出独到见解。

大会概览本文内容源自2024全球软件研发技术大会的演讲,同时收录于《新程序员008》。《新程序员008》专注于大模型对软件开发的全面支撑,包括Daniel Jackson和Daniel Povey等研发专家的见解,以及“AGI技术50人”的深度访谈。

作者介绍

  • 作者: 杨龙辉
  • 责编: 屠敏
  • 出品: 新程序员编辑部

AI工程化的实践分享360公司在AI大模型的工程化过程中积累了丰富的经验。本文将重点介绍以下几个方面:

  1. 工程化流程的设计:介绍360公司如何设计AI大模型的工程化流程,确保技术的高效转化。
  2. 技术产品化的策略:分享360公司在将AI技术转化为产品过程中的策略和方法。
  3. 工程化过程中的挑战与应对:探讨在AI大模型工程化过程中遇到的挑战及其解决方案。

AI工程化的未来方向文章还将对AI工程化的未来发展方向进行展望,包括:

  1. 技术发展趋势:预测AI大模型技术的发展趋势及其对行业的影响。
  2. 工程化的新机遇:分析AI工程化带来的新机遇和潜在市场。
  3. 创新与合作:探讨如何通过创新和行业合作推动AI工程化的进一步发展。

结语AI大模型的工程化不仅为技术发展开辟了新的道路,也为行业应用提供了新的可能性。360公司的实践经验和对未来的展望,为业界提供了宝贵的参考和启示。

注意:本文内容为摘要性质,更多精彩内容和深入分析,请参阅《新程序员008》及相关大会资料。
图片

AI工具与产品化发展探讨

随着大语言模型的快速发展,AI工具和产品如雨后春笋般涌现,它们广泛应用于我们的日常生活,如代码编写、图像生成、本地模型运行等。这些工具几乎覆盖了设计、编码、办公、协作等各个方面。

一、AI工具的应用现状

AI工具在工程化产品交付过程中,从需求分析到产品设计、开发再到上线运营,都能在很大程度上辅助人类工程师,提高工作效率和质量。然而,工具的多样化也带来了一些困扰,如应用效果差异、使用方式复杂等。

1. 应用效果差异不同人使用AI工具时,效果差异显著。例如,有的开发者使用ChatGPT生成代码非常高效,而有的则需要更多时间调试。

2. 团队协作问题使用第三方工具时,与公司现有系统的集成度不高,导致团队在一致性和标准化交付流程上存在差异化。

二、团队内部解决方案讨论我们团队内部讨论了两种解决方案:开发AI工具和直接开发AI产品。

1. 开发AI工具集成开源工具或插件到现有软件中,如VS Code对接GPT的插件。这种方式灵活性高,建设周期短,但集成度较低,可能形成数据孤岛。

2. 开发AI产品基于领域模型构建AI服务,与工程化深度融合。这种方式集成度高,应用性强,但建设成本高,需要构建领域模型。

三、选择与挑战基于工程效率最大化的考虑,我们选择了AI产品化方向。但这一选择也伴随着挑战:

1. 成本问题对于小团队,使用开源工具或快速插件可能更合适。但若需微调并部署大模型,还需考虑团队专业能力和机器成本。

2. 安全隐私使用第三方模型可能存在数据泄露风险,特别是对于注重安全的公司。

3. 能力限制AI的泛化能力有限,对未见过的数据可能给出不准确回答,且在处理复杂任务时存在局限性。

四、AI的潜力与展望尽管存在挑战,AI在能力上有很大的改进空间。它可以辅助人类完成工作,缩短交付周期,提高效率和产品质量,辅助团队实现效能最大化。

结语AI工具和产品的发展为工程化带来了新的机遇和挑战。合理利用AI,可以推动工程化链路的二次革新,实现团队效能和产品质量的最大化。

图片

360工程化流程的演进概述

随着产业化的推进,360的工程化流程也在持续发展。我们内部通过三个阶段来实现这一演进:自动化、数字化和智能化。以下是详细的演进步骤:

  1. 基础云服务平台的建设
  • 首先,我们致力于建立一个统一的基础云服务平台,以实现自动化流程。
  1. 流程自动化与数据采集
  • 其次,我们基于自动化流程采集数据,构建数字化环境。在AI时代,数据的重要性不言而喻。
  1. 智能化阶段的实现
  • 最后,我们进入智能化阶段,通过构建领域专家模型来赋能工程化。 这一演进过程不仅提高了工程效率,也增强了我们的竞争力。

图片

效能云自动化与数字化建设概述

自动化架构流程

  1. 需求拆解与分配:产品需求接收后,自动拆解并分配给设计和开发团队。
  2. 任务创建与提交:设计师创建画板,研发人员创建分支,通过任务串联工作流程。
  3. 设计提交与开发:设计师完成设计后提交给开发团队,开发团队使用IDE进行编码和合并请求。
  4. 测试与上线:自动创建测试单,进行测试后,通过CI/CD流程完成上线审批。

基础服务与能力层

  • 基础服务:包含数据、流程、权限、技术架构、规范和工具等。
  • 能力层:需求池、代码库、设计工具、CI/CD、物料市场、审计流、安全、日志和监控。

支撑平台

  • 极库云:需求管理平台。
  • 设计云:设计物料管理平台。
  • FinerWork:一站式研发平台。

数字化进程

  • 数据收集:从交付率、交付质量、成本和能力四个维度收集数据。
  • 视角:个人、团队、项目三个层面的视角。
  • 数据来源:交付周期自动化采集。

智能化阶段

  1. 领域模型构建:在不同领域建设专家模型,提供AI能力。
  2. Agent服务:基于模型构建AI Agent,自动完成重复性任务。

设计与开发机会点

  • 设计阶段:灵感到具体化设计的过程充满不确定性。
  • 开发阶段:工程初始化到编写业务逻辑的过程增速缓慢。

流程图分析

  • 通过流程图分析,识别设计和开发的关键痛点。

结论通过自动化架构的实施,我们能够提高产品交付的效率和质量。同时,数字化和智能化的进一步发展,为设计和开发团队提供了新的提升机会。

图片
在设计和研发过程中,我们致力于解决核心场景中遇到的挑战。为此,我们构建了专门的领域模型,并通过AI技术为设计和开发平台提供支持。以下是我们实现的具体功能:

  1. 文生图功能:我们引入了文生图功能,旨在帮助设计师快速生成初步设计草图。这一功能显著提升了设计工作的效率,使设计师能够更快地将创意转化为可视化的草图。

  2. 代码生成:为了辅助开发人员在编码阶段,我们提供了代码生成工具。这不仅加快了代码编写的速度,还确保了代码的质量和一致性。

  3. 代码审查:通过代码审查功能,我们帮助开发团队识别潜在的代码问题,从而提高代码的稳定性和可靠性。

  4. 代码聊天:代码聊天功能允许开发人员在编写代码时进行实时交流,这有助于团队成员之间的协作和知识共享。 通过这些功能,我们的目标是赋能设计和开发人员,使他们能够更加高效和创新地工作。
    图片

360AI 工程化实践概览

在工程化领域,360AI 通过结合行业需求和应用场景,实现了领域模型与业务的深度整合,构建了两个关键平台:设计侧的物料平台和研发侧的工程平台。

设计侧物料平台

缤果 AI 产品介绍360AI 内部研发的“缤果 AI”是一款多端支持的设计工具,它覆盖了 Web、Figma、Sketch 和 Photoshop 等多个平台。该产品具备以下核心功能:

  • 设计广场:提供丰富的设计资源和灵感。
  • AI 小工具:集成智能工具,提升设计效率。
  • 图片创作:支持快速生成高质量图片内容。

产品架构为了实现上述功能,“缤果 AI”构建了一套完整的产品架构(参见图 3),该架构从模型设计到应用场景提供了全面的解决方案。

  1. 模型设计:基础模型的构建和优化。2. 应用场景:将模型应用于实际的设计工作中,解决具体问题。3. 解决方案:提供从设计到实现的一体化服务。

研发侧工程平台[此处内容需根据实际研发侧工程平台的实践进行补充。]

结语360AI 的工程化实践,不仅提升了设计和研发的效率,也为行业提供了创新的解决方案。我们期待未来能够持续优化产品,满足更多用户的需求。

图片

缤果 AI 产品架构概述

模型层微调与应用

缤果 AI 产品在模型层面依赖 Stable Diffusion 模型,并通过微调技术创建多个基础模型。利用 LoRA 技术进一步微调风格模型,最终将基础与风格模型结合,形成适用于特定场景的融合模型。这些模型集成到产品中,构建服务层,提供以下功能:

  • 文生图:根据文本生成图像

  • 图生图:根据图像生成图像

  • 图片反推:分析图像内容并生成描述

  • 延展:图像内容的扩展与延伸

  • 线稿上色:为线稿添加颜色 产品支持的应用场景包括营销电商、定制化服务以及其他通用场景。此外,缤果 AI 还增强了 Figma、Sketch、Photoshop 等设计工具的功能。

微调方法论在模型微调过程中,缤果 AI 遵循“631”方法论,即数据占 60%,参数占 30%,剩余的 10% 归因于“玄学”。这表明即使数据和参数准备充分,也可能需要反复调试以达到预期效果。

微调流程

  • 数据准备:使用 Dreambooth 训练基础模型,LoRA 训练风格模型。
  • 数据标注:使用 Factory 库和 WebUI 自动打标,再进行人工筛选二次打标确认。
  • 参数调优:训练轮次和学习率是关键参数。
  • 模型训练:监控损失函数变化,理想损失值接近 0.08。
  • 结果测试:以实际测试结果为准。

应用场景缤果 AI 已尝试应用于营销图片场景,并与智能硬件如 360 手表联动,通过替换底图来缩短交付周期并提高效率。

研发侧工程平台缤果 AI 的研发工程基于一站式平台 FinerWork,为研发提供三大 AI 能力加持:聊天、代码和工具。底层模型依赖于 360 智脑模型,微调出适用于聊天、代码补全、代码审查等领域的模型。

微调方法研发侧的模型微调方法与设计侧物料平台相同,遵循“631”方法论,确保模型的高效和精准。

结论缤果 AI 通过模型微调和应用实践,展现了其在设计和研发领域的强大能力,为不同场景提供了定制化的解决方案。

图片

CodeChat 模型数据方案概述

数据采集阶段

  • 来源: 工程平台自动流程,代码工程中的流水线。
  • 内容: 安装错误日志,IDE 安装,运行错误上报,私有包服务数据。

构建 Prompt 阶段

  • 目的: 提取关键信息,构建分析指令。
  • 关键数据: 操作系统版本,语义化版本号,主版本文档功能。

数据标注阶段

  • 过程: 从关键数据中提取标注。
  • 结果: 构建指令供大模型分析。

数据集扩充与质量保证

  • 步骤: 分析结果人工审核确认。
  • 目的: 确保数据集质量,用于模型训练。

模型训练与测试

  • 后续: 完成数据准备后,启动模型训练。
  • 目标: 测试结果,优化模型性能。 注:以上内容根据给定信息重新编写,确保条理性和结构性。
    图片

CodeChat 模型数据方案概述

微调后的 CodeChat 功能

  • 代码解析:提供代码解析功能,增强用户对代码的理解。
  • 一键 IDE 打开:允许用户快速在 IDE 中打开和编辑代码。

应用场景

  1. 流水线错误分析:分析代码在流水线中的执行情况,快速定位问题。
  2. IDE 内问题解决:在集成开发环境中直接解决编码问题。
  3. APM 性能分析:利用应用性能管理工具进行代码性能分析。
  4. 线上问题分析:对线上运行的代码进行问题诊断和优化。

AI IDE 融合与选择

  • AI IDE 重要性:作为研发平台的重要组成部分,AI IDE 通过场景融合提升开发效率。
  • CodeServer 到 OpenSumi:最初使用 CodeServer,后因 OpenSumi 的优势而选择后者。

OpenSumi 的优势

  • 开放的 AI 能力:支持自定义 AI 功能,以适应不同开发需求。
  • 高度定制化:允许用户根据需求进行深度定制。
  • VS Code 插件兼容性:兼容 VS Code 插件市场,扩展功能丰富。

基于 OpenSumi 的优化

  • AI 能力与 IDE 集成:提升 AI 功能与 IDE 的集成度,实现更流畅的开发体验。
  • 场景优化
  • AI Code:智能代码生成与补全。
  • Inline Chat:集成聊天功能,便于团队沟通。
  • 智能终端:提供智能终端操作支持。
  • APM 性能分析:集成性能分析工具,优化代码性能。
  • 代码审查:自动化代码审查,提高代码质量。
  • 即时通讯(IM):集成即时通讯工具,提升团队协作效率。

结构化内容本文档通过结构化的方式,详细阐述了 CodeChat 模型数据方案及其在 AI IDE 中的应用和优势。

图片

AI 工程化的未来展望

随着人工智能技术的飞速发展,我们对未来的AI工程化进行了全面的思考和规划。以下是我们从三个主要维度进行的探讨:

1. 领域模型的微调与产出我们计划基于大语言模型进行微调,以产出适应特定领域的模型。这些模型将更加精准地服务于专业领域的需求。

2. 构建领域Agent,提升任务处理能力在特定领域模型的基础上,我们将构建Agent,这些智能体将具备处理复杂任务的能力,并能承担设计和研发中的重复性工作。

3. 实现多智能体系统(Multi-Agent)拥有Agent后,我们将迈向多智能体系统的构建。这种系统非常适合工程化,因为工程化的SOP交付流程是标准化的,从而允许智能体进行高效的编排、共享、自主分工与协作。

Multi-Agent系统的实现Multi-Agent系统将实现端到端的智能交付,即从用户需求的产生到最终产品的交付,全过程自动化和智能化。这一过程依赖于一个Multi-Agent运行时系统,该系统由以下三个部分组成:

消息中心(Shared Message Pool)所有智能体的消息共享、发布和订阅都将通过消息中心进行。

工具库(Tools)底层工具库将提供API、企业私有库、外部设置和外部搜索等工具,以支持多智能体的运行。

Agent Detail每个Agent将包含记忆模块、任务拆解和执行任务等功能。

示例应用场景以开发一个To Do List应用为例,当用户提出需求时,PM Agent会将需求消息发送给Engineer Agent。Engineer Agent接收到消息后,通过内部记忆模块查找类似项目代码,并进行任务拆解和执行。任务完成后,消息将返回至消息中心,并通知QA Agent进行自动化测试。

通过上述结构化的规划,我们相信AI工程化的未来将更加高效和智能。
图片

多智能体系统实现端到端智能交付

流程概述多智能体系统(Multi-Agent System)通过各智能体(Agent)的协同工作,实现了从需求提出到最终交付的全流程自动化。每个智能体在这一过程中扮演着特定的角色,并且随着技术的进步,智能体的能力和角色也在不断演变。

智能体的演变

  • Engineer Agent:初始设计为工程智能体,负责工程任务的执行。
  • React Agent:Engineer Agent的进一步细分,专注于React框架的工程任务。
  • User Proxy:代表用户利益,确保智能体的行为符合用户需求。

技术演进随着智能体模型的不断优化,工程化流程将经历以下转变:

  1. 人类主导:在初期,人类工程师主导项目,智能体辅助完成部分任务。
  2. Agent主导:随着技术成熟,智能体逐渐承担更多责任,最终实现从需求分析到开发交付的全过程自动化。

未来展望智能体系统的发展预示着工程化流程的自动化程度将不断提高,最终实现高度智能化的交付过程。这不仅提升了效率,也为用户提供了更加个性化和高效的服务体验。

图片
在AI大模型的浪潮中,许多开发者感到迷茫和焦虑。《新程序员007》杂志以’大模型时代,开发者的成长指南’为主题,旨在帮助开发者拨开迷雾,清晰地看到并拥抱未来。 杂志特色

  • 深入探讨AI大模型对开发者的影响
  • 分享业内专家和开发者的见解与经验
  • 真实案例分析,提供有价值的第一手资料 读者反馈 读者们对杂志的质量表示赞赏,特别是对中国有这样高质量的、贴近开发者需求的杂志感到激动。他们认为,杂志中关于AI的深度讨论和采访内容,不仅真实而且具有很高的参考价值。 核心价值 《新程序员》致力于帮助开发者学习新知识,产生共鸣,解答心中困惑,这是其核心价值所在。 订阅方式 欢迎通过扫描下方的二维码订阅我们的纸书和电子书版本,与我们一同探索AI大模型时代的无限可能。
    图片