← 返回蜂巢洞察

大规模的人工智能代码审查:LinkedIn采用的多智能体解决方案

在LinkedIn这样的规模下,仅仅依靠人工审核员来处理代码审查任务,或者直接将现成的AI审核系统应用于GitHub,显然并不是一种有效的管理方式。为了解决这个问题,LinkedIn的工程师们开发了一个多智能体的AI代码审查平台——该平台能够理解企业的编码规范与环境,将代码审查视为一种重要的生产性基础设施,并有效减少错误判断以及那些信息量较少的反馈结果。 作者:Sergio De Simone

在LinkedIn这样的规模下,仅仅依靠人工审核员来处理代码审查任务,或者直接将现成的AI审核系统应用于GitHub,显然并不是一种有效的管理方式。为了解决这个问题,LinkedIn的工程师们开发了一个多智能体的AI代码审查平台——该平台能够理解企业的编码规范与环境,将代码审查视为一种重要的生产性基础设施,并有效减少错误判断以及那些信息量较少的反馈结果。

作者:Sergio De Simone

相关文章

技术实践

人工智能工程在实践中的应用:人工智能工程师与现场部署工程师如何利用Claude Code、Codex及Gemini来进行开发工作

METR )。 DORA )。 Stack Overflow )。 Anthropic )。 目录 先决条件 什么是AI原生SDLC? 当代码开发成本降低后,瓶颈会出现在哪里? Claude Code、Codex与Gemini CLI:同一个框架,三种不同的工具/术语体系 如何开展规划阶段的工作 如何开展设计阶段的工作 如何开展构建阶段的工作 如何开展测试阶段的工作 如何开展部署阶段的工作 如何开展维护阶段的工作 一名工程师如何负责一个五人的团队 规划阶段 设计阶段 构建阶段 测试阶段 部署阶段 维护阶段 在全面采用AI原生SDLC之前,需要检查的事项清单 结论 接下来应该探索什么 先决条件

阅读全文
技术实践

构建者设计模式:构建复杂对象的一种更有效的方法

有些对象非常简单,比如字符串、数字或布尔值。你可以用一行代码创建它们,然后继续进行其他操作。 而另一些对象则完全不简单。例如,一个轮播组件就需要包含项目数量、项目生成函数、控制器、高度、视图窗口比例、自动播放设置、页面切换回调函数以及无限滚动配置等信息。再比如,一个HTTP请求需要URL地址、请求头信息、认证令牌、请求体内容、超时时间以及重试逻辑。又或者,一条通知消息需要标题、正文、图标、发送渠道、优先级、声音效果、振动功能以及操作按钮等等。 当你需要构建这类对象时,一种常见的方法是使用带有大量参数的构造函数。这种方法虽然可行,但随着对象结构变得越来越复杂,就会带来一系列问题:这些参数很难区分

阅读全文
技术实践

人工智能时代严格而可持续的人工审核机制

在面对复杂的代码修改时,强制进行人工智能检查,并结合人工审核流程,能够帮助开发者保持敏锐的判断力。如果大多数开发人员都是代码的负责人,且团队规模较小,那么对于风险较低的代码提交,团队可以跳过同行评审环节,直接使用人工智能审批机制来提升开发效率。 作者:本·林德斯

阅读全文
技术实践

如何在重构旧代码之前设计相应的特性测试用例

许多工程师在继承遗留代码后,首先想要做的就是改进这些代码。 你会遇到一些难以理解的函数,或者看到重复的逻辑、深度嵌套的条件语句、混合了业务规则的数据库调用,以及那些使得测试几乎无法进行的依赖关系。 你知道这些代码本可以做得更好,于是开始对其进行优化。 然而,随后就会出现问题。并不是因为新的实现方式存在明显的错误,而是因为旧的实现方式在背后做了某些人们之前根本不知道它在做的事情。 这就是在遗留代码现代化过程中最常出现的风险之一。 在修改代码之前,你需要有一种方法来回答一个简单的问题: 我是否保留了那些原本就重要的功能行为? 这时,特性测试就派上了用场。 特性测试并不是从“软件应该做什么”这个角度

阅读全文