コード生成より、まず調査で使いたかった
会社のCopilot Chat AgentでClaude Sonnet 4を使える機会がありました。
AIモデルを使うとき、すぐにコードを書かせる話になりがちです。
ただ、私がまず試したかったのはコード調査です。
既存コードのどこで何が起きているのか。
不具合の原因候補はどこか。
修正するなら、どのファイルに触ることになりそうか。
こういう調査は、時間も集中力も使います。
そこをAIに手伝ってもらえるなら、開発の進め方が変わると思いました。
大きなコードを読むとき、AIは入口を作ってくれる
既存システムの調査でつらいのは、どこから読めばよいか分からないことです。
Controllerから見るのか。
Serviceから見るのか。
JobやCallbackが関係しているのか。
フロント側の状態管理が原因なのか。
最初の探索で迷う時間は、地味に大きいです。
Claude Sonnet 4をCopilot Agent経由で使うと、関連しそうなファイルや処理の流れを整理してくれます。
もちろん、すべて正しい前提では見ません。
ただ、読む順番の候補が出るだけでも助かります。
これは 生成AI活用法 で書いた相談相手としての使い方に近いです。
良かったのは、修正方針の比較まで進められること
調査だけでなく、修正方針を複数出してもらえる点も助かりました。
例えば、
「最小修正ならここ」
「根本的に直すならここ」
「影響範囲を抑えるならここ」
というように、選択肢を並べてもらえます。
この状態になると、人間側は判断に集中できます。
今すぐ直す必要があるのか。
将来の保守性も見て直すのか。
既存設計に合わせるのか。
テストをどこまで足すのか。
AIが答えを決めるのではなく、判断材料を用意してくれる感覚です。
調査依頼は、雑に投げないほうがよい
コード調査を頼むときは、最初の渡し方で結果が変わります。
「この不具合を直して」
だけだと、AIも広く探すことになります。
できれば、次のような情報を添えたいです。
- 何が起きているか
- 期待する挙動は何か
- 再現手順はあるか
- 最近触ったファイルはどこか
- まず調査だけしてほしいのか、修正までしてほしいのか
このあたりを渡すと、AIの調査も人間のレビューも進めやすくなります。
AIに良い仕事をしてもらうには、人間側の問題設定が必要です。
ここは、普段の相談やレビューとあまり変わらない気がします。
注意したいのは、読めた気にならないこと
一方で、AIの説明が自然だと、読めた気になりやすいです。
「この処理が原因です」
「このファイルを直せばよいです」
と整った文章で言われると、そのまま信じたくなります。
ただ、実際のコードはもっと泥くさいことがあります。
環境差、データ差、過去の暫定対応、仕様として残っている挙動。
AIがそこまで正確に拾えているとは限りません。
なので、私は次の確認を入れたいです。
- AIが挙げたファイルを自分で読む
- 再現手順と照らす
- ログやデータで確認する
- 修正案の副作用を見る
- テストで守る
このあたりは 「良いだろう」で書いた実装は、レビューでだいたい指摘される の話にもつながります。
AIが出した方針でも、最後に意図を持つのは人間です。
チームで使うなら、調査結果を残したい
コード調査にAIを使った場合、その結果を自分の頭の中だけで終わらせるともったいないです。
どこを見たのか。
何が原因候補だったのか。
なぜその修正にしたのか。
見送った案は何か。
このあたりをプルリクやメモに残しておくと、次の人が助かります。
AIで調査が速くなるほど、調査の履歴を残す価値も上がると思います。
速く進めた分だけ、未来の自分に説明を残しておきたいです。
プルリクでは、AIに聞いたことより判断を残す
AIを使ったこと自体を細かく書く必要はないと思っています。
ただ、AIと一緒に調査した結果、何を採用し、何を見送ったのかは残したいです。
たとえば、プルリクには次のように書けます。
- 原因候補を3つ確認し、この処理に絞りました
- 最小修正案を選び、既存の挙動は変えないようにしました
- 根本対応は影響範囲が広いため、別タスクに分けます
- 再発防止として、このテストを追加しました
こう書いておくと、レビューする人は判断の流れを追えます。
AIを使ったかどうかより、最終的にどんな意図で直したのか。
そこが残っているほうが、チームの知識として使いやすいと思います。
まとめ
Claude Sonnet 4 × Copilot Chat Agentは、コード生成だけでなくコード調査に向いていると感じました。
読む順番を作る。
原因候補を並べる。
修正方針を比較する。
テスト観点を出す。
こうした作業を手伝ってもらえると、開発者は判断に時間を使いやすくなります。
ただし、AIの説明をそのまま結論にしないこと。
最後はコードを読み、動かし、意図を持って選ぶ。
AIが調査を助けてくれる時代なので、人間側の確認と記録を残したいです。