AIエージェントによるコード修正

これまでコードの修正は、チャット形式でAIに「ここをこう直して」と指示しながら行ってきた。


今回は遅ればせながら、初めて「AIエージェント」形式でコードの修正を行ってみた。


まず最初にやらせたのは、プロジェクト全体の構成を洗い出し、どんなコードがどこにあり、どのような関係になっているのかを確認させた。そのうえで、今回の作業で守るルールなどをまとめたメモも作らせた。


一番大きな変更は、3つに分かれていたシーンを1つにまとめたことだった。


これまでは、試験問題の選択肢の数によって、


・2択・3択問題用

・4択・5択問題用

・6択~20択問題用


という3種類のシーンに分けていた。


それぞれ似たようなコードを持っているので、当然ながら修正するときも3か所を確認する必要がある。


そこで今回は、20択用の画面に統一することにした。


もともとのデータ形式は基本同じで違いは選択肢の数であったので、読み込み時に選択肢を20個分の配列にそろえ、足りない部分は埋める方式にした。


こうすることで、画面側では「これは3択だからこの処理」「これは5択だからこちら」といった分岐をする必要がなくなった。


結果として、画面側のコードをかなり単純化できた。


さらに、作業を進めていく中で、以前から気になっていた不具合もいくつか見つかった。


例えば、アプリをいったん別のアプリに切り替えると、解答画面から強制的に戻されてしまう問題。


それから、「画像を先読みしているつもりだったのに、実は先読みがうまく機能していなかった」という問題もあった。


こうした部分も今回の作業の中で修正した。


そのほか、選択肢の表示位置や、画面を戻るときに一瞬だけガタついて見える部分など、使っていてそれほど気にならないものの、細かく見ると気になる部分もいくつか調整した。


iOSで「書類とデータ」の容量だけが異常に大きく表示される問題についても調べた。


最初はアプリが大量のデータを保存しているのかと思ったが、調べてみると広告関連のキャッシュが原因だった。


アプリそのものが持っているデータが異常に増えていたわけではなかったので、そこは一安心だった。


そして最後に、論理式や統計記号などで使われる、文字の上にバーやドットが付いた記号の表示問題にも手を入れた。


通常の文字として表示すると、環境によっては正しく表示されないものがある。


そこで、必要な文字だけを画像として作り直し、それを表示する方式に変更した。


あわせて、通信まわりのセキュリティ設定も見直した。


今回、AIエージェントを使ってみて感じたのは、単純に「コードを直してもらう」という使い方とは少し違うということだった。


これまでのチャット形式では、こちらが問題の場所をある程度把握して、「ここを直して」と指示することが多かった。


今回は、まずプロジェクト全体を調べさせ、その構成を理解させたうえで、関連するコードをまとめて確認させることができた。


その結果、当初予定していた修正だけでなく、重複していたコードの整理や、以前から残っていた不具合まで見つけることができた。


もっと早く試しておけばよかった、というのが正直なところだ。