🧑‍💻

Vibe Coding禁止! AIと一緒にSwift Core Dataを学習

に公開

Vibe Coding禁止

Cursorがあればアプリは作れるようになったけど、Swiftのことを理解できている気がしないです。
師匠にこの悩みを相談したところ、課題を考えていただきました。

「AIコードエディタ、CLIのVibe Coding禁止縛りでアプリを実装してみましょう!」

AIコードエディタ禁止縛りの詳細

師匠から出された課題は以下の通りです:

制約条件

  • ❌ VibeCoding(AIによるコード直接編集)禁止
  • ❌ CLI(コマンドライン)での自動化禁止
  • ✅ Gemini、Cursorへの質問はOK
  • ✅ 提示されたコードの手書き書き写しはギリOK

実装要件

  • ボタンをタップしたら時刻を表示するアプリ
  • その時刻をCore Dataに保存(id, date, created_at)
  • 保存したデータをリスト表示

Vibe Codingなしの自分には少し難易度が高い課題でした。
しかし、AIを「先生」として活用することで、完成させることができました。

やったこと

1: 要件定義とリサーチ

  • Geminiに要件を伝え、DeepResearchで最新の推奨実装方法を調べてもらう

2: デュアルディスプレイでの開発環境

デュアルディスプレイめっちゃおすすめです!

  • 上画面:Geminiで実装の確認と対話
  • 下画面:Xcodeでの手書き実装

3: とりあえず全部書いてみる&質問

  • Geminiの指示に従ってエラーが出てもいいのでまずは全部書いてみる
  • わからない概念や単語はGemini先生に質問
  • 詰まったらスクショを撮ってGemini先生に質問

4: エラー解決フェーズ

  • 手書きによるスペルミス、{}の過不足など構文エラーが大量発生
  • Gemini先生に「何行目のどこを直せばいいか」を聞いてバグを潰していく

5: Cursorに質問して最終調整

  • GeminiはDeepResearchを使った状態でも、いい意味で適当なコードを書くので完璧に模写してもエラーが残る場合が多い
  • Cursorはファイル全体を参照できるため、より精度の高い実装を教えてくれる
  • Geminiの作ったコードの改良箇所を聞いて、手書きで実装していく。

6: Core Data実装できた!

一旦Viewの調整は後まわしです!

Vibe Coding禁止! やってみた感想

学習体験として非常に良かった!
通常のVibe Codingと逆で、AIに質問して、自分で手を動かして実装することで、Swift言語への理解とエラー解決能力が鍛えられた(気がする)
DeepResearchで必要な初期情報を自分に変わってGeminiが集めてくれるので、学習効率が高い(と思う)
Geminiの実装はいい意味で適当なので、それを解決する練習になる。

Discussion