生成AI時代の学習の10ステッププロセスを再考する

この記事はフィヨルドブートキャンプ Advent Calendar 2025の23日目の記事です。 昨日は、LEFさんのRails の find はどう動く? Active Recordの内部実装を見てみよう! - LEFログでした。

この記事では、SOFT SKILLSで紹介されている「学習の10ステップ」を、生成AI時代の視点で再整理します。

はじめに

『SOFT SKILLS ソフトウェア開発者の人生マニュアル』という書籍には、スキルを素早く習得するための「学習の10ステッププロセス」が紹介されています。この書籍は第一版が2016年、第二版が2022年の2月頃に発売されました。 ChatGPTが登場した2022年11月以前に書かれた書籍であるため、現在のような生成AI(以下、AI)については考慮されていません。 そこで、現在のようなAI時代に合わせて、AIを活用した10ステッププロセスを考えてみるというのが本記事の内容になります。

bookplus.nikkei.com

学習の10ステッププロセス

まず10ステッププロセスについて簡単に書きます。プロセス前半の①〜⑥までのステップが準備フェーズで、 プロセス後半の⑦〜⑩が実行フェーズになります。

準備フェーズではざっくりと学習内容のカリキュラムを作り、実行フェーズでは作成したカリキュラムに沿って学習を進めます。

準備フェーズ

①全体像をつかむ

学習範囲を決める前に学習テーマの全体像をざっくりと知る必要があります。Webサイトで検索して記事を流し読みしたり、 書籍の目次や最初の章など読んで対象の大きさを知ります。ここでは深掘りはせずにざっくりと調べる程度でよいと述べられていました。

②学習範囲を決める

ざっくりと学習対象となる全体像の地図を手にしたら、学習テーマをサブテーマに分解して、 学習対象を絞り込みます。書籍では、デジタルカメラ撮影を学習テーマとした場合に、常識的な時間内にデジタルカメラ撮影のすべてを網羅的に学ぶことは不可能なので、たとえばポートレイト写真の撮り方を知りたいならそれを学習範囲に指定します。

③成功の基準を決める

何ができるようになったらできたと言えるかを先に決めます。 たとえば、Rubyで主要な言語機能を利用したCLIアプリをかけるようになるなどです。

④参考資料を探す

Webサイトの記事や書籍、動画などの学習範囲に関連した資料をできるだけたくさん収集します。 ⑥のステップで最良の参考資料を絞り込むため、ブレーンストーミングのアイデア出しのように質を問わずに できるだけ収集することがよいと述べられています。

⑤学習プランを立てる

④で収集した参考資料をもとに学習プランを立てます。これは、RubyCLIアプリを作ることが学習範囲の場合、rbenvやlsコマンド、wcコマンドなどのサブテーマ(プラクティス)に分割します。分割したサブテーマをどの順番に学習するかも学習プランを立てる時に考慮します。

ここで分割したサブテーマごとに、実行フェーズの⑦〜⑩を繰り返します。

⑥参考資料を絞り込む

⑤で作成した学習プランのサブテーマに役立つ参考資料を、④で収集した資料の中から絞り込みます。

実行フェーズ

準備フェーズの学習プランの各サブテーマごとに実行します。

⑦ある程度使えるようにするための方法を学ぶ

Hello Worldのやり方だったり、インストールのセットアップ方法などが例に挙げられます。 収集した参考資料からやり方を探し出して実行します。

⑧遊び倒す

基本的な使い方を学んだら、自由に触って学びます。 ここでいろいろ触って思い浮かんだ疑問を⑨で収集した参考資料をもとに解消します。

⑨役に立つことができるところまで学ぶ

⑧のステップで浮かんだ疑問などを解消します。 ここでは、②で決めた成功の基準と照らし合わせて、目標を達成したかも判断します。 目標を達成していない場合は、参考資料などで学んだ後に ⑧〜⑨のステップを繰り返すことになるかと思います。

⑩教える

最後にブログやLTの発表、日報などで学んだことをアウトプットします。 学んだことをアウトプットすることを通じて、学習範囲の内容を自分が理解できているかや記憶の定着などに効果があると考えています。

最近読んだ最高の勉強法という書籍に記載されている学習法に、精緻的質問や自己説明というテクニックがあります。 精緻的質問はなぜこうなるのか(Why)や、どのようにするか(How)などを自分に質問します。また、自己説明は学習内容の理解について自分に説明します。

これらのテクニックを意識してアウトプットすることで学習効果を高めることもできる気がします。また、この書籍には精緻的質問や自己説明以外に、アクティブリコールや分散学習、インターリービング、ファインマンテクニックといったテクニックついても記載されているので、個人的にはぜひ読んで欲しいなと思います。

www.kadokawa.co.jp

10ステッププロセスとフィヨルドブートキャンプの学習プロセスとの類似性

ここまで学習の10ステッププロセスについて簡単に書きました。 この10ステッププロセスについて書籍を改めて再読し気付いた点になりますが、この学習プロセスはフィヨルドブートキャンプのカリキュラムで実施しているプロセスとほぼ同じなのではないか、という点です。

10ステッププロセスにおける準備フェーズは、ブートキャンプにおけるカリキュラムに相当するのではないかと考えています。 フィヨルドブートキャンプのカリキュラムは運営者が作成したものですが、生徒が効率的に学習してスキルアップできるよう、学習範囲・プラクティス・参考資料を含めたカリキュラム全体を、推奨される学習順に沿って設計しています。

たとえば、下記の添付図はRailsエンジニアコースのカリキュラム(①の全体像)の一部です。

(学習内容の全体はこちらで見ることができます)

このカリキュラムのGit & GitHubRubyが学習範囲で、学習範囲内の項目が⑤の学習プランのサブテーマ(プラクティス)に相当します。それぞれの学習範囲の最初のプラクティスでは、カリキュラムの全体像における学習範囲の位置が地図のように分かるようになっています。

また、各プラクティスでは、実行フェーズの⑦を実行するための参考資料や⑧〜⑨を実行するための参考資料は十分に厳選して取り揃えられています。その他にプラクティスごとに終了条件が決められており、メンターによる提出物のレビューを通して、⑨の役に立つところまで学ぶを実行し、目標を達成することができます。

最後にフィヨルドブートキャンプの学習システムの日報の仕組みによって学んだことをアウトプットすることもでき、⑩の教えるも達成できるようになっています。その他にも、Q&Aや輪読会、LTの発表などアウトプットする機会が準備されています。

2021年頃の少し古いブログ記事ですが、フィヨルドブートキャンプの雰囲気を感じることができると思います。

bootcamp.fjord.jp

フィヨルドブートキャンプでは、これまで文系出身の方や他分野の未経験の方を即戦力のWebエンジニアとしておよそ数年で育てることができるのか?と疑問に感じることもありましたが、10ステッププロセスのスキル習得のプロセスと本質的には同じであると感じています*1。このことからフィヨルドブートキャンプの学習プロセス(学習システム)の強みを発見することができた気がします。

独学における10ステッププロセス

基本的には、この学習の10ステッププロセスは独学でスキルを素早く学習するためのプロセスです。 フィヨルドブートキャンプの卒業後やフィヨルドブートキャンプの Railsエンジニアコース/フロントエンドコースのカリキュラム外のスキルを習得したい場合には、自分で①〜⑥の準備フェーズのカリキュラムを自分で作成する必要があります。また、メンターも不在になるため、自分でメンターを探すか、代替策を探して、実行フェーズにおける⑨のフィードバックも得られるとありがたいです。

現在はAI活用の時代になっているため、AIを活用して効率化する方法を考えたいと思います。 しかし、フィヨルドブートキャンプでは、提出物・チーム開発・自作サービスへのAI活用を禁止(成果物をAIに作ってもらうこと)はされているため、 フィヨルドブートキャンプでのこれらのAI活用を推奨するものではありません。

bootcamp.fjord.jp

フィヨルドブートキャンプにログイン可能な人のみ閲覧可能)

AIツールの整理

自分自身はそこまでAIツールは使い倒してはいないですが、AIツールは様々であるため、一旦 ここで想定するAIツールを整理したいと思います。

以前読んだ2024年に出版された書籍には、AIツールは3つの種類で分類されています。

gihyo.jp

類型 概要 代表的なAIツール
対話型 人と自然言語で対話しながら、思考整理・理解支援・意思決定を助けるAI ChatGPT、Claude、Gemini、Perplexity、NotebookLM、Dia(AIブラウザ)、DeepWiki、CodeWiki
補完型 人のコーディング作業中にリアルタイムで候補や続きを提示し、生産性を高めるAI GitHub Copilot、Gemini Code Assist、Cursor
エージェント型 目的を与えると、タスク分解から実行までを自律的に行うAI Claude Code、Codex、Gemini CLIGitHub Copilot、Cursor

使用していないAIツールもあり、正確ではないかもしれません。現在は完全に3つのいずれかに分類されるというよりも、複数のカテゴリを併せ持つAIツールが増えている気がします。

自分が主に使用しているAIツールは以下になります。

AIツール名 種別 主な用途
ChatGPT 対話型  調査 。たまにDeep Researchを利用
Gemini 対話型 調査。たまにDeep Researchを利用
NotebookLM 対話型(資料特化) 調査。複数のリンクやYouTube動画をもとに概要を把握。音声概要やスライド生成など
DeepWiki 対話型(+エージェント型、調査特化) リポジトリ全体を解析し、構造・設計・依存関係をWiki形式で自動整理・説明
CodeWiki 対話型(+エージェント型、調査特化) DeepWkiと同様
Dia 対話型(ブラウザ) ブラウザに組み込まれたチャットUIで閲覧しているサイトの要約や調査
GitHub Copilot 補完型(+対話型) IDE内でのコード自動補完、コメント生成、簡易レビュー。Copilot Chatにより対話的操作も可能
Claude Code エージェント型 コード生成・修正・リファクタリングCLI/エディタ連携による開発支援。主にターミナルのCLIから利用

AI活用した10ステッププロセス

前節で整理したAIツールをもとに活用できる点を検討します。

準備フェーズ

①全体像をつかむ

学習テーマの全体像をつかむために、対話型のChatGPTで簡単に学習テーマについて質問したり、NotebookLMで学習テーマについて検索し、検索したソースをもとにざっくりと全体像をつかむことができるかと思います。

たとえば、Hotwire Railsで検索すると、関連するソースが表示されます。

これらのソースをインポートして、チャットで質問します。

他にも音声概要といったAI生成のポッドキャストを聴いたり、マインドマップインフォグラフィックを見ることが全体像をつかむ助けになるかもしれません。

②学習範囲を決める

①で調査した内容をもとに学習対象を絞り込みます。 学習範囲は自分の興味をもとに決めればよいと思うため、対話型のChatGPTなどと相談しながら決めるとよいかもしれません。

③成功の基準を決める

このステップも、これまでの調査をもとに、対話型のChatGPTなどと相談しながら決めるとよいかもしれません。

④参考資料を探す

参考資料の収集は、NotebookLMが得意かと思います。 NotebookLMの検索からソースを追加したり、YouTube動画やローカルのPDFドキュメントも簡単に追加できます。

Chrome拡張のNotebookLM Importerを使うと、WebサイトやYouTubeサイトから簡単にインポートできます。

chromewebstore.google.com

⑤学習プランを立てる

ここも前ステップで収集した参考資料の内容をもとに対話型のChatGPTなどと相談しながら決めるとよいかもしれません。 最近はNotebookLMとGeminiが相互に連携することができるようになりました。この連携機能が利用できるようになると、 NotebookLMで収集した参考資料をもとにGeminiでNotebookLMのドキュメントを取り込み、Geminiと相談して学習プランを立てることもできるかもしれません。

NotebookLMの追加ボタンからドキュメントを取り込むことができます。

取り込んだNotebookLMをもとにGeminiで対話している例です。

この際、学習プランのプラクティスの終了条件も検討するとよいと考えています。

ところで、立てた学習プランの内容はどこに記載するとよいか考えています。個人的には、Notionを使っているので、Notionで準備した学習テーマ用のページに学習プランの表を作成して、表の中に各プラクティスのページへのリンクを貼るのもよいと考えています。もしくは、独学用の学習システムを構築するか、OSSbootcampアプリをフォークして活用させていただくのもありかもしれません。

⑥参考資料を絞り込む

NotebookLMで参考資料を収集した場合は、⑤の学習プランで立てたプラクティスに関連した資料以外を削除します。 理想的には、ここで収集した資料とプラクティスの内容を関連づけしたいところです。

実行フェーズ

⑦ある程度使えるようにするための方法を学ぶ

⑥の参考資料をもとに、最初の一歩として使えるようになるための方法を実行します。 基本的には公式サイトのドキュメントを参照したり、簡単なチュートリアルを実行したりすることで学ぶことになるかと思います。

内容がわからないことがあった際には、公式サイトのドキュメントの内容を対話型のChatGPTに貼り付けて質問したりして解決を図ることもできます。ただし、内容を貼り付ける作業が煩わしいので、個人的にはDiaのようなAIブラウザを使って、公式サイトやチューリアルサイトを開き、直接ブラウザのチャットUIで要約したり、質問したりするのが便利で活用しています。

以下は、bootcampアプリのREADMEをDiaブラウザで開いて、チャットUIでREADMEのインストール手順について質問している例です。

他にもGitHubソースコードのページを開いて、コードの内容について質問することもできます。

⑧遊び倒す

⑦である程度使えるようになったら、つぎは実際にコードを書いたり、アプリを動かしてみます。 この際に使えるAIツールとしては、補完型のGitHub Copilotやエージェント型のClaude Codeなどになるかと思います。

補完型やエージェント型の活用例としては、

  • ライブラリのAPIを呼び出す簡単なサンプルを複数生成してもらうことでライブラリの挙動を把握する
  • プロトタイプのコードを生成してもらうことでアプリの動作を把握する

といったことが考えられるかと思います。これらの過程でいろいろ疑問が思い浮かぶと学習のきっかけになるかと思います。

⑨役に立つことができるところまで学ぶ

ここでも、⑧で疑問に感じた点をエージェント型のチャットUIで質問すると、疑問点が解消する可能性があります。 また、実装したコードをエージェント型のClaude Codeなどでコードレビューしてもらったり、リポジトリ内のソースコードを調査してもらったり、AIツールを活用することでフィードバックを得ることができます。これらは独学でスキルを習得する際などのメンター不在の環境においてはフィードバックを得ることができ大変助かります。

その他にも、ソースコードの調査には前述のDiaブラウザを使った対話による質問をすることもできます。また、OSSGitHubリポジトリが公開されている場合は、DeepWikiやCodeWikiなどを使ってリポジトリ内のコードを解析し、対話によりアーキテクチャなどのより深い質問をすることができます。

⑩教える

ブログや日報、週報などを書く際に、AIツールに文章の校正やレビューなどのフィードバックをもらうなどが考えられます。 AIツールに文章をすべて生成してもらってアウトプットすることは学習の観点からは学習効果が低いためやめた方がよいと考えています。

ブログや日報などの自分で書いた文章を蓄積し、AIツールに蓄積して与えることで何らかの気付きをもらうことはあるかもしれません。 自分は使用したことはないですが、Obsidianなどのメモアプリツールを使用して知識のデータベースを構築し、メモ間のつながりから新しい知識を発見するのかなと思います。

おわりに

従来の学習の10ステッププロセスを振り返りつつ、 現在のAIツールを活用した新しい10ステッププロセスについて考えてみました。

エージェント型AIツールの登場により、非エンジニアであっても、ある程度動くアプリケーションを生成できる時代になりました。同様に、エンジニアであっても、コードを細部まで深く理解しなくとも、形として動作するものを素早く作れるようになっています。

しかし、こうしたAIの進化した時代においても、自分で学ぶ対象を選び、独学でスキルを習得し、物事の仕組みを理解しようとする姿勢そのものは、依然として重要だと感じています。

そこで本記事では、AIツールを「代替」ではなく「補助」として活用することを前提に、学習を深めるための新しい10ステッププロセスを整理してみました。

AI時代の学習プロセスを考えるうえで、何らかの参考になれば幸いです。

*1:もちろん、チーム開発や自作サービスの作成、就職支援などの違いはあります