HeadlinesBriefing favicon HeadlinesBriefing.com

Code Scans: コードベース改善を自動化 | Devin

Hacker News •
×

本日、Code Scansを発表します。これは、広範なエンジニアリング目標をコードベース全体での具体的な改善に変える新しい方法です。Devinに何を達成したいかを伝えると、何を変更すべきか調査し、発見事項を評価し、それらをプルリクエストに変換するのを支援します。多くのエンジニアリングタスクは特定の変更から始まりますが、SEOの改善、メンテナンスオーバーヘッドの削減、アプリケーションのコンパイル高速化といった成果から始まるものもあります。これらの目標は、最初のステップである「コードベースを調査してどこから手をつけるかを特定する」こと自体が大規模なプロジェクトであるため、バックログに留まりがちです。改善機会を特定するのは半分の作業に過ぎず、誰かがそれらの変更を実装しなければならず、その数も多岐にわたります。Code Scansはこの両方を支援します。

Code Scansは、Devin Security Swarmのために構築したアーキテクチャであるAgentic Map Reduceによって駆動されます。大規模な調査を焦点を絞ったバッチに分割し、並列エージェントに分配し、それらの発見を1つのレポートに統合します。その後、Devinは発見事項をレビュー準備完了のPRに変換します。リリース前にCode Scansをテストしていたチームはすでに成果を上げています:Code Scansは、セキュリティとプライバシーを含むソフトウェア品質、バグ修正、安定性、パフォーマンス、コンプライアンスに大きな影響を与えました。複数のリポジトリで推定96%のPRマージ率を達成し、短いテスト期間で700時間以上のエンジニアリング工数を削減したと推定しています。

開始するには、DevinのWebアプリで/scanと入力するか、ドキュメントをお読みください。スキャンを開始する前に、どのファイルを見るべきかを知っている必要はありません。何を探しているかを定義すると、Devinがその目標を具体的なコードベース調査に変えるために協力します。例えば、Webアプリ内の未使用コードを、生成ファイルとテストフィクスチャを除外して検索し、削除を推奨する前に間接参照をチェックします。また、チームのコーディング規約、アクセシビリティチェックリスト、今後の移行要件など、独自の基準を持ち込むこともできます。Devinは、何を検査し、何をスキップし、何を発見事項として扱うべきかを決定するのを支援します。スコープと設定を確認したら、Devinが調査を実行し、優先度順に並べられた発見事項のリストを返します。

Dioxusリポジトリでのコンパイル高速化をCode Scansに依頼しました。Devinは、依存関係とビルド設定の合理化の機会を特定しました。これには、重いCLI機能をデフォルトでコンパイルするのではなくオプトイン制にすることが含まれます。ローカルで変更を適用した後、クリーンなデバッグビルド時間が58.6秒から21.0秒に短縮され、テスト対象の22ワークスペースクレート全体で64%の削減となりました。スキャンの発見事項には、デフォルトのmounted機能がweb-sys/js-sys/wasm-bindgenをすべての非Webレンダラに強制していたこと、基盤となるクレートが肥大化して完全な再展開を引き起こしていたこと、cargo-generateがdx createでのみ使用されるにもかかわらず無条件にコンパイルされていたことが含まれます。

主要エンティティ: 企業: Cognition, Devin