はじめに
最近、Androidアプリの個人開発でAIを使う機会が増えてきました。
前回は、ChatGPTを使ってAndroidアプリの仕様書を作成する方法を試しました。
仕様書を作ることで、アプリの目的、画面構成、必要な機能、保存するデータなどを整理できます。
ただ、仕様書を作っただけではアプリは完成しません。
次に必要になるのは、AIエージェントやコード生成ツールに対して、どのように実装を依頼するかです。
今回は、Claude CodeにAndroidアプリ開発を依頼するためのプロンプトを作成してみました。
この記事では、単なるClaude Codeの紹介ではなく、実際に開発を依頼するときにどのような指示を出せばよいか、曖昧な指示で困った点、改善したプロンプト、個人開発で使うときの注意点をまとめます。
Claude Codeに期待したこと
Androidアプリを作るとき、AIに期待したい作業はいくつかあります。
たとえば、以下のような作業です。
- プロジェクト構成の提案
- 画面構成の作成
- Kotlinコードの作成
- Jetpack ComposeのUI実装
- データ保存処理の作成
- エラー修正
- リファクタリング
- READMEや使い方説明の作成
特に個人開発では、設計から実装まで一人で進めることが多いため、AIに作業の一部を任せられるとかなり助かります。
しかし、実際に使ってみると、AIにただ「アプリを作って」と依頼するだけでは、思った通りの成果物になりません。
AIにコードを書いてもらう場合は、何を作るかだけでなく、どの範囲まで作るか、どの技術を使うか、どの順番で作るかを明確に伝える必要があります。
最初に失敗した指示
最初は、以下のような大ざっぱな指示を考えていました。
Androidアプリを作成してください。
KotlinとJetpack Composeを使ってください。
この指示でも、簡単なサンプルコードは出てくるかもしれません。
しかし、実際の開発用プロンプトとしてはかなり不足しています。
なぜなら、以下の情報が入っていないからです。
- アプリの目的
- 必要な画面
- 実装する機能
- データ保存方法
- 使用するライブラリ
- 対応するAndroidバージョン
- 最初に作る範囲
- 作らなくてよい機能
- 既存コードがあるかどうか
- どのファイルを変更してよいか
この状態でAIに依頼すると、必要以上に大きな構成になったり、逆に簡単すぎるサンプルだけで終わったりする可能性があります。
曖昧な指示で起きやすい問題
Claude Codeに限らず、AIに開発を依頼するときは、指示が曖昧だと次のような問題が起きやすいです。
1. 不要な機能まで作ろうとする
たとえば、シンプルな個人用アプリを作りたいだけなのに、ログイン機能、クラウド同期、ユーザー管理などを含めた大きな構成を提案されることがあります。
これらの機能は便利ですが、最初のバージョンでは不要な場合も多いです。
個人開発では、まず最小限の機能で動くものを作ることが重要です。
2. ファイル構成が複雑になりすぎる
AIは、きれいなアーキテクチャを提案してくれることがあります。
たとえば、
- data
- domain
- ui
- repository
- usecase
- viewmodel
のように層を分けた構成です。
中規模以上のアプリでは有効ですが、小さなアプリでは最初から複雑にしすぎると、理解や修正が大変になります。
3. 既存コードとの整合性が取れない
すでにAndroid Studioでプロジェクトを作成している場合、AIが生成したコードが既存のGradle設定やパッケージ名と合わないことがあります。
この場合、コピペしてもそのまま動かず、ビルドエラーになることがあります。
4. 実装順が分かりにくい
完成形のコードを一気に出されても、どこから確認すればよいか分かりにくいことがあります。
個人開発では、
- まず画面を表示する
- ボタン操作を作る
- データを保存する
- 一覧表示する
- 編集・削除を追加する
のように、段階的に実装した方が確認しやすいです。
プロンプトに入れるべき情報
実際に使いやすいプロンプトにするため、以下の項目を入れることにしました。
1. アプリの目的
まず、何のためのアプリなのかを明確にします。
このアプリは、個人が日常的に使えるシンプルなタイマー管理アプリです。
複数のタイマーを登録し、一覧から選んで実行できるようにします。
目的が明確になると、AIが不要な機能を提案しにくくなります。
2. 開発環境
次に、使用する技術を指定します。
開発環境:
- Kotlin
- Jetpack Compose
- Android Studio
- Roomを使ったローカル保存
- 最初はクラウド同期なし
技術を指定しておくと、AIが別の方式で実装することを防ぎやすくなります。
3. 作る画面
画面一覧も最初に伝えます。
作成する画面:
1. ホーム画面
2. タイマー編集画面
3. タイマー実行画面
4. 履歴画面
5. 設定画面
画面を明確にしておくと、UI実装の抜け漏れが減ります。
4. MVPで作る範囲
最初に全部作るのではなく、MVPを指定します。
最初に実装するMVP:
- タイマー一覧表示
- タイマーの新規作成
- タイマーの編集
- タイマーの削除
- タイマー実行
- ローカル保存
これにより、最初の実装範囲を絞ることができます。
5. 今回は作らない機能
AIに依頼するときは、「作ること」だけでなく「作らないこと」も重要です。
今回は実装しない機能:
- ログイン機能
- クラウド同期
- 課金機能
- SNS共有
- 複雑な通知機能
作らない機能を明記しておくと、開発範囲が広がりすぎるのを防げます。
6. 出力してほしい内容
最後に、どのような形で出力してほしいかを指定します。
出力してほしい内容:
1. 実装方針
2. ファイル構成
3. 実装順
4. 必要なKotlinファイル
5. 各ファイルの役割
6. 注意点
7. ビルド時に確認するポイント
ここまで指定すると、単なるコード生成ではなく、開発を進めるための手順として使いやすくなります。
実際に作成したClaude Code用プロンプト
以下は、実際に使いやすい形に整理したプロンプトです。
あなたはAndroidアプリ開発に詳しいエンジニアです。
以下の仕様をもとに、Kotlin + Jetpack ComposeでAndroidアプリを実装してください。
# アプリ概要
個人が日常的に使えるシンプルなタイマー管理アプリを作成します。
複数のタイマーを登録し、一覧から選んで実行できるようにします。
# 想定ユーザー
- 勉強や作業の時間を管理したい人
- 運動や休憩時間を管理したい人
- 複数のタイマーを使い分けたい人
# 開発条件
- Kotlinを使用
- Jetpack Composeを使用
- Android Studioでビルドできること
- ローカル保存にはRoomを使用
- 最初はクラウド同期なし
- 最初はログイン機能なし
- 個人開発向けに、構成を複雑にしすぎない
# 作成する画面
1. ホーム画面
- 登録済みタイマー一覧を表示
- 新規作成ボタンを表示
- 各タイマーに開始ボタンを表示
2. タイマー編集画面
- タイマー名を入力
- 分・秒を入力
- 音声案内の有無を設定
- バイブレーションの有無を設定
- 保存ボタンを表示
3. タイマー実行画面
- 残り時間を大きく表示
- 開始、一時停止、停止ボタンを表示
- 完了時に音またはバイブで知らせる
4. 履歴画面
- 実行したタイマーの履歴を表示
- 実行日時を表示
5. 設定画面
- 音声設定
- バイブレーション設定
- テーマ設定
- プライバシーポリシー表示
# MVPで実装する機能
まずは以下を優先して実装してください。
- タイマー一覧表示
- タイマー新規作成
- タイマー編集
- タイマー削除
- タイマー実行
- Roomによるローカル保存
# 今回は実装しない機能
以下は今回の実装対象外です。
- ログイン機能
- クラウド同期
- 課金機能
- SNS共有
- 複雑な通知機能
# 出力してほしい内容
最初に、以下を整理してください。
1. 実装方針
2. 推奨するファイル構成
3. 実装順
4. 必要なデータクラス
5. 必要な画面Composable
6. ViewModelの役割
7. RoomのEntity / DAO / Database構成
8. 注意点
その後、実装に必要なコードをファイルごとに提示してください。
# 注意点
- 初心者でも理解しやすい構成にしてください
- 1ファイルに詰め込みすぎないでください
- ただし、過度に複雑なアーキテクチャにはしないでください
- 各ファイルの役割が分かるように説明を付けてください
- ビルドエラーが起きやすいGradle設定やimportにも注意してください

このプロンプトで改善できたこと
このように詳しく指示すると、出力がかなり安定しました。
特に良かったのは、以下の点です。
開発範囲が明確になった
「今回は作らない機能」を明記したことで、不要なログイン機能やクラウド同期機能が出にくくなりました。
AIは便利な機能を追加しようとすることがありますが、個人開発では機能を絞ることが大切です。
最初は小さく作って、動く状態にする方が完成に近づきやすいと感じました。
実装順を整理できた
いきなり全コードを作成するのではなく、実装順を整理してもらうことで、確認しながら進めやすくなりました。
たとえば、以下のような順番です。
- プロジェクト設定
- データクラス作成
- Room設定
- ホーム画面作成
- 編集画面作成
- 保存処理作成
- 実行画面作成
- 履歴画面作成
- 設定画面作成
このように順番があると、途中でエラーが出た場合も原因を追いやすくなります。
画面とデータの関係が分かりやすくなった
画面一覧だけでなく、各画面に表示する項目を指定したことで、必要なデータ項目も整理しやすくなりました。
たとえば、タイマー編集画面に「音声案内の有無」「バイブレーションの有無」を入れるなら、保存するデータにもそれらの項目が必要になります。
画面設計とデータ設計をセットで考えることが重要だと感じました。
Claude Codeに依頼するときの注意点
便利に使える一方で、注意点もあります。
1. 一度に全部作らせすぎない
アプリ全体を一度に作らせると、コード量が多くなり、確認が大変になります。
特にAndroidアプリの場合、Gradle設定、依存関係、パッケージ名、import、権限設定など、細かい部分でエラーが出ることがあります。
そのため、最初は以下のように小さく依頼する方が安全です。
まずはホーム画面とタイマー一覧表示だけを実装してください。
Room保存は後で追加します。
または、
まずはRoomのEntity、DAO、Databaseだけを作成してください。
画面実装は次のステップで行います。
このように分けると、確認しながら進められます。
2. 既存プロジェクトの状態を伝える
すでにAndroid Studioでプロジェクトを作っている場合は、既存の状態を伝えることが重要です。
たとえば、以下のような情報です。
- パッケージ名
- minSdk
- targetSdk
- Composeの有無
- 使用しているライブラリ
- 現在のフォルダ構成
- すでにあるファイル
- 発生しているエラー
これらを伝えないと、AIが現在のプロジェクトに合わないコードを出すことがあります。
3. エラーが出たら全文を渡す
ビルドエラーが出た場合は、エラーの一部だけではなく、できるだけ全文を渡した方がよいです。
特にAndroid開発では、最初に表示されるエラーではなく、少し下の行に本当の原因が書かれていることがあります。
エラーを渡すときは、以下のように依頼すると確認しやすいです。
以下のビルドエラーが出ています。
原因を特定し、修正すべきファイルと修正内容を教えてください。
可能であれば、修正後のコードも提示してください。
4. 生成されたコードを必ず確認する
AIが生成したコードは便利ですが、必ず自分で確認する必要があります。
特に以下の点は確認した方がよいです。
- 不要な権限が追加されていないか
- 動かないimportがないか
- 使っていないライブラリが追加されていないか
- データ保存処理が想定通りか
- 画面遷移が複雑すぎないか
- 例外処理が不足していないか
- Google Play公開時に問題になりそうな処理がないか
AIに任せる部分と、自分で判断する部分を分けることが大切です。

実際に使って感じたメリット
Claude Code用のプロンプトを整理してみて、AIに開発を依頼するときは、プロンプト自体が設計書の役割を持つと感じました。
曖昧な指示では、AIの判断に任せる部分が多くなります。
その結果、想定より複雑な構成になったり、不要な機能が入ったりします。
一方で、事前に仕様書を作り、画面、機能、データ、実装範囲を整理してから依頼すると、出力内容がかなり安定します。

特に個人開発では、以下のような使い方が向いていると感じました。
- 最初にChatGPTで仕様を整理する
- その仕様をもとにClaude Code用プロンプトを作る
- 実装範囲をMVPに絞る
- 小さい単位でコード生成を依頼する
- エラーが出たらログを渡して修正する
この流れにすると、AIを使った開発でも進め方がかなり整理されます。
ChatGPTとClaude Codeを組み合わせる使い方
今回感じたのは、ChatGPTとClaude Codeは役割を分けると使いやすいということです。
私の場合は、次のように分けると進めやすいと感じました。
| 役割 | 使い方 |
|---|---|
| ChatGPT | 仕様整理、画面構成、プロンプト作成 |
| Claude Code | コード作成、ファイル修正、実装支援 |
| 自分 | 取捨選択、動作確認、最終判断 |
ChatGPTで仕様や指示を整理し、その内容をClaude Codeに渡すと、いきなりコード生成を依頼するよりも安定しやすいです。
特に、Androidアプリのように画面、データ、権限、ストア公開準備が関係する開発では、最初の指示がかなり重要になります。

まとめ
今回は、Claude CodeでAndroidアプリ開発を進めるためのプロンプトを作成してみました。
実際に考えてみると、AIに開発を依頼するときは、単に「アプリを作って」と伝えるだけでは不十分です。
重要なのは、以下の情報を具体的に伝えることです。
- アプリの目的
- 想定ユーザー
- 開発環境
- 作成する画面
- MVPで実装する機能
- 今回は作らない機能
- データ保存方法
- 出力してほしい内容
- 実装時の注意点
これらを整理しておくことで、AIの出力が開発に使いやすい形になります。
特に個人開発では、最初から多機能なアプリを作ろうとせず、MVPを決めて小さく作ることが重要です。
Claude CodeのようなAIエージェントを使う場合も、最初の指示次第で結果が大きく変わります。
今後Androidアプリ開発でAIを使う場合は、いきなりコードを書かせるのではなく、まずは仕様書と開発プロンプトを整理してから依頼すると、作業がかなり進めやすくなると感じました。
コメントを残す