PlanetScale は Bugbot を使って本番環境の信頼性を守っている

PlanetScale は、顧客の最も機密性の高いデータを扱うクラウドデータベースのワークロードを管理しています。信頼性そのものがプロダクトです。本番環境にデプロイされるあらゆるコード変更は、完璧でなければなりません。エージェントによってコード生成が低コストかつ高速になった結果、ソフトウェア開発ライフサイクルにおける新たなボトルネックはコードレビューへと移りました。
正確性を担保し、本番環境へのデプロイに自信を持つために、PlanetScale は専用のエージェント駆動のレビュー層として Bugbot を採用しました。現在では、Bugbot のコメントの約 80% がマージ前に対処されており、不具合が本番環境に到達するのを防ぐとともに、PlanetScale ではフルタイムエンジニア 2 名分に相当するレビュー工数を削減できています。
エージェントによって SDLC のボトルネックは後工程へとシフトした
製品の信頼性を維持するため、PlanetScale のエンジニアリングチームはコードレビューにおいて一切妥協のない基準を設けている。「信頼性は当社プロダクトの中核です。本番環境にデプロイされるあらゆる変更は、完璧でなければなりません」と、PlanetScale の Software Engineer である Fatih Arslan 氏は語る。
コーディングエージェントが開発ワークフローの中心になるにつれて、ボトルネックはコード生成からコードレビューへと後工程に移動した。「コードを書くこと自体は安価になりました。今のボトルネックは、そのコードが正しいかどうか、そして自分がその挙動を理解しているかどうかです」と Arslan 氏は説明する。
コードの出力量は急速に増える一方で、人間によるレビューのキャパシティは一定のままだった。この不均衡がプロダクト品質へのプレッシャーを生んだ。ペースを維持するには、コードレビュー専任として 2 名のエンジニアを割り当てる必要があると PlanetScale は試算した。しかし、それではプロダクト開発に割けるエンジニアリングリソースが減るだけであり、エージェントの活用が拡大し続ける中での長期的な信頼性という課題の解決にはつながらない。
既存のプロセスを補完するために、Bugbot によるエージェント型レビューが必要だと気づきました。そうしなければ、品質と正確性に自信を持ってコードを本番環境へデプロイするのは非常に難しかったでしょう。
Bugbot で本番環境のダウンタイムを未然に防ぐ
Bugbot は、PlanetScale のコードベースの複雑さとエージェント生成コードの多さゆえに人間のレビューアが見逃していた問題を検知できたため、他のエージェントレビュー用ツールの中でも際立った存在となりました。
Bugbot を導入したことで、エンジニアは本番環境のダウンタイムを引き起こし得るバグを、開発のより早い段階で発見・解決できるようになりました。
Bugbot は他のツールとは違います。人間のレビューアとして自分では決して着目しないような問題を検知してくれるんです。本当に驚きました。
構文レベルの正しさにフォーカスした静的解析ツールやリンターとは異なり、Bugbot は以下のような、より深いセマンティクスやロジック上の問題をあぶり出します。
- システムが時期尚早に完了扱いされてしまうような 状態同期の抜け漏れ
- 重要なコードパスの実行を妨げてしまう ロジックフローの変更
- 正しく収束しない 非同期コントローラー間のやりとり
- 本番データベース全体で再起動を引き起こしかねない エッジケース
Bugbot は、本番環境で事業に影響するようなダウンタイムを引き起こし得るバグを一貫して見つけてくれますが、こうしたバグを人間が見つけるのは非常に困難です。
PlanetScale はまた、フロンティアモデルに単にコードレビューをさせるだけでは、Bugbot が特定するような最もクリティカルな問題を一貫して洗い出せないことも確認しました。「推論モデルにブランチのレビューを頼んでも、こうした問題は見つかりません。差を生んでいるのは、専用のハーネスと Bugbot のアーキテクチャそのものなんです」と Arslan 氏は語ります。
Bugbot レビュー品質の測定
PlanetScale は Bugbot を、シンプルな指標で評価しています。それが「解決率」で、Bugbot が特定した問題のうち、マージ時点で対応されたものの割合を示します。
現在、月にレビューされる 2,000 件超の PR において、Bugbot のコメントのおよそ 80% がエンジニアによって対応されています。「Bugbot のコメントは一級品で、Bugbot がより多くのコンテキストを得るにつれて、時間とともにどんどん良くなっています」と Arslan 氏は語ります。
Bugbot の signal-to-noise 比は非常に高いです。Bugbot が PR にコメントするとき、それは私たちが修正しなければならない問題を確実に指摘していると分かります。
現在、Bugbot は PlanetScale のワークフローに深く組み込まれており、人間が書いたコードとエージェントが生成したコードの両方を、安全に本番環境へデプロイできるという自信をエンジニアにもたらしています。「私は Bugbot が大好きです。それが私のモットーです」と Arslan 氏は話します。
PlanetScale は、品質を犠牲にすることなくソフトウェアをより迅速にリリースできるようになり、エンジニアはエージェントが生成したすべての行を手作業でレビューするのではなく、複雑なインフラの課題解決に集中できるようになりました。
もし私がエンジニアリングチームから Bugbot を取り上げたら、反乱が起きるでしょう。
エージェントを活用してコードレビューを効率化し、プロダクトの信頼性を高めることにご興味がおありでしたら、弊社チームまでお問い合わせいただき、Cursor のトライアルをぜひお試しください。