HeadlinesBriefing favicon HeadlinesBriefing.com

代码扫描:自动化代码库改进 | Devin 新功能

Hacker News •
×

今天我们推出代码扫描:一种将广泛的工程目标转化为代码库中具体改进的新方式。告诉 Devin 你想要实现什么,它将帮助你调查需要更改的内容、评估发现结果,并将其转化为拉取请求。许多工程任务始于特定的更改,但也有许多始于某种结果,比如改善 SEO、减少维护开销,或让应用程序编译得更快。这些目标往往停留在待办事项中,因为仅第一步——调查代码库以确定从何入手——就是一个大型项目。识别机会只是一半工作——仍有人必须实施这些更改,而且往往不止一处。代码扫描同时解决这两个问题。

代码扫描基于 Agentic Map Reduce 架构,这是我们为 Devin Security Swarm 构建的架构。它将大规模调查拆分为聚焦的批次,分发给并行代理执行,并将其发现综合成一份报告。随后 Devin 将发现结果转化为可供审查的 PR。提前测试代码扫描的团队已看到成效:代码扫描在软件质量、错误修复、稳定性、性能和合规性(包括安全和隐私)方面产生了显著影响。据估计,在多个代码库中 PR 合并率达 96%,我们在短暂的测试期内估计已节省超过 700 个工程小时。

要开始使用,请在 Devin 网页应用中输入 /scan,或阅读文档。启动扫描前,你无需知道要查看哪些文件。你定义要查找的内容,Devin 会与你协作将该目标转化为具体的代码库调查。例如,查找 Web 应用中的未使用代码,排除生成的文件和测试固定装置,并在推荐移除前检查间接引用。你也可以引入自己的标准:团队的编码规范、无障碍清单,或即将到来的迁移需求。Devin 帮助确定要检查什么、跳过什么,以及什么应算作发现。一旦你确认范围和设置,Devin 就会运行调查并返回按优先级排序的发现列表。

我们让代码扫描为 Dioxus 仓库加快编译速度。Devin 识别出精简依赖和构建配置的机会,包括将繁重的 CLI 功能设为可选而非默认编译。在本地应用更改后,干净调试构建时间从 58.6 秒降至 21.0 秒——在测试的 22 个工作区 crate 中实现了 64% 的减少。扫描发现包括:默认挂载的 feature 强制将 web-sys/js-sys/wasm-bindgen 引入每个非 Web 渲染器、过大的基础 crate 导致完全重新展开、以及 cargo-generate 无条件编译尽管仅被 dx create 使用。

关键实体:公司:Cognition、Devin