返回新闻

走进 Remy 的证据链:每一次修复,都附上证明它的那项检查

Remy 不要求开发者相信它的一面之词。修复之后,它会重跑同一项失败的检查,并在最后如实交代哪些验证了、哪些没有。

插图:Corepass

编程助手已经很擅长写出看起来正确的代码。对需要合并代码的开发者来说,更难回答的问题是:有没有人检查过?Corepass 的编程智能体 Remy 给出的答案相当于一条证据链:记录它运行了哪些检查、某项检查失败后改了什么,并明确说明哪些内容没有验证。

Remy 产品页所描述的这套做法遵循固定的顺序。改完代码后,Remy 运行相关的测试、类型检查或构建。如果有检查没通过,它会查找原因、进行修复,然后重跑同一项检查,而不是换一项更容易通过的。产品页对最后一步说得很直白:“然后告诉你跑了什么、结果如何,以及哪些没有验证。”

  1. 运行检查测试、类型检查或构建
  2. 查找原因当某项检查失败时
  3. 修复并重跑再次运行同一项检查
  4. 汇报结果跑了什么、结果如何、哪些没有验证

失败的那项检查,就是重跑的那项

按产品描述的顺序呈现的 Remy 验证流程。

为什么必须是同一项检查

坚持重跑完全相同的检查,正是关键所在。修复之后如果换一项测试,或者干脆不测,就无法确定原来的失败是否已经消除。重跑失败的那项检查,能把修复和证明它有效的证据联系起来,并把证据放在审阅者看得到的地方。

“然后告诉你跑了什么、结果如何,以及哪些没有验证。”

说明没有检查到的内容

报告的最后一部分,在编程工具中可能最为少见。Remy 的总结会把已验证和未验证的内容分开;在产品自己的演示中,一个任务以两份清单收尾,一份标题是“已验证”,另一份是“未验证”。比如,一处没有任何测试覆盖的代码改动,会被明确列为未验证,而不是一笔带过。

合并之前的审查

验证只是其中一层。Remy 的文档还介绍了一种独立的代码审查模式,按严重程度报告发现的问题,每一条都附有位置、影响和依据。在产品页展示的工作流中,PR 提交之前,审查机器人 Bugbot 会读取差异,查找测试遗漏的问题。

Corepass 把“让工作可审阅”列为其产品原则之一,而验证报告是这一原则在产品中最清晰的体现:智能体负责检查,开发者则获得决定是否合并所需的记录。

Corepass 新闻室报道公司的产品与研究。文中产品信息均来自 Corepass 公开的产品页面、文档和信任中心。如有疑问,请发邮件至 support@corepass.com。

Corepass 更多动态

全部新闻