はじめに
こんにちは、なたでです。
最近、AIを使ったプログラミング開発を本格的に行っています。
今回は、実際に使ってみてどうだったのか、どんな場面で有効だったのか、逆にどこが難しかったのかを、これまでの開発経験をもとにまとめてみました。
AIを使えば何でも自動で作ってくれる、というイメージを持たれがちで実際そうなのですが、続けて使っていくと問題が分かってきます。この記事では、そうした「現実的な使いどころ」や「人がやった方がいい部分」について、個人的な体験を交えながら紹介したいと思います。
利用AIの紹介
私が普段使用している生成AIとして、ChatGPT Plus を利用しています。
もともとはイベントのアイデア出しやイラスト作成を目的に契約しましたが、使ってみると想像以上に便利で、2023年の夏頃から継続して利用しています。
最近では Copilot など、プログラミング専用のAIも増えてきましたが、私の場合は「せっかく有料版を使っているのだから、できるだけ幅広く使ってみよう」というスタンスでChatGPTを活用しています。結果として、設計・レビュー・リファクタリングといった用途では、かなり頼れる存在になっています。
ChatGPT Plus には Codex が利用できますが、存在自体に気が付くのが遅れてまだ使用できていません。インストールするだけで利用できるので今後はこちらも活用していこうと思います。
AIを使った開発経験の紹介
ここからは、実際にAIを使って行った開発作業を、簡単に振り返ってみます。
過去のJavaScriptライブラリのリファクタリング
最初に本格的にAIを活用したのは、過去に作成したJavaScriptライブラリのリファクタリングとなります。2025年の5〜6月にかけて、10年以上前に書いたコードを整理し、現代的な構成に直す作業をAIに手伝ってもらいました。既存コードがある状態でのリファクタリングは、AIとの相性が非常に良いと感じます。
処理内容の説明、コメント補完、JSDocの作成などはかなり正確で、README.md や package.json までまとめて用意してくれたのは正直ありがたかったです。一方で、読み込めるソースコードのファイル数に上限があり、どのファイルをアップロードすればいいか工夫する必要が生まれました。
AIは「すでに正解が存在するもの」を整理・言語化する作業がとても得意であり、動作しているコードがある前提であれば、説明や補足を任せる用途では非常に強力だと感じます。


名古屋駅/金山駅~有松駅 乗換案内アプリの開発
2025年8月に乗換案内アプリを開発しました。
このときは、初めて「一からAIにアプリを作らせる」という形を試しました。Rollupを使ったWebアプリ開発の経験があったため、開発環境を固定し、まず動くHTMLをAIに出してもらい、そこに機能を追加していくという進め方をしました。
結果として、1週間ほどで動作するものが完成しましたが、計算ロジックの中身が把握しづらかったり、コードが全体的に散らかってしまったりと、後から読むことが大変なコードが出来上がりました。
「とにかく早く動くものを作る」という点では成功でしたが、保守性という意味では反省点も多い開発でした。AIにすべてを任せると、後から手を入れづらい構造になりやすいと感じます。

英会話学習アプリの開発
2025年9月〜12月にかけて開発した英会話学習アプリでは、ウォーターフォール型の開発を意識しました。要件定義や設計を先に行い、AIにはまず設計書を書かせ、それを人がレビューしてから次の工程へ進む、という進め方です。
AIはすぐにコードを書きたがるので「まだ書かなくていい」と止める場面が何度もありましたが、ステップごとになんとか開発を進め、後はコーディング作業となり、コーディング規約は渡して作業をお願いしました。本開発こそ成功すると思ったのですが、簡単なコードを複雑に書いてしまうなどをして、結局のところ設計の甘さが問題として現れてきました。コーディングフェーズに移行したとしても「骨組みは人が疑似コードでもいいので作成、AIは補助に回す」という役割分担が一番しっくり来ると感じます。
さらにもう1つ大きな問題があり、作業中長期間の開発ではチャット履歴が肥大化し、作業効率が落ちるということが起きました。設計書や決定事項を別ドキュメントに切り出し、フェーズごとにチャットを分ける運用も行ったのですが、それでも仕様が抜けたりすることもしばしば。AIのチャットの長さは限界があるので、どのように効率よくAI向けに設計書を残せるかが課題に感じました。

Windows用アプリケーション(HSP3)
2026年1月には、HSP3を使ったWindowsアプリの開発にもAIを使ってみました。
HSP3はややマイナーな言語なので不安もありましたが、サンプルコードを提示したうえで「この構造をベースに作れないか」と依頼すると、想像以上に早く形になりました。Windows API に関する知識は他のプログラミング言語と同じであるため正確なプログラムを作ってくれますが、HSP3特有の仕様や癖(システム変数との衝突や命令の挙動など)はAIが理解していないため、最終的な調整は人が行う必要があります。
実際に合ったのはmes実行後にカレントポジションが動く仕様、#deffuncは#module内に入れること、stopやhwndがシステム変数や命令に存在することを知らないことが起きました。あと普通は使用しないgoto文使いがちというどこかの学習結果なのかちょっとよくない動作も見受けられました。
「AIに任せきり」は難しいですが、ある程度の前提知識がある上で「下書きを作らせる」「面倒な部分を肩代わりさせる」という使い方なら十分実用的だと感じました。
使ってみて分かったこと
これまでの情報から現時点のAIの特徴をまとめていこうと思います。
既存コードのリファクタリングはとても強い
既に動いているコードの解析やコメント補完、JSDoc作成といった作業は、AIが最も力を発揮する分野だと思います。難解な処理を読み解く作業は、人が悩むよりもAIに説明させた方が早いケースが多いです。
大規模な開発ではウォーターフォール開発
AIは勢いでコードを書いてしまうため、設計を飛ばすと後で必ず困ります。要件定義や設計をAIに書かせ、人がレビューするという流れはかなり有効でした。
一方で、チャットが長くなりすぎる問題や、会話を分けた際に情報が欠落する問題もあり、このあたりは運用面での工夫が必要だと感じています。
コーディングをすべてAIに任せない
設計書が出来たからといって、AIに丸投げすると冗長で読みにくいコードになりがちです。動くコードは書けますが、「後で直しやすいコード」になるかは別問題なのです。
骨組みや重要な構造は人が決め、その上でAIに補助してもらうのが現実的だと思います。
プログラミングの基礎知識は必要
AIがあるからといって、プログラミングの基礎知識が不要になるわけではありません。
レビューや設計判断ができなければ、AIの出力が正しいかどうか判断できません。特にマイナー言語や特殊な環境では、人の知識がないとAIを使いこなすのは難しいと感じました。
おわりに
AIを使ったプログラミングは、万能な自動化ツールというより「非常に優秀な補助役」だと感じています。設計、リファクタリング、アイデア整理といった場面では、これまでにないスピード感で作業が進みます。
一方で、最終的な判断や責任は人が持つ必要があります。AIは「考える代行」ではなく、「考える速度を上げる存在」として付き合っていくのが、現時点では一番現実的だと思います。
今回は、Codex や Copilot と言ったソフトウェア開発専用のAIは使用していませんが、AIを使用した開発について何かの参考になれば幸いです。
最後までお読みいただき、ありがとうございました。




コメント