はじめに
この記事を読んでほしい人
- 社会人で資格勉強の時間がなかなか取れない人
- 効率よく学習を仕組み化したい人
- AIを活用した勉強法に興味がある人
自己紹介とこれまで
こんにちは。インフラエンジニア2年目で、運用メインたまに設計構築をやらせてもらっています。まだまだ知らないことだらけで日々学習を継続しています。
学生時代は勉強ができたタイプではありません。なんなら中の下くらい。当然自分なりの勉強法なんてありませんでした。
継続すること自体が苦手なタイプでした。
おまけに文系だったこともあり入社時はIPアドレスすら知らない状態でした。
そんな状態からスタートしましたが、今回紹介する学習方法を続けた結果、去年(2025年)にはAzureのAZ-104、AWSのSOA・SAA・SAP・ANS、LPIC1/2に合格することができました。
勉強時間は多くない
上司や同僚に話すと、「めっちゃ勉強するやん!」とか言われます。でも実際は、1日の勉強時間は平均1〜2時間程度です。まとまった勉強時間を確保していたわけではないです。
それでも資格学習を継続できた背景には、AIをフル活用した学習の仕組み化があったためで、
忙しい社会人でも無理なく続けられるよう、自分なりに試行錯誤して作った方法です。
3つのツールで作った学習フロー
この仕組みは今も使い続けていて、いまのところ変える予定はありません。
ChatGPT・Obsidian・NotebookLM の3つを組み合わせることで、
生活の中のちょっとのスキマ時間を全て学習時間に変えることができました。
今回は、ChatGPT・Obsidian・NotebookLMを使った資格学習の進め方について紹介します。
社会人の資格勉強は時間がない
平日は仕事で疲れて帰ってきて、机に向かって2時間集中なんて絶対無理でした。
休日も予定や家事がある。今日は勉強できなかったという日が続いて、モチベーションが下がっていく。
そこで、机に向かう時間を増やすのではなく、既にある時間を学習時間に変えることにしました。
通勤時間、昼休み、家事の時間、お風呂の時間。
AIの進化によって、学習の進め方も大きく変わりました。
わからないことをすぐに質問でき、同じ内容を何度でも確認できる環境が、たった3,000円で利用できます。
そのおかげで、まとまった勉強時間がなくても、
スキマ時間の中で理解を積み上げることができるようになりました。
実際にやった勉強の流れ
問題集を解く
まず問題集を解きます。書籍などでのインプットは一切していません。
SAAとLPICはPing-tを使いました。他はすべてUdemyで購入した問題集です。
間違えた問題や理解が曖昧な問題について解説を読んで理解できればそれでOKです。
それでも、解説を読んでもよく分からない問題が必ず出てきますが、それを問題から解説までまるっとコピーします。
ここでコピーしている解説はあくまで個人学習のためのものです。コピーした内容をそのまま公開したり、第三者に共有したりすることは絶対にしないでください。
ChatGPTで理解する
解説を読んでも分からなかった問題を、ChatGPTに丸投げます。
ChatGPTのプロジェクト機能を使って、事前にこういうフォーマットでまとめてくれというプロンプトを入れておきます。主な構成としては以下のようなものを使用していました。
- 問題の要約
- 選択肢
- 正解
- なぜその選択肢が正しいのか、他の選択肢がダメな理由
- 解法のプロセス
- この問題から得られる知識
のようなフォーマットを出力させるようにしていました。
このプロンプトは使っていくうちにどんどん自分好みに変わっていきました。もっとこうしてほしいと思ったら、その都度修正していく。この育てていく感じが地味に楽しかったです。
他の選択肢がダメな理由と、解法のプロセスは、使っていくうちに増えた項目ですが、この2つは特に役割として大きかったです。
AWS-ANS勉強時に実際に使用していたプロンプト(プロジェクト指示)
## AWS問題解説プロジェクト:Obsidian対応Markdown形式 指示書(最新版・ANS版)
このプロジェクトでは **AWS Certified Advanced Networking – Specialty(ANS-C01)** 試験に関する選択式問題を
Obsidian 対応の Markdown(.md)形式で端的かつ構造的にまとめ、
**ネットワーク設計・接続・ハイブリッド環境構築の理解強化と再利用性の高いナレッジ化** を目的とする。
## 最重要事項
- ユーザーが送る解説内容を必ずベースとすること
- 解説に含まれる重要な仕様やキーワード(例:`Transit Gateway`、`BGP`、`Direct Connect Gateway`、`VPCピアリング` など)は一切省略せず必ず反映すること
- GPTによる補足は許可されるが、ユーザー解説に含まれる要素を削ることは絶対に禁止する
- Obsidian にコピーするため Markdown 記号(#, *, ` など)はそのまま表示し ノートのコピー部分はすべてコードブロックで囲う
- 出力結果は装飾された Markdown ではなく **マークダウン記号がそのまま表示されたプレーンテキスト形式** で出力する
- 選択肢セクションでは正解を明示せず、正解は「正解と理由」セクションでのみ示す
- 選択肢の順序は絶対に変更しない
- 日付ルール:タイトルの下の行に、その日のyymmdd形式の日付を必ず1行で追記すること(例:250823)
- 問題文はできる限り省略せず、特に問いかけ部分は必ず原文そのまま使用する
- 他の選択肢が誤りな理由セクションでは、問題文をそのまま使用し、勝手に省略しないこと
- 見出し部分では正解や特定の選択肢を連想させる語句を含めない(中立的な状況説明に留める)
- 見出しのタイトルは「## ◆」で必ず始める
- 解説や一言メモなど問題文と選択肢以外の文章では基本的に「。」は使用しない(句読点「、」は使用可)
- バッククォート使用ルール:
- 1文に含める`バッククォート`は最大3つまで
- 使用対象は以下に限定する
- 正解選択肢番号(例:`2. Transit Gatewayを使用する`)
- AWSサービス名(例:`VPC Peering`、`AWS Direct Connect`)
- 仕様・制約などの重要キーワード(例:`BGP`、`MPLS`、`Private VIF`、`Route Propagation`)
- 文全体や動詞・形容詞には使わない
- AWS以外の一般用語は必要に応じて使用するが乱用しない
- 強調表示をしたい場合は必ずバッククォートルールに従い、`バッククォート`で囲むこと
- **「正解と理由」セクションの直後に必ず「解法の手順(思考の流れ)」セクションを挿入すること**
- タイトルの上に3行の空白を開けること
# 選択肢セクションのルール
- このセクションでは正解を明示しない
- バッククォート(`)は絶対に使用しない
- 各選択肢の間にはゼロ幅スペース(\u200b)を含む改行行を必ず入れること(完全な空行は禁止)
- 選択肢は必ず「番号 + ピリオド + 半角スペース」で始める
- 選択肢セクションと、セクションの間には、####の線を8行+それぞれに空白改行を入れる
- **問題文の選択肢がアルファベット(A/B/C/D等)で与えられている場合でも、内部的に1/2/3/4に変換して出力すること**
- **正解肢が削除されて選択肢が3つ以下しか提示されていない場合でも、必ず残っている選択肢を1から順に番号付けして出力すること**
## 出力構成フォーマット
(ここに3行の空白)
## ◆(見出しの簡潔な文:正解や具体的サービス名を含めない中立的なシナリオ要約)
例:「企業がオンプレミスとAWS間で安定したハイブリッド接続を構築するシナリオ」など
**問題**
- 要件や条件を含めた問題文をそのまま引用して記載
**選択肢**
1. 選択肢1の文章
2. 選択肢2の文章
3. 選択肢3の文章
4. 選択肢4の文章
#####################################
#####################################
#####################################
#####################################
#####################################
#####################################
#####################################
#####################################
**正解と理由**
- `2. 選択肢2の文章`
- **理由の構成**
- **要件整理**:問題文から抽出した要件を整理して列挙
- **AWSネットワークサービスの仕様・制約**:問題文に付随する解説部分を必ず反映しつつ、必要に応じてGPTが補足説明を加えて整理する
- **選定理由**:なぜこの選択肢が最適解なのかを、解説部分をベースに再構成し、ネットワーク観点で分かりやすくまとめる
**解法の手順(思考の流れ)**
- このセクションは、問題をどのように分析し、どの順で解答に至るかをステップ形式で示す。
- 解法は以下の流れで構成すること:
1. まず「どの文言」から「どの通信層・構成・制約」を判断したかを説明する。
2. 性能・セキュリティ・接続形態など、どの観点を軸に選択肢を絞り込んだかを明記する。
3. 誤りの選択肢を段階的に排除するプロセスを示す。
4. 上記ステップを踏まえて、どの技術特性(例:`PrivateLink`対応、`L4/L7`層など)が決め手になったかをまとめる。
- ステップごとに1〜2文で端的に説明する。
- 「〜と判断」「〜が想定される」など、設計判断のプロセスを表す語を使用する。
- 例:
- 「まず 'SSL接続' という文言から L4 通信が前提と判断」
- 「次に '他アカウントからプライベート接続' という条件から `PrivateLink` が必要と判断」
- 「したがって `NLB` のみが要件を満たすと結論づけた」
**他の選択肢が誤りな理由**
- 1. 選択肢1の文章
問題文に付随する解説部分を必ず反映した上で、誤りとなる理由を補足説明する キーポイントは`バッククォート`で囲む(1文につき最大3つまで)
- 3. 選択肢3の文章
問題文に付随する解説部分を必ず反映した上で、誤りとなる理由を補足説明する キーポイントは`バッククォート`で囲む(1文につき最大3つまで)
- 4. 選択肢4の文章
問題文に付随する解説部分を必ず反映した上で、誤りとなる理由を補足説明する キーポイントは`バッククォート`で囲む(1文につき最大3つまで)
**キーポイント**
- 解説部分をベースに試験対策で覚えるべきネットワーク仕様・制約・設計指針を列挙
- 必要に応じGPTが要点を補強し、重要語句を`バッククォート`で囲む(1文につき最大3つまで)
**関連サービスの比較**
- 問題や解説に登場していないが関連するAWSネットワークサービスを積極的に列挙
- 既存の解説部分を活用しつつ、GPTが必要に応じて知識を補足する
- 表は禁止 サービス名はバッククォートで囲む(1文につき最大3つまで)
(一言メモ)
- 問題のシナリオに依存せず、AWSネットワーク関連サービスや機能の仕様・制約そのものを端的にまとめること
- 1問につき3つ程度の一言メモを作成すること(最低でも2つ以上)
- 各メモは一文完結で、汎用的に活用できる知識カードとして記載すること
- 重要語句は`バッククォート`で囲む(各文で2〜3箇所を目安に強調)
## ネストされた箇条書きに関するルール
- ネストの子要素はスペースではなくタブ文字(ASCIIコード0x09)を使用する
- \t の文字列は使わず 実際のタブ文字を使用する
- このルールは「他の選択肢が誤りな理由」「関連サービスの比較」などで適用する
## タグ付けルール
サービス単位タグ:常に公式英語の正しいサービス名に準拠して表記する
ネットワーク系では特に以下を想定:`#VPC #TransitGateway #DirectConnect #VPN #PrivateLink #Route53 #CloudWAN #GlobalAccelerator`
公式略称・短縮名が広く定着している場合はそれを使用する(例:#TGW #DX)
例外や個別指定がある場合は問題の文脈に従う(例:#VPCPeering #SiteToSiteVPN)
機能単位タグ:その問題でキーポイントになった設定・機能のみ追加する(例:#BGP #RoutePropagation #ハイブリッド接続 #クロスリージョン通信)
概念タグ(日本語):試験観点での分類(例:#ネットワーク #ハイブリッド #可用性 #冗長構成 #ルーティング #セキュリティ)
タグ数上限:関係する範囲なら増えてOK(目安3〜7個、多くても10個以内)
配置ルール:タグはノートの最終行に1行で列挙し、#タグ名の間は半角スペースで区切る(例:#VPC #TransitGateway #BGP #ルーティング #ハイブリッド)
「要復習」という文言をユーザーが送った場合、そのノートには必ず #要復習 #苦手分野 の2つを追加すること
タグもコードブロック内に含めること
分からないところは徹底的に壁打ちする
理解が曖昧なところは何度でも質問します。この違いがよくわからない、なぜこの選択肢はダメなのか、実際にはどう使われるのか。人に聞くと申し訳なくなるような初歩的な質問でも、AIなら遠慮なく聞けます。
Obsidianでノートを書く
ChatGPTで整理した内容をObsidianに貼り付けます。
なぜObsidianにしたか
正直、最初は「名前もアイコンもかっこいい!」という小3男子のような理由からでした。
notionは使った事がありませんので、比較はできませんが、特段Obsidianを選ぶ理由は無いかと思います。
使い慣れているノートアプリであれば、代替は十分聞くと思います。
でも実際使ってみると、これが意外とハマりました。
- マークダウンで書ける
- gitの拡張機能があり、バージョン管理などが容易
- フォルダで階層管理
- 拡張プラグインが豊富
- コミュニティも活発
- 対応プラットフォームが充実
- CSSスニペットで完全カスタマイズ可能
実際に使っていたCSSファイル
/* =========================================================
Obsidian Readability Up / Rebuild
- 統一感のあるコードブロック
- 暖色寄りで目に優しい配色
========================================================= */
/* =========================================================
Palette & Toggles
========================================================= */
:root {
/* 見出しカラー */
--h1: #318bc7; /* 見出し1:落ち着いたブルー(#2980b9 より少し明るめ) */
--h2: #8e44ad; /* 見出し2:紫系で階層を明確化 */
--h3: #09b27c; /* 見出し3:アクセント用グリーン */
--h4: #5c0d67; /* 見出し4:補助的なダークパープル */
/* 強調(太字) */
--bold: #175899; /* ドジャーブルー寄りの強調色 */
/* インラインコード */
--code-fg: #d35400;
--code-bg: #fdf3e7;
/* コードブロック(共通テーマ) */
--block-fg: #4a2f22;
--block-bg: #fff0dc;
--block-border: #f0c79a;
/* タイトル・パンくず */
--title: #9b59b6;
--breadcrumb: #b085c6;
/* Editor(Live Preview)コード設定 */
--editor-code-font: "Fira Code", "Consolas", "Monaco", ui-monospace, monospace;
--editor-code-size: 0.95em;
--editor-code-line: 1.55;
--editor-code-pad-v: 10px;
--editor-code-pad-h: 14px;
--editor-code-radius: 10px;
--editor-code-wrap: pre;
--editor-fence: #9aa3af;
--editor-select: rgba(100,149,237,.25);
/* Previewコード */
--preview-code-size: 0.95em;
--preview-code-line: 1.55;
}
/* =========================================================
Headings(Preview)
========================================================= */
.markdown-preview-view h1{
color:var(--h1);
font-weight:950;
font-size:36px !important; /* 最上位見出し */
border-bottom:2px solid #b2d1e0;
padding-bottom:4px;
margin-top:1.1em;
}
.markdown-preview-view h2{
color:var(--h2);
font-size:30px !important; /* 中見出し */
border-bottom:1.5px solid #d1b2e0;
padding-bottom:3px;
margin-top:1em;
}
.markdown-preview-view h3{
color:var(--h3);
font-size:24px !important; /* 小見出し */
margin-top:.9em;
}
.markdown-preview-view h4{
color:var(--h4);
font-size:20px !important; /* 補助的な見出し */
margin-top:.8em;
}
/* =========================================================
Headings(Editor)
========================================================= */
.cm-s-obsidian .cm-header-1{
color:var(--h1)!important;
font-weight:950!important;
font-size:36px!important;
border-bottom:2px solid #b2d1e0!important;
display:inline-block!important;
padding-bottom:2px!important;
margin-bottom:2px!important;
}
.cm-s-obsidian .cm-header-2{
color:var(--h2)!important;
font-size:30px!important;
border-bottom:1.5px solid #d1b2e0!important;
padding-bottom:3px!important;
display:inline-block!important;
}
.cm-s-obsidian .cm-header-3{
color:var(--h3)!important;
font-size:24px!important;
}
.cm-s-obsidian .cm-header-4{
color:var(--h4)!important;
font-size:20px!important;
}
/* =========================================================
Bold(太字)
========================================================= */
.markdown-preview-view strong {
color: var(--bold) !important;
}
.cm-s-obsidian .cm-strong {
color: var(--bold) !important;
}
/* =========================================================
Inline code
========================================================= */
.markdown-preview-view code{
color:var(--code-fg);
background:var(--code-bg);
border-radius:4px;
padding:2px 4px;
font-size:.95em;
}
.cm-s-obsidian span.cm-inline-code{
color:var(--code-fg)!important;
background:var(--code-bg)!important;
border-radius:4px;
padding:2px 4px;
}
/* =========================================================
Code blocks(Preview)
========================================================= */
.markdown-preview-view pre {
background: #f5f5f5 !important; /* 薄いグレー背景 */
border: 1px solid #ccc !important; /* 控えめな境界線 */
border-radius: 6px !important;
padding: 12px 14px !important;
overflow-x: auto !important;
white-space: pre !important;
margin: 1em 0 1.2em !important;
}
.markdown-preview-view pre code {
color: #2d2d2d !important; /* 濃いグレーの文字色 */
background: none !important;
font-size: 0.95em !important;
line-height: 1.55 !important;
}
/* コードブロックが横に広がりすぎないように調整(Preview) */
.markdown-preview-view pre {
max-width: 100% !important;
width: 100% !important;
box-sizing: border-box !important;
}
/* =========================================================
Code blocks(Editor / Live Preview)
========================================================= */
.cm-s-obsidian .HyperMD-codeblock {
background: #f5f5f5 !important;
color: #2d2d2d !important;
font-family: "Fira Code", "Consolas", "Monaco", monospace !important;
font-size: 0.95em !important;
line-height: 1.55 !important;
border: 1px solid #ccc !important;
border-radius: 6px !important;
padding: 10px 14px !important;
margin: 0.95em 0 1.15em !important;
white-space: pre !important;
overflow-x: auto !important;
}
/* コードブロックが横に広がりすぎないように調整(Editor / Live Preview) */
.cm-s-obsidian .HyperMD-codeblock {
max-width: 100% !important;
width: 100% !important;
box-sizing: border-box !important;
}
/* =========================================================
Titles
========================================================= */
.inline-title{color:var(--title)!important;font-weight:800}
.view-header-title{color:var(--title)!important}
.view-header-breadcrumb,
.view-header-breadcrumb-separator{color:var(--breadcrumb)!important}
/* =========================================================
Outline pane
========================================================= */
.outline .tree-item-self,
.workspace-leaf-content[data-type="outline"] .tree-item-self{font-weight:500}
.outline .tree-item-self[data-heading-level="1"],
.workspace-leaf-content[data-type="outline"] .tree-item-self[data-heading-level="1"]{
color:var(--h1)!important;
font-weight:700;
}
.outline .tree-item-self[data-heading-level="2"],
.workspace-leaf-content[data-type="outline"] .tree-item-self[data-heading-level="2"]{
color:var(--h2)!important;
font-weight:600;
}
.outline .tree-item-self[data-heading-level="3"],
.workspace-leaf-content[data-type="outline"] .tree-item-self[data-heading-level="3"]{
color:var(--h3)!important;
}
/* =========================================================
YAML:コントラストと可読性の最適化
========================================================= */
:root{
--yaml-bg: #eef2ff;
--yaml-fg: #0f172a;
--yaml-accent: #3b82f6;
--yaml-key: #1d4ed8;
--yaml-str: #065f46;
--yaml-num: #7c2d12;
--yaml-punc:#475569;
--yaml-cmt: #64748b;
}
.markdown-preview-view pre:has(code.language-yaml){
background: var(--yaml-bg)!important;
border: 1px solid rgba(59,130,246,.25)!important;
border-left: 4px solid var(--yaml-accent)!important;
}
.markdown-preview-view pre code.language-yaml{
color: var(--yaml-fg)!important;
}
.markdown-preview-view code.language-yaml .token.key{color:var(--yaml-key)!important;font-weight:700}
.markdown-preview-view code.language-yaml .token.string{color:var(--yaml-str)!important}
.markdown-preview-view code.language-yaml .token.number{color:var(--yaml-num)!important}
.markdown-preview-view code.language-yaml .token.punctuation{color:var(--yaml-punc)!important}
.markdown-preview-view code.language-yaml .token.comment{color:var(--yaml-cmt)!important;font-style:italic}
.markdown-source-view.mod-cm6 .HyperMD-codeblock[data-language="yaml"]{
background: var(--yaml-bg)!important;
color: var(--yaml-fg)!important;
border: 1px solid rgba(59,130,246,.25)!important;
border-left: 4px solid var(--yaml-accent)!important;
border-radius: 10px!important;
overflow: hidden!important;
}
.markdown-source-view.mod-cm6 .cm-line.HyperMD-codeblock[data-language="yaml"]{
background: var(--yaml-bg)!important;
color: var(--yaml-fg)!important;
padding: 0 14px!important;
}
.markdown-source-view.mod-cm6 .HyperMD-codeblock-begin[data-language="yaml"]{
padding:10px 14px 0 14px!important;
}
.markdown-source-view.mod-cm6 .HyperMD-codeblock-end[data-language="yaml"]{
padding:0 14px 10px 14px!important;
margin-bottom:1.1em!important;
}
.cm-s-obsidian .cm-line.HyperMD-codeblock[data-language="yaml"] .cm-property{color:var(--yaml-key)!important;font-weight:700}
.cm-s-obsidian .cm-line.HyperMD-codeblock[data-language="yaml"] .cm-string{color:var(--yaml-str)!important}
.cm-s-obsidian .cm-line.HyperMD-codeblock[data-language="yaml"] .cm-number{color:var(--yaml-num)!important}
.cm-s-obsidian .cm-line.HyperMD-codeblock[data-language="yaml"] .cm-comment{color:var(--yaml-cmt)!important;font-style:italic}
.cm-s-obsidian .cm-line.HyperMD-codeblock[data-language="yaml"] .cm-punctuation{color:var(--yaml-punc)!important}
- しかも完全無料
無料でここまで充実しているので、本当に感謝です。
iCloud Driveとの連携が良かった
ノートの保存先は iCloud にしていました。
普段使っている iPhone と自然に連携が可能な点もノンストレスでした。
自宅ではPCで Obsidian のノートを書き、そのまま iCloud に保存します。
するとiPhoneやiPadにも自動で同期され、移動中でもすぐに見返せます。
電車の中でスマホを開いたとき、さっき書いたノートがもう同期されているのです。
ノート作りに凝りすぎない
気をつけたのは、ノートを作ることが目的にならないようにすることです。きれいにまとめることに時間をかけすぎると、本末転倒です。あくまで理解するためのメモとして、サクッと書きます。
Obsidianではグラフビューとか拡張機能が沢山ありますけど、正直自分は使いこなせませんでした。資格の勉強などであれば特に使う必要もないかなと思いました。
日々の日記や、クリエイティブ系の仕事している方が思考をまとめるなどの用途であれば、グラフビューなどの拡張機能をフル活用してるイメージがありますね。
Tipsシートの作成
学習が進んで基礎が固まってくると、自分でTipsシートを作るようになりました。問題を見て、そこから得られる1文、2文で済む情報はほとんどTipsシートに入れました。
例えば、
- CloudFrontはキャッシュ配信用CDNのため、エッジロケーションのIPレンジが頻繁に変わるので、固定IPのホワイトリスト登録などの要件には合わない
といった感じでまとめました。
またTips以外にも、「Lambda@EdgeとCloudFront Functionsの違い」とか、
似ているもの同士はよく比較して、キーポイントとしてまとめました。
Tipsシートは自分の言葉で書く
TipsシートはChatGPTに丸投げするのではなく、自分の言葉で整理します。ここは手間をかけてでも自分でやったほうがいいと思います。
丸投げした内容はどうしても頭に入らないです。
資格更新にも使える
ノートに残すことで、資格更新時にまたノートを見返せます。
AWSは基本3年で更新なので、内容が変わってしまうこともあるかもしれませんけど、
合格実績のあるノートが手元にあるのとないのでは全然違うと思います。(まだ更新したことないけど。。)
タグ機能は結局使わなかった
タグ機能は最初は使ってました。問題解説のノートに、サービス名ごとにタグ付けして、
例えば S3 の問題を見返すために S3 のタグを検索して そのサービスだけを復習したいなどの用途で役立ちます。
ただ、サービスごとに問題を見返す機会があまりなく、結局活用できませんでした。
日付をつけるのは良かった
途中から、問題を解いて解説を生成した日付を YYMMDD 形式で必ず入れるようにしました。
上からどんどん解説のノートを追加していくと、下の方ってどうしても見られなくなりますから。
エビングハウスの忘却曲線を意識して、過去の問題も時たま見返せるようにするためです。
Obsidianのインストール
以下のURLから自分のOSを選択すればOKです。
Windows も Mac もiPhone でも Android でも対応しています。
https://obsidian.md/download
NotebookLMでPodcast化する
Obsidianにまとめたノートを、NotebookLMに読み込ませて、Podcast化します。
ここが本勉強法の大肝です。
最初に作ったときの衝撃
NotebookLMがまだ機能が3つくらいしかなかった頃、試しにポッドキャストを1回作ってみました。思った以上に完成度が高くて驚きました。
やることは本当にシンプルで、ノートをアップロードしてボタンを押すだけ。無料プランでも1日3回まで作れます。プロンプトなしだと10-15分くらいになりますが、プロンプトを少し工夫すると40-60分のPodcastも作成可能です。以下の記事が大変参考になりました。
NotebookLMが作るPodcastは、小池栄子さん風の女性の声と、アルピー平子さん風の男性の声で、掛け合い形式で解説してくれます。耳に残りやすい "良い声" です。
他の AI 音声についてはあまり詳しくありませんが、少なくともフィラーや相槌、笑い方まで含めて、本当にリアルです。
ただの要約ではない
NotebookLMは、ノートをそのまま読み上げる感じではありません。
例えば問題と解説をいくつかまとめて読み込ませると、ただ順番に話すのではなく、前の内容を少し振り返りながら次につなげます。
似ているポイントを軽く比較したり、「今の話はさっきの応用ですね」という感じで自然に流れを作ります。
バラバラのメモでも形になる
あるサービスのTips集を、特に順番を考えずにまとめて渡したことがあります。完全にメモの殴り書きという感じでした。
それでも、関連がありそうな内容は続けざまに話したり、順番自体もなんとなく基礎から応用へ進むような流れで作成されます。
全部完璧に意図通りというわけではないですが、少なくとも自分がそのまま読むよりは、はるかに聞きやすい形になっていました。
補完がうまい
ノートに書いていない前提や説明のつなぎも、さりげなく補ってくれます。
だからといって過度に話を広げすぎることもなくて、提示したソースの範囲内でうまくまとめてくれます。
NotebookLM はハルシネーションを起こさない事が強みですが、逆に提示されたソースの限りで、最善を尽くす感じが本当に信頼できます。
スキマ時間が全部学習時間になる
Podcastを事前に作っておくことで、ほぼすべての時間を勉強時間に変えられます。
- 通勤中の電車やバスの中
- 洗い物
- アイロンがけ
- 洗濯
- お風呂
- トイレ
寒い日でも電車、バスの待ち待ち時間にポケットに手を入れたまま耳だけで聞いておけばいいのです。
手がふさがっている時間、全部学習時間になります。
1日のスケジュール
平日は朝早起きして過去問解いて、通勤時間は往復で1時間くらいあるので、そこでメモを見返したりNotebookLMで作成したPodcastを聞いたりしてました。
忙しい平日でも着実にインプットして反復学習を進めました。
全部同じ方法
この勉強法は、冒頭に紹介した資格全部で使いました。
全く同じフローです。それでも全部、点数も余裕をもって一発で合格できました。
これが分かったとき、自分の中で勉強法が確立した感覚がありました。
各資格60-80時間くらいの勉強時間です。
IT資格以外の分野でも使えると思いますが、、正直自分はIT資格しか勉強していないので、分野によっては向き不向きがあるかもしれません。
コスト
この勉強法でかかる費用は、ChatGPTの有料プランのみです。
- ChatGPT Plus: 月3000円
- Obsidian: 無料
- NotebookLM: 無料
あとは問題集代がかかりますけど、これはどの勉強法でも同じです。
また、一般的な資格対策の書籍は、2〜3,000円ほどしますし、複数冊買うとなると、それなりの金額になります。
それを追加で買い足さなくても学習を回せるのは、大きなメリットだと思います。
最後に
今年で入社3年目になりますが、まだまだ分からないことばかりです。
それでもこの方法のおかげで、スキマ時間をそのまま学習時間に変えることができました。
知らなかったサービスや概念が、気づいたら頭に残っている。
その感覚が楽しくて、勉強そのものが苦ではなくなりました。
もちろん、資格を取得しただけで実務に直結するわけではない事は痛いほど分かっています。
ただ、この勉強法で得た知識を土台にして、学ぶべき技術領域や新しい技術をノートに残し、
それを耳で繰り返しインプットする。この一連の流れはかなりの効果があると私は実感しています。
もし今、 勉強時間が取れない と悩んでいるなら、
まずはNotebookLMで自分のノートをPodcast化してみてください。学習のハードルが一気に下がるはずです。
最後までお読みいただき、ありがとうございました!
