「AI を使えば、古いシステムのコードも自動で解析してくれるのでは?」という期待を持たれる方は多いです。実際に使ってみると、「思ったよりできる」部分と「ここは難しかった」部分の両方があります。
この記事では、古い PHP システムの保守・改修にコーディングエージェントを実際に使った経験をもとに、できることとできないことを整理します。
なお、この記事の内容は、私が現在の AI を実務で使いながら判断しているものです。AI の進化は速いため、今後すぐに実情と合わなくなる可能性があります。
コーディングエージェントとは
Claude Code や Codex のようなコーディングエージェントは、リポジトリ全体のファイル構造を把握しながら、説明・調査・修正を順番に進められる AI ツールです。「このファイルを読んで」と個別に渡すのではなく、コードベース全体を順番に調べながら回答してくれます。
単純にコードを貼り付けて質問するより、コードベース全体の文脈を持った上で回答してくれるため、レガシーシステムのような「全体を把握しないと答えられない質問」に向いています。
できること
PHP の互換性問題の修正
PHP のバージョンアップで警告やエラーになった箇所の修正は、AI に任せやすい領域だと感じています。
バージョンアップに伴う非推奨・廃止の変更はパターンが明確で、AI が得意とする領域です。エラーメッセージと該当コードをコーディングエージェントに渡すと、原因と修正方針を示しながら修正してくれます。修正後は内容を確認してから適用します。
バグの原因調査
バグの原因はある程度自分でも分かりますが、コーディングエージェントに調べさせると、コードベース全体を確認した上で原因の候補を挙げてくれます。自分の調査と照合することで、見落としに気づけることがあります。
仕様の把握:処理の場所を探す
「○○の処理はどこに書かれていますか?」という問いに対して、コーディングエージェントはコードベース全体を調べた上で回答してくれます。単純な文字検索で探すより、文脈を踏まえた回答が得られる場面が多いです。
関数の処理内容の説明
「この関数が何をしているか説明して」という依頼にも応えてくれます。仕様書がないシステムで処理の意図を把握したいときに役立ちます。説明の内容は必ず自分でも確認します。
できないこと・注意が必要なこと
AI が作り込んだバグの修正は苦手なことがある
AI が修正したコードに新たなバグが混入した場合、同じ AI に「このバグを直して」と依頼しても、うまく修正できないことがあります。最初の修正方針を前提にしたまま調べるためか、自分が作った問題に気づきにくいことがあります。
こういった場合は、別のコーディングエージェントに調べさせます。Claude Code が生成したコードに問題があれば Codex に確認させる、という使い分けが有効です。
出力は必ず確認する
AI の回答・修正コードをそのまま適用するのは避けます。内容を確認してから使う、という習慣が安全に使い続けるための基本です。
まとめ
古いソースコードの解析に AI を使った場合、おおむね次のように整理できます。
| 作業 | AI の活用しやすさ |
|---|---|
| PHP 互換性修正 | 高(任せやすいが確認は必要) |
| バグ原因調査 | 中(自分の調査と照合する) |
| 仕様の場所確認・処理説明 | 高(確認は必要) |
| AI が作り込んだバグの修正 | 低(別エージェントに切り替える) |
AI はレガシーシステムの調査・修正を効率化する道具として使えますが、出力の確認と最終判断は人間が担います。
当事務所での AI 活用の全体像は生成 AI を実務でどう使うかにまとめています。古い PHP システムへの具体的な改修の進め方は古い PHP システムを安全に改修するための考え方も参考になります。
古いシステムの調査・改修に AI を活用しながら取り組みたい場合は、AI 活用支援またはレガシーシステム保守からご相談ください。
関連記事
生成 AI を実務でどう使うか:サイト制作・ログ解析・コンテンツ運用の実践事例
古い PHP システムを安全に改修するための考え方
PHP フレームワークのバージョンアップ戦略:作り直さずに PHP 8 に対応する方法