前提
- 今の会社に転職してきて半年、社内システム保守・開発をしてます
- 出来て8年目くらいのPHPアプリを触ってます
- 仕事では、困った時にGeminiかChatGPTに相談するくらいしかAI使ってない
抱えていた課題
仕様が不明確
システム作成当初はスピード重視で開発されたため、まず仕様書がありませんでした。
また、システムを作成した人が既に退職しており、「この機能はどういう意図で作られたのか」「なぜこのような実装になっているのか」といった背景情報も社内に残っていませんでした。
開発メンバーの中にも、仕様背景や細かい仕様を覚えている人がおらず、バグ報告や問い合わせ対応時に、まず該当機能の画面にたどり着くまでが一苦労という状態…
コードの複雑さ
スピード重視故に、コードの可読性や保守性があまり考慮されていません。結構グチャグチャ
複雑なロジックや入り組んだ条件分岐が多く、バグの原因を特定するのにかなり時間がかかっていました。
そこで「Cursor」ってやつを使ってみることに
そんな中、AI機能を搭載した「Cursor」というエディターがすげーらしい!という記事がよく見られるようになりました。
Cursorはコード全体を読んであれこれしてくれるらしい!と聞いて「これもしかして原因調査にめっちゃ役立つのでは?」と思い使ってみたところ、本当に役に立ったのでこの記事を書きました。
Cursorの説明は、この記事がわかりやすいです。
Cursor 【はじめからそうやって教えてくれればいいのに!】
楽になったこと
バグ原因調査
例えば、ユーザーからある機能についてのバグ報告があった際、これまでは
- その機能がどこにあるのかを探す
- 関連するコードを見つける
- 複雑なロジックを解読する
- 問題の原因を特定する
というステップを踏んでいました。
これが、Cursorに報告内容とちょっとした前提情報を教えてあげるだけで
- 機能の概要
- アクセス手順
- 問題の原因
を的確に説明してくれるため、調査時間が大幅に短縮されました。
まだまだプロンプト力が足りないのか、たまに回答が間違ってたりするので自分で確かめる必要はあるのですが、「まずどこの話?」が一発で「多分ここかも」に進むので、圧倒的に調査が楽になりました。
仕様の整理
ある時「権限によってどのような機能に制限をかけているかの一覧が欲しい」という要望がありました。
本来あるべきドキュメントですが、うちの場合システム構築時に作成されたままメンテされておらず、実際のコードとの乖離が激しい状態でした…。
これもCursorに相談。
現在のコードを分析して権限と機能制限の関係を一覧化してくれました。
ただ、これに関しては権限に関する実装手法が統一されていないと正確なものが出てこないです。
実装手法統一しろよというのはごもっともなのですが、古いコードだと統一されていなかったりするのが現状。
これはプロンプトの改善でなんとかなるかもです。試してないけど。
権限による機能制限の実装手法をまず洗い出してもらってから、その情報を元に一覧を出してもらうとかでいけそうな気がします。
古いシステムこそCursorの使いどころ
いろんなシーンで活躍している便利なCursorくんですが、
特に、仕様背景が分からない・作成者がもういない・動いてるけどコードがカオスで手がつけられない…といった古いシステムほど真価を発揮するのでは?と思いました。
- 仕様が不明確 → AIがコードから意図を読み取ってくれる
- 複雑なコード → AIが整理して説明してくれる
- ドキュメント不足 → AIが現状を分析してまとめてくれる
まとめ
開発者が退職していたり、コードの保守性が低かったりする古いシステムの保守担当者にとって、Cursorは最高の相棒になり得ると思いました。
少なくとも自分は、レガシーコードを理解する時間を短縮し、問題解決に集中できるようになるため、業務が圧倒的に楽になりました。
同じような悩みを抱えている方は、ぜひCursorを試してみることをおすすめします!
ただし、Cursorはデフォルトだと利用するコードをサーバーに送信して処理を行うので、仕事で使う場合は大体の場合プライバシーモードを有効にする必要があると思います。そこだけご注意ください!
参考:企業で使うために、次世代AIエディタCursorのPrivacy Policyを読んでみた #ChatGPT - Qiita