ふつうのAI駆動iOS開発

16.4K Views

August 26, 25

スライド概要

[実例から学ぶ!モバイルアプリ開発における「AIの使いどころ」](https://findy.connpass.com/event/363471/) での発表資料です。

profile-image

フリーランスiOSエンジニア 「エンジニアと人生」コミュニティ主宰

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

ふつうのAI駆動iOS開発 2025年8月版

2.

堤 修一 • フリーランスiOSエンジニア • ID: shu223 • GitHub • Docswell(スライド) • Zenn, Qiita, note, はてな ブログ, X (Twitter) • YouTube, Podcast • 著書: 商業出版4冊、個人出 版多数

3.

どんな感じでiOSアプリ開発にAIを使ってますか?

4.

私の使い方 - 2025年1月版

5.

いろいろ併用していた

6.

私の使い方 - 2025年5月版

7.

Cursor + Xcode に落ち着いた

8.

私の使い方 - 2025年8月版

9.

2025年8月現在 • Claude Code:Maxプランで利用 • Xcode :自分でコード書くときはこっち

10.

2025年8月現在 • Claude Code:Maxプランで利用 • Xcode :自分でコード書くときはこっち Cursor から Claude Code に乗り換えた

11.

めちゃくちゃ普通

12.

AI活用度でいうとこのへん DeNA社のAIスキル評価指標DARSより

13.

「普通のAI駆動iOSアプリ開発」 として2025年8月現在の私のやり方をまとめてみます

14.

(再掲)私の使い方 - 2025年8月版 • Claude Code:Maxプランで利用 • Xcode :自分でコード書くときはこっち

15.

Cursor から Claude Code に乗り換えた理由1/2 コンテキストウィンドウ問題 Cursorは(非MAXモードでは)モデルのコンテキストウィンドウを制限 12 • AI向けに整備したルールやドキュメントを無視されることもしばしば • セッションが長くなるととてつもなくアホになる → 定額でコンテキストウィンドウMAXで(ほぼ)使い放題 のMaxプランの存在 が魅力的だった 12 具体的な数値は公表されていないが、調べると推測値が色々と出てくる

16.

Cursor から Claude Code に乗り換えた理由2/2 自走力 • Cursor: 設定のallow listに追加したコマンドもいちいち確認取ってくる • Claude Code: 一度許可したコマンドはちゃんと勝手にやってくれるように なる → コンテキストウィンドウ最大化も相まって、より大きな単位でタスクを任せ るようになった

17.

どんなタスクをAIに任せているか? • 基本的に実装タスクすべて • ゼロからの実装、大小の機能追加、バグ修正、チケットの 対応、テストコード作成、リファクタリング、etc... • もちろん人力で「巻き取る」部分はある(後述)

18.

日々のワークフロー 1. プロンプトを書く 2. Claude Codeに まずplan modeで 検討してもらう 3. 方針をしっかりレビュー 4. Claude Codeに実装してもらう 5. コード差分の確認/動作確認 → コミット&PR作成

19.

プロンプト • 外部テキストエディタで書いてる 1 • しっかり書く気になれる • 過去に書いたプロンプトも振り返りやすい • よく使うプロンプトの言い回しはスニペットに登録 • 大きめのコンテキストはファイルとして temp 配下 に置く 2 3 1 プロジェクトごとに「プロンプト.md」みたいなファイルを作って書き連ねている 2 今のタスクにだけ関係するものはここに置く(永続的にコンテキストとして有用なものはCLAUDE.mdもしくはそこから参照されるフォルダへ) 3 例: 特定タスクにだけ関係する仕様書、サンプルコード等

20.

plan modeの段階で軌道修正 • 問題点の分析結果へのFB • 「それがほんとに原因?」「〜だから違うんじゃない?」 • 対応方針へのFB • 「修正は最小限にしたいからこの部分は今回は不要」「ここはこう した方がよいのでは?」「そういう表面的な対症療法はやめろ」 • 足りないコンテキストを追加 • セッションを中断してプロンプト作成からやりなおすことも

21.

実装 • ビルドを通すところまで • 粒度が大きいタスクを任せる場合はコミットもやってもらう

22.

AIがイマイチなことを言い始めたらさっさと人間側で巻き取る • ムキになって深入りしても時間とトークンの無駄 4 • 一度指摘してもダメなタスクは粘ってもだいたいダメ → 「AIに作業してもらう」から「AIに補助してもらいつつ、自分が作 業する」にスタンスを切り替える 4 「さっさと巻き取る」を意識するようにしてから、モデル Opus 固定でもリミットにかかることはほぼなくなった

23.

人力が多い? 1. 【人力】プロンプトを書く 2. 【AI】Claude Codeに まずplan modeで 検討してもらう 3. 【人力】方針をしっかりレビュー 4. 【AI】Claude Codeに実装してもらう 5. 【人力】コード差分の確認/動作確認 → コミット&PR作成

24.

人力が多い? 1. 【人力】プロンプトを書く 2. 【AI】Claude Codeに まずplan modeで 検討してもらう 3. 【人力】方針をしっかりレビュー 4. 【AI】Claude Codeに実装してもらう 5. 【人力】コード差分の確認/動作確認 → コミット&PR作成 2, 4 が圧倒的に大変 → AIに任せることで作業量は50〜90%減

25.

CLAUDE.md に書いていること • 必須ルール(日本語で応答してねと か) • 注意事項、禁止事項(具体的なやつ) • 非同期処理にはGCDではなくSwift • ディレクトリ構造 • プロジェクト固有の前提情報、注意事 項や作業手順など • SwiftUIを使う場合は、Combineを 使わないこと • 参照すべき .git ログの場所(後述) • オブジェクト間連携の方法として • ビルドコマンド(何度も試行錯誤してほしくない) • 下位コンテキスト(メモリファイル) への参照 Concurrencyを使う NotificationCenterおよびKVOの使 用は禁止 • etc...

26.

CLAUDE.md のメンテ • 作業後にAIに追記しておいてもらう • 現状と合っているかAIに確認してもらう • 大きくなりがちなのでたまに下位コンテキストファイルに切り出す

27.

二段階のリポジトリ構成 CLAUDE.md や .claude 等を本体リポ . ├── 本体リポジトリ → 対AI用の別リポジトリを外側に作 │ ├── .git │ ├── ... │ ├── ... │ └── ... ├── .git ├── .claude ├── CLAUDE.md ├── temp └── ... ジトリに混ぜたくない 成 このフォルダをClaude Codeで開く ※ 「Gitコミットを参照する際は本体リポジトリ配下の .git を参照すること」とCLAUDE.mdに書く

28.

MCPはあまり使ってない • Figma MCP, Firebase MCPはたまに使う • MCPを使ったXcodeやシミュレーター操作の自動化はやっていない • カメラやBLEなど実機が必要な機能を扱うことが多い • あんまり実用的に動くイメージがない

29.

その他(まだ)やってないこと • AIにプロンプトを書いてもらう • AIによるデザイン生成・・・どのプロジェクトにも人間デザイナーさんがいる 7 • Claude Code ActionやDevin等のクラウドで動く系の活用 • Codex CLIやCursor CLIとの比較 • etc... 基本的に腰が重い/試すための明確な動機がないと動けない 7 モック/プロトのアイコン生成ぐらいはAIに頼むことも

30.

何をどこまでキャッチアップする? 無職にならないとキャッチアップが追いつかないほどに多くのニュースやリリースがある

31.

AIによる生産性向上で何を目指すか • 会社でより大きな成果を挙げる • 家族と過ごす時間を増やす • 事業やプロダクトを作る • とにかくキャッチアップして時代に乗る • より多くの仕事をこなして売上を増やす

32.

AIによる生産性向上で何を目指すか • 会社でより大きな成果を挙げる • 家族と過ごす時間を増やす • 事業やプロダクトを作る • とにかくキャッチアップして時代に乗る • より多くの仕事をこなして売上を増やす・・・個人的にいま 楽しいのがこれ

33.

AIとフリーランス 従来:自分の手が埋まったらそこが天井 • ひとりの手なんてすぐ埋まる • ほとんどの依頼を断るしかなかった

34.

AIとフリーランス 従来:自分の手が埋まったらそこが天井 • ひとりの手なんてすぐ埋まる • ほとんどの依頼を断るしかなかった → AIによってその天井を突破できるように

35.

AIで売上はどこまで伸ばせる? 今までだったら断っていた案件も受けられるようになった → AIによる生産性向上でどこまでいけるのか?

36.

個人的所感:2倍はいけそう、3倍4倍は厳しい どれだけ実装部分を効率化しても、温かみのある人力コミュニケーションは必要 → ここがボトルネックに • クライアントにとっての価値を担保するには、どういうことをやりたいかを聞い て、こういうものができました、っていうのを伝える「in/outの部分を自分自身 がやる」のが不可欠 8 • とはいえ「フリーランスエンジニアがコード書いて稼げる上限」に書いた数字は 今や上限ではなくなった 9 8 ここが不要だとするとお客さんが直接AIなりに頼めばいいっていう話になる 9 もちろんワークライフバランスは壊さない前提(夜や休日はしっかり家族と過ごす、報酬なしの登壇や発信もする、旅行も行く、漫画やテレビも見る、友人や仕事仲間 と飲みにも行く、睡眠時間は削らずジムも行く)

37.

AI時代のフリーランスエンジニアのビジネススキーム 「AIで生産性2倍になったから単価2倍ください」とはならない → どうするか?

38.

AI時代のフリーランスエンジニアのビジネススキーム 「AIで生産性2倍になったから単価2倍ください」とはならない → どうするか? • この模索が個人的にいま一番楽しいチャレンジ • いろんな人のやり方も聞きたい → またの機会に

39.

まとめ • Claude Code使って「ふつうに」AI駆動iOSアプリ開発やってます • 生産性上がって今までなら諦めてたこともできるようになって楽し い。AI時代最高。

40.

ご清聴ありがとうございました!