Salesforce实践AI驱动下的4个工程启示
<h2></h2><h2>引言:当软件测试达到极限</h2><p><font size="3"> 在现代软件开发中,自动化测试是质量保障的基石,但它也带来了一个普遍的挑战:海量的测试失败案例。当系统规模达到一定程度时,诊断和修复这些失败案例本身就可能成为一个巨大的工程瓶瓶颈,拖慢整个开发节奏。</font></p><p><font size="3"> Salesforce的工程团队对此深有体会。他们的测试生态系统规模惊人:<b>每天运行约600万次测试</b>,每月产生约<b>15万次失败</b>。在引入AI之前,处理这些失败是一个缓慢而痛苦的过程。最关键的痛点是,工程师平均<b>需要大约七天才能解决一个测试失败</b>。这不仅消耗了宝贵的开发时间,也增加了开发者的挫败感。为了打破这个瓶颈,Salesforce构建了一个AI驱动的“测试失败(TF)分诊代理”。本文将分享他们从这个过程中学到的四个最重要且出人意料的启示。</font></p><h2>启示一:问题的规模本身,就是构建AI解决方案的最大动力</h2><p><font size="3"> Salesforce面临的挑战不仅仅是测试数量多,更在于其集成测试的极端复杂性。平台上有超过3万名工程师每天提交代码,任何一次变更都可能是导致集成失败的根源。这种复杂性直接影响了最终的用户体验。</font><font size="3">为了应对这一挑战,Salesforce设有一个专门的平台质量工程团队,他们是确保产品质量的**“最后一道防线”<b>。他们的核心使命是进行跨产品的集成测试,确保所有独立开发的功能能够像一个统一的系统一样协同工作。否则,正如源文件中所描述,</b>“客户有时会把这种情况形容为,这些产品感觉像是来自不同的公司。”*这种潜在的体验割裂,使得高效的集成测试成为必须。正是这种无法通过传统人力解决的巨大规模和业务关键的复杂性,才使得投资构建一个复杂的AI系统成为一个必然且合理的选择。</font></p><h2>启示二:最高效的AI并非“万能”,而是“混合动力”</h2><p><font size="3"> 与直觉相反,团队发现最强大的解决方案并非依赖单个、万能的大语言模型(LLM),而是一种更聪明、更务实的混合策略。Salesforce的实践证明,最高效的方案是一种巧妙结合了数据处理、语义搜索和LLM推理优势的“混合动力”架构。</font></p><p></p><p><font size="3">这个多阶段流程如下:</font></p><p><font size="3">1. <b>解析与嵌入</b>:首先,系统要处理杂乱无章的错误日志和代码片段。专门的解析管道会清理和结构化这些数据。随后,系统会生成“上下文嵌入”,即将清理后的文本转化为能捕捉其深层含义的数学向量。</font></p><p><font size="3">2. <b>语义搜索(使用FAISS)</b>:利用这些向量,系统通过FAISS(一个高效的相似性搜索库)在海量的历史失败案例数据库中进行语义搜索。它能以极快的速度找到与当前失败案例最相似、并且已经解决过的问题。这比传统的SQL数据库查询要快得多。</font></p><p><font size="3">3. <b>LLM推理</b>:最后,LLM介入,对语义搜索返回的相关结果进行深度解读、提炼和总结。它不是凭空猜测,而是基于已有成功案例生成清晰、具体、可执行的修复建议。</font></p><p><font size="3"> 这种混合方法的最大优势在于精准和可靠。它有效地避免了LLM有时可能产生的**“模糊或不正确的建议”<b>,从而帮助工程师</b>“建立对AI工具的信任”**。AI的价值不仅在于自动化,更在于提供值得信赖的、能直接解决问题的方案。</font></p><p><font size="3">Salesforce 构建了“测试失败分类智能代理”(Test Failure Triage Agent,简称 TF Triage Agent),这是一个 AI 驱动的系统,能在测试失败发生后的几秒钟内提供具体的修复建议。TF Triage Agent 的设计目标是将原本缓慢、人工的分类流程转变为一个快速、可靠的自动化工作流。</font></p><p></p><p><font size="3">该架构的主要技术组件:</font></p><p><strong><font size="3">1. 使用 FAISS 进行语义搜索</font></strong></p><p><font size="3">Salesforce 使用 FAISS(Facebook AI Similarity Search)构建了一个历史测试失败及其解决方案的语义搜索索引。FAISS 是一个用于向量相似性搜索的库,能够实现极快的数据匹配。</font></p><p><font size="3">每当发生新的测试失败时,系统会对该失败进行向量化,并在索引中搜索与之最相似的历史失败。这使得系统能够将新错误与曾经修复过的问题匹配,并推荐可能的解决方案。使用 FAISS 替代了传统的 SQL 数据库查询方式,后者在 Salesforce 的规模下速度太慢,无法满足实时查询需求。</font></p><p><strong><font size="3">2. 上下文嵌入与解析管道</font></strong></p><p><font size="3">错误日志和代码片段通常格式混乱、内容不一致。为了让这些数据适用于语义搜索,Salesforce 工程团队构建了数据解析管道,在数据处理前对其进行清洗和结构化。</font></p><p><font size="3">清洗后的数据会被转换为“上下文嵌入”(contextual embeddings),这是能够捕捉代码片段和错误信息含义的数学表示。通过对错误堆栈和历史修复方案进行嵌入,系统能够有意义地比较它们,并为新失败识别最可能的解决方案。</font></p><p><strong><font size="3">3. 异步与解耦管道</font></strong></p><p><font size="3">团队将管道设计为异步运行,并与主要的 CI/CD 流程解耦。这意味着 AI 分类流程可以并行运行,不会拖慢代码集成或测试活动。</font></p><p><font size="3">这一设计对于系统速度至关重要。开发人员无需等待 AI 系统完成处理,管道会独立处理失败并快速返回建议,从而保持整体延迟较低。</font></p><p><strong><font size="3">4. 大模型推理与语义搜索的混合架构</font></strong></p><p><font size="3">Salesforce 工程团队将语义搜索与大语言模型(LLM)推理相结合,以获得两者的优势。</font></p><p><font size="3">语义搜索阶段负责找到最相关的历史案例,而 LLM 则对这些结果进行解释和精炼,生成清晰、具体的指导建议。这种方法确保开发人员收到的是精准的建议,而不是模糊或通用的答案。同时,它也有助于避免推测性输出,从而提升开发人员对 AI 工具的信任。</font></p><h2>启示三:架构先行,异步设计是系统成功的关键</h2><p><font size="3">在构建AI系统时,人们往往过度关注模型本身,而忽略了支撑它的系统架构。Salesforce的经验表明,一个优秀的架构设计与AI模型本身同等重要。他们的关键决策是构建一个**“<strong>异步和解耦</strong>的流水线”**。</font><font size="3">这意味着AI分诊过程与核心的CI/CD(持续集成/持续交付)工作流是并行运行的,互不干扰。换言之,开发人员无需等待AI的分析结果,就可以继续提交代码或进行其他工作,AI在后台为他们准备解决方案。</font></p><p><font size="3">这种设计的优势显而易见:它确保了AI系统能够在<b>30秒以下</b>的响应时间内返回建议,不会成为开发流程的新瓶颈。面对每天数百万次的测试量,异步架构能够平稳地扩展,确保系统在高峰期依然高效、稳定。正是这个架构决策,才使得AI分诊代理能够无缝地融入到Salesforce庞大而高速的工程体系中。</font></p><h2>启示四:用AI来构建AI,开发周期从“数月”缩短到“数周”</h2><p><font size="3">这个项目中最令人惊讶的启示或许是:Salesforce的工程师使用了一款名为Cursor的AI编程工具来开发这个AI分诊智能体。这戏剧性地展示了AI在软件开发全流程中的潜力。</font></p><p><font size="3">数据对比极其鲜明:在正常情况下,构建这样一个复杂的系统**“需要几个月的人工工作”<b>。但在Cursor的帮助下,</b>“团队仅用了四到六周就完成了项目”**。AI工具在以下几个方面提供了关键帮助:</font></p><p></p><p><font size="3">• <b>智能发现和复用已有代码模式</b>:当需要添加新功能时,Cursor能快速定位内部已有的成熟实现,避免了工程师“重新发明轮子”。</font></p><p><font size="3">• <b>快速探索多种架构方案</b>:在面临扩展性挑战时,能够快速探索由AI建议的多种架构方案,并迅速做出明智决策。</font></p><p><font size="3">• <b>将精力聚焦于核心业务逻辑</b>:通过自动处理繁琐的样板代码编写和旧代码库搜索,让工程师能将宝贵的时间投入到最复杂的“故障分诊逻辑”设计上。</font></p><p><font size="3">这一点揭示了一种全新的软件开发模式:AI不仅是我们交付的产品,更是加速开发过程、提升工程效率的强大工具。用AI来构建AI,正在成为现实。</font></p><p><font size="3"><br></font></p><h2>结论:超越自动化,构建信任</h2><p><font size="3"> 通过构建和部署TF分诊智能体,Salesforce成功地将一个缓慢、手动的流程转变为一个快速、可靠的自动化工作流。最终,该项目<b>将测试失败的解决时间加快了30%</b>,显著提升了开发者的生产力。</font></p><p><font size="3">Salesforce的成功经验提供了宝贵的启示:混合AI方法、异步架构以及利用AI工具加速开发是实现目标的关键技术策略。但同样重要的是他们的部署策略:通过增量上线和提供具体的数据来逐步建立工程师对工具的信任。这不仅关乎技术,更关乎如何构建工程师真正信赖并乐于使用的工具。</font><iframe src="https://player.bilibili.com/player.html?isOutside=true&aid=115375857468618&bvid=BV1ED4vzJEvV&cid=33083164164&p=1" border="0" frameborder="no" framespacing="0" scrolling="no" allowfullscreen="true"></iframe></p>今天先到这儿,希望对AI,云原生,技术领导力, 企业管理,系统架构设计与评估,团队管理, 项目管理, 产品管理,信息安全,团队建设 有参考作用 , 您可能感兴趣的文章:<br><font size="2">微服务架构设计</font><br><font size="2">视频直播平台的系统架构演化</font><br><font size="2">微服务与Docker介绍</font><br><font size="2">Docker与CI持续集成/CD</font><br><font size="2">互联网电商购物车架构演变案例</font><br><font size="2">互联网业务场景下消息队列架构</font><br><font size="2">互联网高效研发团队管理演进之一</font><br><font size="2">消息系统架构设计演进</font><br><font size="2">互联网电商搜索架构演化之一</font><br><font size="2">企业信息化与软件工程的迷思</font><br><font size="2">企业项目化管理介绍</font><br><font size="2">软件项目成功之要素</font><br><font size="2">人际沟通风格介绍一</font><br><font size="2">精益IT组织与分享式领导</font><br><font size="2">学习型组织与企业</font><br><font size="2">企业创新文化与等级观念</font><br><font size="2">组织目标与个人目标</font><br><font size="2">初创公司人才招聘与管理</font><br><font size="2">人才公司环境与企业文化</font><br><font size="2">企业文化、团队文化与知识共享</font><br><font size="2">高效能的团队建设</font><br><font size="2">项目管理沟通计划</font><br><font size="2">构建高效的研发与自动化运维</font><font size="2"> <br></font><font size="2">某大型电商云平台实践</font><font size="2"> <br></font><font size="2">互联网数据库架构设计思路</font><font size="2"> <br></font><font size="2">IT基础架构规划方案一(网络系统规划)</font><font size="2"> <br></font><font size="2">餐饮行业解决方案之客户分析流程</font><font size="2"> <br></font><font size="2">餐饮行业解决方案之采购战略制定与实施流程</font><font size="2"> <br></font><font size="2">餐饮行业解决方案之业务设计流程</font><font size="2"> <br></font><font size="2">供应链需求调研CheckList</font><font size="2"> <br></font><font size="2">企业应用之性能实时度量系统演变</font><font size="2"> </font><font size="2"></font><p><font size="2">如有想了解更多软件设计与架构, 系统IT,企业信息化, 团队管理 资讯,请关注我的微信订阅号:</font></p>
<p></p>
<p id="PSignature" ><font size="4">作者:Petter Liu <br>出处:http://www.cnblogs.com/wintersun/ <br>本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
该文章也同时发布在我的独立博客中-Petter Liu Blog。</font></p><br>来源:程序园用户自行投稿发布,如果侵权,请联系站长删除<br>免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! 谢谢分享,辛苦了 感谢分享,学习下。 用心讨论,共获提升!
页:
[1]