2025年5月時点における私のAI駆動開発の活用方法
はじめに
気がつけば2025年も半分が過ぎようとしていますが、今日はソフトウェア開発におけるAI駆動開発に関する現時点での私なりの知見について共有します。
具体的には、どのようなツールを使っていて、どのような活用方法をしているのかなどについてがトピックです。
AIについては、既に私にとってはなくてはならない存在へとなりつつあります。数年前まではGoogle検索を活用することが効率化の鍵だと思っていましたが、今ではAIを使うことのほうが圧倒的に多くなりました。
実際に、この記事はAIによりレビューされ、AIにより翻訳されています。
概要
私は2024年からAI駆動開発の手法を採用し、2025年5月時点で既にGitHub上には10万行を超えるコードをAIと協力してコミットしています。その中で上手くいったこともあれば、もちろん上手くいかないことや失敗も経験しました。
さて、このAI駆動開発というものはまだ比較的新しい概念ということもあり賛否両論あります。否定的な人もいれば肯定的な人もいます。
ただ、私の経験から言えるのは、AI駆動開発は私の生産性を飛躍的に向上させたということです。今までは1週間や数日かかっていたであろうタスクが半日で片付くようになっています。
この技術は本当に極めて「破壊的・致命的」な技術で、将来的にあらゆる分野での人間の関与を最小限化するだろうと確信しているのですが、世間一般ではまだ賛否両論で過小評価されていると思っています。
ただ、大前提として、現時点のLLMを中心としたAI技術は完璧ではありません。主観的に、AI生成コードの約8割はそのまま使用できるレベルですが、残り2割は人間による修正や調整が必要なレベルを出すこともあります。
要するに、現時点でのAIからのアウトプットの質は安定しているとは私は考えていません。このAIからの回答精度の安定性の課題は、AI技術の継続的な進化により将来的には改善されていくでしょう。
私は現状、色々と工夫をした上でAIを活用することで、10万行以上のコードをAIと協働で書いています。つまり、現時点でもAI技術は十分に実戦投入可能な技術ということに間違いはありませんが、工夫が必要というのが私の意見です。
私のAI駆動開発について
AIの活用にも色々とありますが、この記事ではAI駆動開発とそのノウハウの共有に注力しようと思います。
現時点での私の使っているツール類について共有しておきましょう。
- Cursor
- VSCode + Roo Code/Cline
- Claude Desktop
- Model Context Protocol (MCP)
- その他の色々なツール(v0やn8n、その他に個人開発したツール類)
色々使っているように思うかもしれませんが、現時点で主力となっているのはCursorとModel Context Protocol (MCP)です。
ワークフロー自動化ツールであるn8nを使った自動化についても述べたいと思ったのですが、AI駆動開発という文脈からは少しズレるので割愛します。
Cursor
基本的に、コードエディターはCursorがメインです。たまに、サブとしてVSCodeにAIとの対話用プラグイン(Roo Code/Cline)を入れて使っています。
Cursorはそろそろ使い始めてから1年くらい経過しますが、既に自分の中ではなくてはならないものになり、200$近くする年契約のプランを使っています。
Cursorと他のエディターとの大きな違いは、In-context Learning や Retrieval Augmented Generation (RAG) と呼ばれるような、プロジェクト独特の情報をプロンプトに取り込むことでAIの回答精度を上げる手法を簡単に使えることです。
通常、RAG を使うには情報をインデックスとして登録する必要があるのですが、Cursorはほとんど自動でコードベースの情報をインデックスとして登録してくれます。(もちろん、手動で登録もできます。)
また、.cursor/rules
という設定ファイル使うことで、インデックスして欲しくない情報やプロンプトの作法などプロジェクト独自のカスタマイズをすることも可能になっています。
使用方法もとても簡単で、チャットUIを開いて実現したいことを指示するだけです。Agent Modeというのを使えば、実装だけでなくテスト実行まで自動でやってくれます。
ソフトウェア開発に関する知識が無くとも、お金を払ってインストールするだけである程度使えるようになるので、恐ろしいツールだなと思います。
ただ、現時点だと使うのに少しコツが要るというのも感じています。(後述します。)
LLM と MCP
使っているLLMのモデルは90%以上がClaudeです。私の経験から来る感覚的には、コードを書くということについては現時点ではClaudeが一番優秀だと思います。
たまにGeminiやGPTを使うこともあります。Geminiはレート制限があるものの無料でAPIを使えてしまうという点でとても便利で、LLMによるコード解析などのツールの類に組み込んで使っています。GPTは哲学など小難しい話をする相手として優秀です。
あとLLMに関連してよく使うのが、2024年末に登場したMCPですね。MCPとは、Model Context Protocol の略で、LLMが外部ツールやサービスと標準化された方法で連携するための規格(プロトコル)です。これにより、LLMを通じて様々なツールへシームレスにアクセスできるようになります。
例えば、markitdownというMCPサーバーを使うと、LLMとの対話を通してPDFファイルなどをマークダウン形式に変換することができます。また、filesystemというMCPサーバーを使うと、LLMとの対話を通してローカルのファイルへとアクセスし編集などを行うことができます。
このMCPの何が画期的なのか、既にお気づきかもしれませんが、それはLLMとの対話を通してほとんどの作業が可能になることです。
GitHubのMCPサーバーを使えば、実際にGitHubにアクセスすることなくClaude DesktopなどのLLMを通してコードをレビューしてマージすることも可能になります。
playwrightのMCPサーバーを使えば、Webブラウザを用いたE2EテストだってLLM経由で実施できてしまいます。
そうです。Web検索による情報探索やYouTubeの情報管理など、APIによるアクセスが可能でさえあれば、あらゆることがLLMを通して行うことができてしまいます。
現時点で、主に使っているMCPサーバーは以下の通りです。
- markitdown(PDFやExcelファイルをマークダウンへ変換)
- filesystem(ローカル環境のファイルへのアクセス)
- GitHub(GitHubへのアクセス)
- playwright(Playwrightを利用したE2Eテスト実行)
- context7(ライブラリに関する最新の情報をLLMへ共有)
- brave-search(Web検索)
LLMとMCPサーバーを使いこなすことで、MCPサーバーからの情報を元にした設計作業や実装作業などのソフトウェア開発タスクを実施できます。
現時点でのMCPの欠点としては、Node.jsやPython、Dockerなどのソフトウェア開発に関する知識が初期設定に必要になってしまう点でしょうか。
macOSをお使いの方であれば、私が用意したmacOSセットアップのためのスクリプトを使うことで楽にClaude DesktopとMCPサーバーを構築できるはずです。分からない事があればAIに聞けば何とかなるはずです。
実際の活用方法
さて、既に述べたようなツールを使う事でソフトウェア開発は数十倍にも効率化できます。
ただ、AIによる成果物の質を十分に担保したまま実際に使うとなると少しコツが要ります。というのも、現時点でのAIの回答精度にはややバラつきがあり、毎回合格点を出してくれるとは限らないからです。
私が意識していることは以下のようなことです。
可能な限り詳細に指示する
まず、指示が曖昧だとAIの挙動に加わるランダム要素も増えてしまい、結果として回答の精度も下がってしまいます。
要は、開発作業に必要な情報をコンテキスト(文脈)としてAIに共有しようという事です。
例として、プログラミングで関数の実装が必要な場合は、関数の処理の詳細や返り値の情報などを詳細に記述した上でAIに依頼するといいです。
また、プロンプトで、「不明点がある状態で作業を開始しないでください」というような指示をすることで補足可能。
Cursorを使う場合、.cursor/rules
にあらかじめプロンプトとして指示を定義できます。
私は以下のようなコーディングガイドラインも指示に含めるようにしています。
- 不明点がある場合は、作業開始前に必ず確認を取ってください。
- 将来的な拡張性や技術的負債を残さないような実装を意識すること。
- DRY原則の遵守(Don't Repeat Yourself)や単一責任の原則などのベストプラクティスを守ること。
- 保守性と可読性の向上を必ず意識すること。
- 既存コードの構造をそのまま踏襲しようせず、批判的な視点で全体を見直すこと。
GitHubを調べるとプロンプトを共有してくれている人もいるので、一度調べてみるのもいいと思います。
できるだけ細かくタスクを分割する
次に重要なのは、できるだけ細かくタスクを分割してからAIに依頼することです。
経験上、タスクの内容が複雑で一度の作業量が多い場合、品質の安定性が落ちる可能性が高いです。
一見すると最初の「可能な限り詳細に指示する」と矛盾するように思えますが、コンテキストが膨大になるほどAIの回答精度は低下していきます。(あと、トークン消費量も膨大になります。)
また、開発するアプリケーションが複雑であればあるほどAIに開発作業を依頼したときにエラーを解消できずに失敗するループに陥る事があるのですが、タスクの量が最小限であればエラーを回避しつつ一歩一歩開発を進める事ができます。
例として、TODOリストのUIとAPIを実装する必要があるような場合では、UI実装とAPI実装でセッションを分割して作業を行う方がいいです。何ならもっと細かく分割したほうがいいです。
テストコードの実装とテストの実行までタスクに含ませる
品質が完全に安定しないという課題を抱えているので、テストの実行はほとんど必須です。
Cursorを使う場合は、.cursor/rules
にテストの実行を開発ルールとして定義できます。
また、Cursorの場合はLintや型エラーも自動で検知して修正してくれるのですが、ルールが複雑で膨大だとコンテキストが過多になりAIの動作も不安定になるので程々がいいと思います。
AIによる成果物のレビューを実施する
テストによる動作確認の他に、保守性や可読性など長期的な技術的負債に考慮したコードレビューもAIに実施してもらうと思わぬ発見をする事があります。何事もそうですが、人間によるレビューは限界があります。
セッションを分けて、「批判的な視点でレビューしてください」のような指示を与えることで、作業者とレビュワー人格を使い分けるといいです。
色々と方法はありますが、MCPを使いローカル環境のファイルへアクセスしてレビューを行う、またはGitHubのMCPサーバーを使いGitHub上でレビューを行う、またはCursorを使ってレビューを依頼するなどの中から好きな方法を使えばいいと思います。
APIとCI/CD環境を使って毎回実行するというようなことはお金がかかるのでやっていないですが、お金が潤沢なプロジェクトではCI/CDに組み込むと楽にできるでしょうね。
品質に疑問が残る場合は再生成する
最終手段のようなものですが、成果物が思ったものでなかった場合は、指示(プロンプト)を変えて再度生成させるといいです。
手抜きで曖昧な指示で作業させるときにAIに何度も再生成させると全く違った回答をすることがあるので実験として見ていて面白いです。
まとめ
まとめると、現時点でのAI技術にはまだ課題もありますが、ソフトウェア開発プロセスに適切に組み込むことで生産性を飛躍的に向上させることには間違いはありません。そのメリットを考えると、積極的な活用を検討する価値があるはずです。
現時点で、AIを使って何かを作ってみたいという人はCursorから始めれば間違いありません。CursorからもMCPを利用できるので、何ならCursorだけで問題ありません。
また、お金のある組織であればDevinを検討するのも良いと思います。自分は軽くしか使った事がありませんが。
あとは、色々と手を出すとお金がかかるので気をつけてください。私も月に100$近くをAI関連ツールに投資しているので、AIツールのサブスクリプション料金がもう少し手頃になることを期待しています。
また他にも、Figmaで生成したUIをv0やCursorに連携すると簡単にWebページを作れるとか、AI駆動開発には静的型付け言語が向いているとか、n8nやGemini APIを使う事で色々なワークフローを自動化できるとか、他にも色々なノウハウがあるのですがひとまず割愛します。
ちなみに、この分野は犯罪者にとっても格好の狩場になっているらしく、悪意のあるライブラリをインストールさせる手口には注意が必要です。[1]「低価格のAPIキー」などの言葉には十分気をつけた方がいいでしょう。
AI駆動開発の将来について
最後に、この分野の将来がどうなるのかについて私見を述べておきます。
2025年の半ば時点において、「与えられた設計を元にコードを書くこと」や「求められている要件から設計を考えること」などのソフトウェア開発の下流部分は既にAIに任せることができるようになっていると私は思います。
今後は、ソフトウェア開発の上流部分についてもよりAIが浸透していくと考えています。
具体的には、プロジェクトマネージャーやスクラムマスターの仕事をAIで代替する手段が出てくる[2]と思っています。と言いますか、浸透していないだけで既に存在しますね。
あとは自動化ですね。あらゆる分野にAIを介在させることで人間の関与を最小限に抑える未来は実現するのではないかと考えています。
既に、研究や製薬など一部の分野では人間の寝ている間にAIが作業を進めることで飛躍的に作業効率を高めるということを実現している[3]ようですが、CI/CDとAIを統合することで様々な開発タスクが人間のいない間に完了する未来は遠くないかもしれません。
また、軍事の分野ではAIを用いて人間に不可能な速さで意思決定をすることで競争相手を圧倒するという戦略を先進国の軍隊で考えている[4]ようですが、経営や意思決定に関する部分もAIにより効率化するだろうなと思っています。
いずれにせよ、この技術はとてつもなく「破壊的・致命的」であり、まだその影響は顕在化していませんが、近い将来大きなインパクトをもたらすのではないかと考えています。
近い将来、私もソフトウェア開発業から引退を考えなければならないかもしれませんね。
参考文献
- Ravie Lakshmanan (2025). Malicious npm Packages Infect 3,200+ Cursor Users With Backdoor, Steal Credentials. https://thehackernews.com/2025/05/malicious-npm-packages-infect-3200.html
- Nieto-Rodriguez, A., & Vargas, R. V. (2023). How AI Will Transform Project Management. Harvard Business Review. https://hbr.org/2023/02/how-ai-will-transform-project-management
- Schmidt, E. (2023). "This is how AI will transform how science gets done". MIT Technology Review. https://www.technologyreview.com/2023/07/05/1075865/eric-schmidt-ai-will-transform-science/
- Kanaka Rajan. "The Risks of Artificial Intelligence in Weapons Design." Harvard Medical School, (2024). https://hms.harvard.edu/news/risks-artificial-intelligence-weapons-design