AIが書いたKotlinコードと手書きKotlinコードを比較してみた
実験
同じ仕様(習慣トラッカーアプリ)をAI(Claude Code)と手書きで実装し、品質を比較。
比較表
| 項目 | AI生成 | 手書き |
|---|---|---|
| 所要時間 | 47秒 | 3日 |
| アーキテクチャ | MVVM + Repository | 人による |
| DB | Room + Flow | Room or SQLiteOpenHelper |
| UI | Jetpack Compose | XML or Compose |
| テスト | なし | 人による |
| 権限 | 0個 | 人による |
| Material3 | あり | 人による |
AI生成コードの強み
- 一貫したアーキテクチャ: 毎回同じパターン(MVVM + Repository)
- 最新のAPI: Compose, Flow, StateFlow, Material3を使う
- 不要な権限がない: INTERNETすら要求しない
Room Entity コード例:
@Entity(tableName = "habits")
data class Habit(
@PrimaryKey(autoGenerate = true) val id: Int = 0,
val name: String,
val createdAt: Long = System.currentTimeMillis()
)
AI生成コードの弱み
- テストコードなし
- CI/CDなし
- ProGuardルールなし
- エッジケース未対応
結論
- シンプルなアプリ → AIで十分
- 複雑なアプリ → AI生成 + 人間のレビューが最適
- 「コードを書く能力」と「アプリを作る能力」は別物になった
8種類のAndroidアプリテンプレート(AI生成、エンジニアレビュー済み)をGumroadで公開中。
関連: 47秒でアプリ生成(Zenn)