Cursorでプログラミング言語を学び直す方法——AI駆動学習の4ステップ

こんにちは。メルペイ Payment Mobileチームで iOSエンジニアをしている @kubomi です。

この記事は、Merpay & Mercoin Advent Calendar 2025 の23日目の記事です。

はじめに

最近、自分の手でコードを書いていますか?

AIに任せれば動くコードが出てくる「Vibe Coding」時代。便利な反面、私はこんな不安を感じるようになりました。

「このコード、本当に理解できてる?」 「雰囲気で理解しているつもりになってるのでは?」

同じ不安を感じているエンジニアの方々は、きっと多いのではないでしょうか。

AIがコードを書いてくれる時代だからこそ、AIを使って「学ぶ」ことは重要ではないか——そう考えて私が試したのが、「AIにコードを書かせる」のではなく「AIに学習を設計させる」というアプローチです。

この記事では、私が実践した「AI駆動学習」の方法を、具体的なプロンプトとともに紹介します。AIを使ってオーダーメイドの学習計画・教材を生成し、プログラミング言語を体系的に学び直す方法です。

こんな方におすすめ:

  • AIに頼りきりで自分の理解度に不安がある
  • 新しい言語を体系的に学びたい
  • 学習を始めても途中で挫折しがち

私の「AI駆動学習」サイクル

ai-driven-learning-steps

私が実践しているのは、学習のあらゆるステップでAIをフル活用する「AI駆動学習サイクル」です。このサイクルは4つのステップで構成されています。

  • Step 1: Plan — AIが学習プランを作る
    公式ドキュメントを参照し、体系的な学習計画を作成してもらいます。何を・いつ・どの順番で学ぶかが明確になります。
  • Step 2: Learn — AIが教材を作って、人が学ぶ
    学習プランに沿って、解説・サンプルコード・演習課題を含む教材を生成してもらいます。そのまま実行できるファイル形式で出力させるのがポイントです。
  • Step 3: Practice — 人が課題を実装して、AIがレビュー
    教材の演習課題を自分で実装し、AIにコードレビューしてもらいます。ここが一番学びが深まるステップです。
  • Step 4: Track — AIが進捗管理
    学習プランからTODOリストを生成し、進捗を可視化します。次にやることが常に明確になり、継続しやすくなります。

つまり、ほとんどAI任せの学習サイクルです。人間である私がやることは、教材を読んで理解し、課題を実装することだけ。それ以外の「プランニング」「教材作成」「レビュー」「進捗管理」はすべてAIに任せています。

ここからは、各ステップの詳細と、実際に効果的だったプロンプトを共有していきます。

準備するもの

今回使用するのは Cursor です。

CursorはVS Codeベースのエディタで、AIとの対話機能が統合されています。なぜCursorを選んだかというと、学習プランの作成から、教材の生成、コードの実行、レビューまでがすべて1つの環境で完結するからです。

ChatGPTなどのチャットUIでも学習プランは作れますが、生成されたコードをコピペして別のエディタで動かす手間が発生します。Cursorなら、AIが生成したファイルをそのまま保存し、その場で実行して動作確認できます。この「シームレスさ」が学習の継続には重要でした。

Cursor以外でも、ClineなどのIDE統合型AIエージェントであれば同様のワークフローが実現できると思います。

準備ができたら、空のディレクトリを1つ作成してCursorで開きましょう。このディレクトリに、学習プラン・教材・進捗管理ファイルをすべて格納していきます。

Step 1: Plan — 学習プランを作る

まずはCursorに学習計画を作ってもらいます。

使用したプロンプト:

公式ドキュメント(https://docs.swift.org/swift-book/)を元に、
10日でSwiftをマスターする学習計画を作って、mdファイルで出力して。

ここでのポイントは2つあります。

ポイント1:公式ドキュメントを参照させること。

これによって、断片的ではなく体系的な学習プランを組み立ててくれます。公式ドキュメントを基準にすることで、正確で網羅的なカリキュラムが得られます。

ポイント2:期間を区切ること

「10日でマスターする」といった期間を指定することで、学習量や内容を自然に調整してくれます。無理のないペースで進められるプランが、あっという間に完成しました。

生成された学習プランの例(抜粋)

leaning-plan

これだけで、何を・いつ・どの順番で学ぶかが明確になります。

Step 2: Learn — 教材を作る

次に、先ほど作った学習プランをもとに、日ごとの教材をCursorに作らせます。

使用したプロンプト:

学習プランを元に、各日の教材を作って。
各日ごとにディレクトリを作成して、その中に解説・サンプルコード・演習課題を含む実行可能な .swift ファイルを含めて。

このプロンプトのポイントは2つあります。

ポイント1:日ごとにディレクトリを分ける

日ごとにディレクトリを分けることで、学習プランと教材が対応し、管理しやすくなります。

ポイント2:実行可能なファイル形式で出力させること

これによって教材が「ただの読み物」で終わらないのです。生成されたファイルをそのまま実行して試せる。すぐに手を動かして学習できる。ちょうど教材とIDEが合体したような体験になりました。

生成されるディレクトリ構成

swift-learning/
├── README.md(学習プラン)
├── Day1/
│   └── 01_Basics.swift
├── Day2/
│   └── 02_ControlFlow.swift
├── Day3/
│   └── 03_Optionals.swift
...

生成された教材ファイルの例(抜粋)

/*
 Day 1: Swiftの基礎と基本構文
 Swift公式ドキュメント: https://docs.swift.org/swift-book/documentation/the-swift-programming-language
 */

// MARK: - 1. 変数と定数
print("=== 変数と定数 ===")

// 変数(変更可能)
var myVariable = 42
myVariable = 50
print("変数: \(myVariable)")

// 定数(変更不可)
let myConstant = 42
// myConstant = 50  // エラー: 定数は変更できません
print("定数: \(myConstant)")

...

/*
 演習1: 変数と定数
 - あなたの名前を定数として定義してください
 - あなたの年齢を変数として定義してください
 - 年齢を1つ増やして表示してください
 */

// ここにコードを書いてください

/*
 演習2: 文字列操作
 - あなたの名前と年齢を使って「私の名前は[名前]で、[年齢]歳です」というメッセージを作成してください
 - 文字列補間を使用してください
 */

// ここにコードを書いてください

コメントで解説が書かれており、サンプルコードのあとに演習問題が用意されています。コードを読んで、動かして、自分で書いてみる。この一連の流れが1つのファイルで完結します。

教材を読んでいて分からないことがあれば、その場でCursorに質問できるのもこの学習スタイルの強みです。「なぜここでXXXを使うの?」「他の書き方はある?」など、疑問点をどんどん聞くことで理解が深まります。

ただし、AIはハルシネーション(誤った情報の生成)を起こすこともあるので、必要に応じて公式ドキュメントと照らし合わせながら学ぶことをおすすめします。

Step 3: Practice — 演習課題をレビューしてもらう

3つ目のステップは、最も効果を実感できた「Practice」です。

教材に含まれる演習課題を自分で実装したあと、そのコードをCursorにレビューしてもらいます。

使用したプロンプト:

課題をレビューして、改善点を教えて。もっとSwiftらしい書き方ある?

「Swiftらしい書き方」というように聞くことで、その言語ならではの洗練された表現やベストプラクティスを提案してくれます。

理解度クイズ

また、Cursorにクイズを出題させて理解度をチェックするのも効果的でした。

使用したプロンプト:

今日学んだ内容から5問クイズを出して。

すると、すぐに確認テストを作ってくれます。このように、アウトプット中心で学ぶことで、確実に身につく実感がありました。

Step 4: Track — 進捗管理

最後のステップは、進捗管理の自動化です。

使用したプロンプト:

学習プランをもとにTODOリストを作って進捗管理して。

学習プランからTODOリストを生成させ、1つ終わったらCursorに報告して更新してもらいます。

生成された進捗管理ファイルの例

# Swift学習 進捗管理

## 📊 進捗サマリー
- **完了**: 3/10日
- **進捗率**: 30%

## ✅ TODOリスト
- [x] Day 1: Swiftの基礎と基本構文
- [x] Day 2: 制御フローと関数  
- [x] Day 3: オプショナルとエラーハンドリング
- [ ] Day 4: コレクション型
- [ ] Day 5: クラスと構造体
- [ ] Day 6: プロトコルと拡張
- [ ] Day 7: ジェネリクス
- [ ] Day 8: クロージャと関数型プログラミング
- [ ] Day 9: エラーハンドリングと非同期処理
- [ ] Day 10: 実践的なSwiftアプリケーション

進捗が可視化されるとモチベーションも保ちやすいですし、次にやることが常に明確になります。「今日はどこまでやったか」「明日は何をすればいいか」を考える手間がなくなり、学習のハードルが下がりました。

学習で挫折しがちなポイントの1つが「どこまでやったか分からなくなること」なので、ここをCursorに任せてしまうのはかなりおすすめです。

AI駆動学習のメリット

この学習サイクルを実践してみて、いくつかのメリットを実感しました。

オーダーメイドの教材が手に入る

自分の理解度や使える時間に合わせて、カスタマイズされた学習プランと教材を作れます。「1日30分しか時間が取れない」「Python中級者のためのJava入門」など、自分の状況をプロンプトに書くだけで、かなりパーソナライズされた教材が出てきます。

アウトプット中心で定着する

教材を読むだけでなく、実際にコードを書き、AIにレビューしてもらうことで、理解が深まります。

継続しやすい

進捗管理をAIに任せることで、「今日は何をすればいいか」を考える手間がなくなります。学習のハードルが下がり、継続しやすくなりました。

新しい領域に踏み出しやすい

体系的に学べる安心感があると、これまで手を出しにくかった新しい言語やフレームワークにも挑戦しやすくなります。

まとめ

AIの進化によって、私たちが自分の手でコードを書く機会はこれからますます減っていくでしょう。だからこそ、学ぶ時間を意識的に確保することが大事だと改めて感じました。

AIを使えば、自分の理解度や時間に合わせたオーダーメイドの教材を作れます。そのおかげで、新しい言語にも挑戦しやすくなり、担当領域の外へも踏み出せると実感しました。

私自身は、次のステップとしてAndroid開発に挑戦するためにKotlinを学ぼうと思っています。

Vibe Codingでコードを書かなくなった方、AIに頼りっぱなしで不安を感じている方、ぜひこの「AI駆動学習サイクル」を試してみてください。AIを使って学ぶという、新しい学習体験が待っています。

付録:そのまま使えるプロンプト集

実際に使ったプロンプトをまとめました。[プログラミング言語][N] の部分を置き換えてすぐに試せます。

Step 1: 学習計画生成

公式ドキュメント([公式ドキュメントのURL])を元に、[N]日で[プログラミング言語]をマスターする学習計画を作って、mdファイルで出力して。

Step 2: 教材生成

学習プランを元に、各日の教材を作って。各日ごとにディレクトリを作成して、その中に解説・サンプルコード・演習課題を含む実行可能なファイルを含めて。

Step 3: レビュー

課題をレビューして、改善点を教えて。もっと[プログラミング言語]らしい書き方ある?

理解度クイズ

今日学んだ内容から5問クイズを出して。

Step 4: 進捗管理

学習プランをもとにTODOリストを作って進捗管理して。

明日の記事は poohさんです。引き続きお楽しみください。

  • X
  • Facebook
  • linkedin
  • このエントリーをはてなブックマークに追加