Communityライティング&編集github.com

無痛学習ウェブ

学習資料を「1科目1ウェブページ」にまとめ、進めるごとに理解が深まり、問題で習得度を確認できるようにします。教材がない場合は学習計画を立て、リソースを調査してからページを作成します。

無痛学習ウェブ とは?

「無痛学習ウェブ」スキルは、学習資料(教材スライド、教科書、講義書き起こし、サンプル問題など)を1科目1つの単一ウェブページに統合し、学習者が順序立てて進めることで自然に理解し、問題演習で習熟度を確認できる環境を提供します。このスキルは主にClaude Code向けに設計されていますが、Codex、WorkBuddyなどのAIエージェントでも動作するよう、ファイル読み取り、ネットワーク検索形式、データ保存場所(デフォルトでは `_学習ウェブ/` フォルダ)、AI機能のローカルストレージ代替方法など、環境に応じた実行ガイドラインが定義されています。科目のプロファイル(自学、軽量入門、ゼロからの計画、講義追従、試験対策など)に応じて、知識マップの生成、段階的な授業、問題集、試験情報などのセクションが動的に構成されます。特に、知識グラフ(トポロジーマップ)の自動生成が必須であり、たとえ時間がなくても省略されません。また、進捗管理、タイマー、復習キュー、チートシートテンポラリ、進捗コード(AIとの連結用)などの機能を備え、学習者の進捗をlocalStorageに安全に保存します。試験対策モードでは、試験問題から逆算した知識範囲の絞り込み、模擬問題の自動生成、過去問管理、チートシートの整理など、効率的な試験準備を支援します。教材がない場合でも、ネット検索で信頼できるリソースを調査し、段階的な学習経路を提案してからウェブページを作成します。

対応✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/leonaluo88/painless-learning/tree/HEAD/workbuddy/painless-learning-web

Installed? Explore more ライティング&編集 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

無痛学習ウェブ は何をしますか?

学習資料を1科目1ウェブページにまとめ、ユーザーが順を追って学べば理解でき、正しく学び、問題で習得を確認できるようにします。1科目は長期間のプロジェクトとなります。毎週新しい資料を追加でき、試験対策時には同じページで試験関連部分を開きます。ユーザーが資料を持っていない場合は、まず学習経路を計画し、信頼できるリソースを探してからウェブページを作成します。


ゼロ、環境設定(様々なAIエージェントへの対応)

このスキルは元々Claude向けに書かれていますが、Codex、WorkBuddyなど他のエージェントでの実装方法を以下に説明します。本文のルールはそのまま実行し、環境によって能力が異なる場合はここに従って処理します。

  • ファイル読み取り:利用可能なファイルツールやスクリプトを使用して、ユーザーから提供されたフォルダ(PDF、PPT、DOCX、画像)を読み取ります。OCRができない場合は、どのページが読めなかったかをユーザーに伝えます。
  • インターネット接続:検索ツールがある場合は、ゼロからの計画立案や事実確認に使用します。ない場合はその旨を説明し、ユーザーに資料を提供するよう依頼します。
  • 質問:ユーザーに質問する必要がある場合は、一度にすべて質問します。選択式質問ツールがある場合はそれを使用します。
  • ウェブページの保存場所:デフォルトでは、コースフォルダ内の _学習ウェブ/ に書き込みます(コースフォルダがない場合は、現在の作業ディレクトリに <コース名>_学習ウェブ/ を作成します)。index.html はウェブページ全体(単一ファイル、データ埋め込み、ブラウザで直接開く)です。data/course.json はデータの原本です。img/ にはソースのスクリーンショットを保存します。ホスティングされたウェブページに公開できる場合は別途公開しても構いませんが、ローカルフォルダは常に原本とします。
  • ウェブページ内でAIを呼び出さない:本文中に「Claudeにウェブページ内で整理させる/sample、db、assets機能を使う」と書かれている箇所は、localStorageに保存し、「すべてコピー(AI用)」ボタンを提供し、ユーザーが内容をあなたに送り返して整理してもらうように変更します。
  • 検証:Pythonを実行できる場合は、python3 scripts/validate_course.py <パス>/data/course.json を実行し、エラーがなくなるまで修正します。ブラウザまたはヘッドレスブラウザを使用できる場合は、index.htmlを開いてレンダリングとインタラクションを確認します。実行できないチェックはユーザーに伝えます。

一、まず仕様を決定する

まず、ユーザーの発言と資料からどのカテゴリに属するかを判断します。判断できない場合は、一度の質問で最大3つまでの質問をして確認します。ユーザーがその場にいない場合は、最も妥当なカテゴリを選択し、納品時にどのカテゴリを選んだか、その理由を説明します。

タイプ典型的な状況目標重点
自学・理解教材、オンライン講義の書き起こし、記事のみ。試験のためではない理解し、正しく学ぶ正確に説明する。理解度を問う問題で検証する。試験分析は行わず、時間計測もしない
軽量入門特定の概念や小さなテーマを早く理解したいだけ。総学習時間が3時間未満と予想される正しい理解を素早く得る経路は提示せず、確認も待たない。自分で経路を決めて直接ウェブページを生成する(「四の三」を参照)
自学・ゼロからの計画学びたい分野はわかっているが、資料を持っていない基礎から応用へと学ぶまず調査し、経路を計画し、信頼できるコースと教材を見つけ、ユーザーが経路を確認してからウェブページを作成する。説明は段階的に、興味を引くように(「四の二」を参照)
講義追従学期中、毎週または隔週で講義資料と講義書き起こしが提供される講義に追いつき、毎週の内容を理解する増分更新。週単位で進める。講義の範囲に厳密に従う
試験対策・短期決戦試験日が近く、時間が少ない短期間で高頻出分野を押さえる試験の傾向を分析。核心と重要な部分のみを学ぶ。実際の過去問で直接検証する
試験対策・確実高得点を目指し、時間は十分にある真に習得する試験の傾向を分析。試験範囲内の全知識を徹底的に解説する。まず模擬問題を解き、過去問は最後まで取っておく

把握すべき状況(資料から推測できる場合は質問しない):

  • 学習目的:理解、講義追従、または試験対策か
  • どのような資料があるか
  • 現在の基礎レベル
  • 期限または試験日
  • 1日あたりの学習可能時間
  • 試験形式:どの言語で解答するか、ノート持ち込み可か、電卓の制限

同じ科目で、最初は「講義追従」で、期末に「試験対策」を追加することもできます。その場合、新しいウェブページは作成せず、既存のウェブページで試験対策部分を開きます(第3節を参照)。


二、コースデータファイル

各コースに course.json を1つ維持し、ウェブページはこれから生成されます。更新時はこのファイルを変更し、ウェブページを再生成します。

2か所に保存し、次回の会話でも続きができるようにします。

  1. ウェブページフォルダ内の data/course.json
  2. ユーザーのコースフォルダ _学習ウェブ/course.json(書き込み可能な場合)

更新前にこのファイルを読み取ります。両方とも見つからない場合は、公開されているウェブページから復元し、その旨をユーザーに伝えます。

{
  "course": {"code":"…", "name":"…", "profile":"self|self-plan|course|exam-sprint|exam-deep",
             "exam": {"date":"…", "format":"…", "answer_lang":"en|zh", "allowed":"…"}},
  "sources": [{"id":"W03L1", "file":"…", "url":"…", "type":"lecture|transcript|textbook|tutorial|lab|assignment|sample_exam|past_exam|exam_info|web", "week":3, "added":"…"}],
  "modules": [{"id":"M-sql-basic", "name":"…", "order":5}],
  "points": [{
    "id":"sql-left-join",        // 安定ID。生成後は変更しない
    "no":57,                      // 表示番号。生成時に再採番
    "title":"一言で内容",
    "module":"M-sql-basic",
    "week":5,
    "tier":3,                     // 3 核心 / 2 重要 / 1 補足 / 0 試験範囲外(自学系は区分しなくてもよい)
    "depth":"apply",              // recall 認識 / explain 説明できる / apply 使える / transfer 応用できる
    "pre":[{"id":"sql-inner-join","kind":"hard"}, {"id":"null","kind":"soft","why":"IS NULL"}],
    "src":[{"source":"W05L1","page":24}, {"source":"W05L1-transcript","time":"32:10"}],
    "exam_refs":["サンプル問題2 Q2A"],
    "mastery":"何ができれば習得したと言えるか(問題で検証可能であること)",
    "status":"active|merged|deprecated",
    "changed":"日付:変更内容",
    "note":"試験範囲外 / 補足 / 先生が言っていたこと…"
  }],
  "storyline": [{"from":"M-tree", "to":"M-rf", "why":"一言で:前のモジュールで残った問題を、次のモジュールがどう解決するか"}],
  "lessons": [{"id":"L-w05", "track":"learn|review", "title":"…", "points":[…], "steps":[…],
               "storyline":[{"role":"問題|考え方|方法|結果|新たな問題", "text":"一言か二言", "formula":"オプション、最も簡潔な形式", "steps":[3,4]}]}],
  "questions": [ … 第8節参照 … ],
  "changelog": [{"date":"…", "summary":"…", "added":[…], "changed":[…], "conflicts":[…]}],
  "course_notes": [{"date":"…", "note":"このコースにのみ適用される設定や修正(表記法や特定モジュールの詳細度など)。今後このコースを更新する際は常に従う"}]
}

ルール:

  • IDは安定:進捗、チェック、誤答はすべてIDで保存されるため、更新後もユーザーの進捗は失われません。
  • 知識ポイントを削除しない。不要になったものは deprecated をマーク。統合されたものは merged をマークし、新しいIDを指定します。
  • pre は直接の前提知識のみを記述します。hard は事前学習必須、soft は概念の一部のみ使用することを示し、その概念を明記します。

三、ウェブページ構造:1科目1ウェブページ

全科目は1つのウェブページ(_学習ウェブ/index.html、「ゼロ、環境設定」参照)です。上部タブでセクションを切り替え、URLハッシュで位置を指定します(例:#map、#lesson/L-w05/3、#q/q-id)。セクション間の移動を容易にします。

セクションと、各タイプでの表示内容

セクション内容自学(ゼロからの計画を含む)講義追従試験対策
マップモジュールトポロジーマップ、全知識ポイント(チェックボックス、前提、出典)、進捗、「今回の更新」パネル✓(ゼロからの計画時は学習経路となり、推奨リソース付き)✓✓、「試験視点」追加
授業ステップバイステップの説明、各ステップに自己評価問題✓(章または段階ごと)✓(週ごと)✓、「復習ライン」追加
練習知識ポイントごとの自作問題(試験対策時は模擬問題もここに配置、タグで区別)。「未習得」フィルタがそのまま誤答ノートに✓✓✓
試験情報試験の事実、資料の優先順位、問題別テーブル、モジュール別配分、試験範囲外リスト、先生の発言——✓
模擬問題練習ページに統合。「模擬」タグでフィルタリング。別セクションは作成しない——確実版
過去問サンプル問題と過去の試験問題(問題集)——✓(確実版ではまず封印)
チートシート一時保存学習中に覚えたくない内容を一時的に保存。後でAIが文脈から整理し、最終的にカンニングペーパーを生成(第6節第5条参照)——✓(ノート持ち込み可の試験の場合)

トポロジーマップは必須

  • 各ウェブページのマップセクションには、知識ポイントのトポロジーマップを含めます。仕様や時間的制約に関わらず、確認をスキップした場合でも、必ず生成します。前提知識も描画します(例:「APIとは何か」を学ぶ場合、クライアント、サーバー、HTTPリクエストなどの前提を描画します)。
  • トポロジーマップを描画しなくてもよいのは、学習内容が極めて狭い場合(知識ポイントが1〜3個のみ)、または知識ポイント間に前後関係が確かにない場合のみです。その場合、マップの位置にトポロジーマップがない理由を記述します。
  • 時間が不足している場合は、授業のステップ数や問題数を減らすことができますが、トポロジーマップは削除できません。

ナビゲーションレイアウト(授業と演習を優先)

  • 授業と演習が主要部分であり、マップ、試験情報、学習経路は概要であり、上部の大部分を占めてはいけません。
  • 上部は1行のスティッキーバーに圧縮します。コースコード + メインセクションタブ + カウントダウン/進捗/用語/進捗コードボタン。メインセクションは次のみ:授業(デフォルトで開く)、演習(サブページ:練習、過去問)、概要(サブページ:マップ、試験情報、学習経路)、チートシート(一時保存機能がある場合)。
  • 2行目は、現在のメインセクションのサブページタブ、および1行のチートシート入力ボックス(フォーカス時に展開)。
  • 試験情報セクションはすべての試験対策ウェブページに保持され、内容は書き終えたら変更しません。学習経路は進捗に応じて変化し、ユーザーが常に参照するとは限らないため、概要内に配置します。

学習コストを低く

  • ウェブページを受け取った人が、まず使い方を学ぶ必要がないようにします。
    • 各セクションが初めて開かれたとき、上部に薄い色の説明(閉じられる)を1行表示し、このページの使い方を一言で説明します。例:「自信のない問題は『習得済み』にチェックしないでください。『未習得』フィルタがそのままあなたの誤答ノートになります」。
    • サイト全体で1種類の問題カードのみ:問題文 → 選択肢または入力ボックス → ヒント/回答を見る → 右上「習得済み」チェックボックス。授業の自己評価、練習、過去問のすべてでこれを使用します。一度覚えればどこでも使えます。
    • ボタンは動詞のテキスト(「回答を見る」「次へ」)を使用し、アイコンのみのボタンは使用しません。1ページ内のフィルタとスイッチは最小限にし、あまり使用されない機能は実装しません。
    • 同じ操作に対して1つのエントリポイントと1つの状態のみを提供します。「訂正済み」「取り消し」「習得済み」のような類似した状態を併存させないようにします。

すべての永続化操作は元に戻せる

  • 新しいウェブページを受け取った人は、まずあちこちクリックして試します。そのため、保存される操作はすべて操作前に戻せるようにし、試しても痕跡が残らないようにします。
    • スイッチ類(「習得済み」、知識ポイントチェック、ステップ「完了」):もう一度クリックするとキャンセルされます。チェックのみ可能でキャンセル不可にはしないでください。
    • 解答記録:各問題に「やり直す」ボタンを配置し、その問題の解答とフィードバックをクリアし、未着手の状態に戻します。
    • クリア、削除、インポートなどデータを失う操作:操作後、下部に通知バー「クリアしました · 取り消す」を表示し、約8秒以内に「取り消す」をクリックすると完全に復元します。ブラウザのconfirm()は使用しません。
      • タイマークリア、チートシート項目削除、進捗コードインポートはすべてこの通知バーを使用します。
      • チートシートの削除はソフトデリート:ページ下部の「最近削除した項目」に移動します。通知バーの時間が過ぎてもそこから復元できます。
      • 進捗コードのインポート前に、現在の進捗を自動的にバックアップします。
    • ワンタッチリセット:進捗コードポップアップ内に「学習記録をすべてクリア」を配置し、試用後に最初からやり直したい場合に便利です。クリックする前に自動的にバックアップし、クリア後、同じポップアップ内に「直前の記録を復元」ボタンを保持します。
    • 実装:データを失う可能性のある書き込みのたびに、影響を受ける状態の一部のスナップショットを保存します。取り消しはスナップショットへの書き戻しです。ワンタッチリセットのバックアップは個別のlocalStorageキーに保存され、次のリセットまで上書きされません。

学習モードと試験モードが共存する場合の配置

  • マップは1つのみ。「学習視点 / 試験視点」切り替えを提供します。

    • 学習視点:週または章ごとに整理され、すべての知識ポイントを表示します。
    • 試験視点:試験の配点順に並べられます。試験範囲外の知識ポイントは灰色になります。試験出典タグと学習経路が表示されます。

    2つの視点で進捗チェックは共通です。

  • 授業は2つのライン:

    • 学習ライン:学期中に週ごとに作成された授業で、常に保持されます。
    • 復習ライン:試験対策時に新しく追加される授業で、学習経路に従って配置されます。復習ラインはすでに学習した内容を繰り返し説明しません。既学習の知識ポイントには、圧縮された復習カードを1枚提供し、元の学習ラインの説明にリンクし、さらに試験の観点(問題の問い方、必要な深さ、よくある減点ポイント)を追加します。試験で必要で、学習ラインで十分に説明されていない箇所のみが詳しく説明されます。
  • 練習問題プールは1つのみ:通常の自己評価問題と試験対策の模擬問題はすべてここに配置され、タグでフィルタリングされます。誤答ノートはモード間で共有されます。

  • 試験情報、過去問の2つのセクションは、試験対策時にのみ表示されます。過去問マニュアルは試験対策に属し、学習モードには含めません。

ウェブページの共通機能

  • 上部:コース名、タイプ、全体進捗、試験カウントダウン(試験対策時)
  • タイマー:各ステップカードの右上(目立つ位置、サイドバーのみに隠さない)に配置。「このステップの経過時間 mm:ss · このコースの累計時間」を表示し、毎秒更新。「一時停止/続行」と「クリア」ボタン(クリアは現在のステップのみ。クリア後「取り消し」通知バーを表示)。一時停止状態はステップ間で保持。他のタブに切り替えると自動的に一時停止。経過時間は現在のステップまたは問題に記録されます。
  • メインライン表示ポップアップ:いつでも現在の授業の論理的な流れを開くことができ、「あなたはここ」が強調表示されます(第7節「論理的な流れ」参照)。
  • 用語対訳ポップアップ(中英対訳、各用語に一言説明)。数学、統計系のコースでは、記号変換ツールも追加。
  • 講義資料リンク:コースフォルダ内の元のPDFへの相対パスと #page=N(ブラウザのPDFビューアが該当ページにジャンプ)。書き起こしにはタイムスタンプ。ネットリソースには元のリンク。
  • 進捗コード:テキストをエクスポートしてAIに送信し、AIがどこが弱点かを把握できるようにします。インポートはチェックを追加するのみで、削除はしません。インポート前に自動的にバックアップし、取り消し可能。
  • すべての状態は「コースコード + 安定ID」でlocalStorageに保存され、読み書きは常にtry/catchでラップされます。
  • 統一された配色、ダークモード対応、同一コース内で一貫性を保ちます。
  • モバイル対応:サイドバーは上部に積み重ね、テーブルは水平スクロール可能、セーフエリアに対応。
  • 数式はMathJaxのSVG出力(tex-svg)を使用。表記法と組版ルールは第7節「表記法と組版」を参照。
  • トポロジーマップ:知識ポイントが多い場合はGraphvizで事前にレイアウトを計算し、クリック可能でズーム可能なSVGをページ内に描画。知識ポイントをクリックすると、そのすべての前提と後続が強調表示されます。「問題別に見る」では、特定の問題を解くために必要なすべての知識ポイントが強調表示されます。モジュールレベルの小さな図はMermaidを使用可能。
  • ソーススクリーンショット:知識ポイントで参照されている講義資料のページのみをエクスポートします(pdftoppmなどのコマンドラインツールを使用してPDFから直接PNGをエクスポート。ページごとに表示しないため、トークンをほとんど消費しません)。ウェブページフォルダの img/ に配置し、出典をクリックすると画像が表示されます(PPTファイルはブラウザで特定のページを開けないため、スクリーンショットを使用)。
  • ウェブページ内のデータは直接index.htmlに埋め込まれ、data/course.json は原本として別途保存されます。

四、新規作成(資料がある場合)

1. 資料を読む

  • 利用可能なファイルツールを使用して、ユーザーから提供されたフォルダまたはアップロードされたファイルを読み取ります。各ファイルをすべて読み取ります。スキャンページや手書きページはOCRを実行し、画像はページごとに確認します。
  • 講義書き起こしとオンライン講義の文字起こしも同様に重要です。口頭での例、強調されたポイント(「これは試験に出る」「ここで多くの人が間違える」)、スライドにない説明もすべて抽出し、タイムスタンプを付けます。
  • まず、ファイルリストをユーザーに返し、読み取れないファイルを明示します。

2. 範囲と正確性

  • 講義追従と試験対策:範囲は講義資料と講義を基準とし、講義外の内容は追加しません。補足する必要のある背景知識には「補足」とマークします。表記法は講義資料に合わせます。
  • 自学・理解:範囲はユーザーの学習目標を基準とし、資料は出発点にすぎません。資料の説明が不明瞭または誤りがある場合は、信頼できる説明を補足できますが、その旨を明示します。オンライン講義の書き起こしには、認識エラーや言い間違いがよくあるため、文脈に基づいて修正し、信頼できる情報源と照らし合わせて重要な事実や数式を確認します。不明な点は明記します。

3. 知識ポイントへの分割

  • 粒度を細かくします。各エントリは1つのこと(定義、性質、方法、問題タイプ、または落とし穴)のみを説明します。1つのエントリに分けて検証できるものが2つある場合は、さらに分割します。
  • 学習系の深さは、まず資料の説明レベルに従います。資料が導出している場合は explain、資料が例題を解いている場合は apply とします。自学系はユーザーの目標に従います。

4. トポロジーを構築する

  • 有向非巡回グラフを構成します。循環が発生した場合は、分割が間違っているため、再分割します。
  • 講義追従系:週順に配置し、週内は依存関係順に配置します。自学系:完全に依存関係順に配置します。
  • モジュール図はMermaidフローチャートを使用:実線は事前学習必須、点線は概念の一部のみを使用(どの概念かを明記)。重要度を色で区別。ノードに番号範囲を記述。図の下に、図全体のメインラインがいくつあるかを一文でまとめます。

5. まずトポロジーマップを確認してから生成

  • ユーザーに確認を依頼する核心は知識ポイントのトポロジーマップであり、モジュールの順序ではありません。方法:まずすべての知識ポイントを1つずつ抽出し、バラバラにします。試験問題(または学習目標)に必要な知識ポイントから出発し、その前提、さらなる前提を辿ってトポロジーマップを形成します。前提関係はモジュールをまたいでリンクします(例:Module 8の問題がModule 7のツールや前提科目の概念を使用する場合)。ウェブページの説明が学校の資料よりもスムーズになるようにします。
  • 知識ポイント番号は「即時前提」順に並べます。各前提は、それが最初に使用される直前に配置され、前提となる内容を最初にまとめて配置することはしません。
  • 最初にマップ、試験情報、学習経路のみを含む初版ウェブページを公開し、ユーザーがインタラクティブな図上で直接確認できるようにします。確認後、授業と問題集をバッチ生成します。
  • 前提知識も出典に基づいて個別のコースとして作成します(例:「行列と階数(前提スピード補習)」)。各コースのステップ0に「これらができることを確認してください(他のコースから)」をリストし、リンクします。
  • ユーザーが判断できる場合にのみ、トポロジーマップの確認を依頼します。ユーザーが講義資料、試験範囲を持っているか、関連する基礎知識をすでに持っている場合にのみ、確認を送信します。ユーザーが初心者の場合は確認を依頼しません。正誤を判断できないためです。AI自身が講義資料や信頼できる情報源と照らし合わせて確認し、直接ウェブページに配置します。
  • 確認をスキップする場合(ユーザーが初心者であるか、時間がないため)、トポロジーマップは通常通り生成され、マップセクションに配置されます。

四の二、資料がない場合:まず経路を計画する

1. 目標を明確にする

  • どの程度まで学ぶ必要があるか、何のために学ぶか(論文を読むため、プロジェクトのため、面接のため、興味のため)
  • 関連する基礎知識はあるか
  • 週にどのくらいの時間を割けるか

会話から推測できる場合は質問しません。

2. 調査

  • インターネット検索が利用できる場合、この分野で認知されているリソースを探します。大学の公開講座(コースウェブページ、講義ノート、ビデオ)、古典的な教科書、公式ドキュメント、サーベイ論文。オリジナルの信頼できるソースを優先し、リンクと具体的な章や講義回をメモします。
  • 2〜3の信頼できるソースのシラバスを比較し、この分野が主にどのようなブロックに分かれているか、どれが基礎でどれが応用か、それらの間の前後関係を要約します。

3. 学習経路を作成し、まずユーザーに確認を取る

  • 分野の全体像:この分野はどのようなブロックに分かれているか。ユーザーの目標のために、どのブロックを学ぶ必要があり、どれは当面学ばなくてもよいか。

  • 前提チェック:どのような基礎知識が必要か。ユーザー自身が確信がない場合は、診断用の小問題を3〜5問出題し、結果に基づいて開始点を調整します。

  • メインリソース:1つのコースまたは1冊の本をメインとして推奨し、残りは補足とします。その理由(権威性、難易度の適切さ、無料で入手可能かどうか)を説明します。

  • 段階別経路:各段階で以下を明記します。

    • 学習目標(検証可能)
    • 核心概念
    • 推奨リソース(具体的な章や講義回、リンク付き)
    • 予想時間
    • 段階の確認方法

    段階間では、「前の段階で何が解決され、この段階でどのような新しい問題を解決するか」を説明します。

  • ユーザーに確認を依頼するのは、目標、時間、メインリソースです。知識ポイントのトポロジーマップはユーザーが確認する必要はありません。AIが信頼できる情報源と照らし合わせて確認した後、直接ウェブページに配置します。

4. ユーザーが経路を確認したら、ウェブページを作成する

  • 学習経路がそのままマップになります。調査した資料はsources(typeはwebまたはtextbook)として記録され、各知識ポイントには出典が明記されます。
  • 説明はAIがこれらの情報源に基づいて記述し、重要な事実と数式は検証し、元のリンクを提供して、ユーザーがさらに深く読めるようにします。
  • ユーザーが後日、教科書、講義書き起こし、または講義資料を入手した場合は、新しい資料として増分更新(第5節)を行います。出典と深さを追加し、ゼロからやり直すことはしません。

5. 段階的に説明する方法

  • 各ステップは、質問、現象、またはニーズから始まります。まずユーザーに考えさせ、推測を選択させてから、答えとその理由を明かします。
  • 一歩は小さく、すでに学んだことを使って新しいことを導き出します。
  • 難しい箇所は、まず最も単純な特殊ケースを示し、その後一般化します。
  • 各段階の終わりに振り返ります。今できるようになったこと、現在の知識では解決できない問題は何か、次の段階でそれを解決します。

四の三、軽量入門(総学習時間3時間未満)

1. 判断方法

以下の2つを満たす場合、軽量入門として処理します。

  • ユーザーが質問しているのは、概念や小さなテーマである(例:「Xとは何か」「X入門」「Xについて知りたい」)
  • 推定総学習時間が3時間未満、おおよそ15知識ポイント、1〜3授業以内

この規模を超える場合は、「自学・理解」または「ゼロからの計画」に変更します。

2. フロー

  • 質問しない。ただし、テーマ自体が不明確な場合を除く。
  • 経路の確認を待たない。自分で知識ポイントと順序を決定し、直接ウェブページを生成します。
  • ユーザーの基礎知識が不明な場合は、「賢い初心者」を出発点とします。必要な前提知識を事前に学ぶように要求せず、ステップ0で「前提チートシート」を提供します。各前提を一文で説明します。
  • インターネットに接続できる場合は、検索を使用して重要な事実と数式を確認し、出典にリンクを提供します。

3. ウェブページの簡略化

  • 以下の3つのセクションのみを保持します。
    • 授業:1〜3授業、各授業5〜10ステップ
    • 練習:各知識ポイントに1〜2問
    • 簡易マップ:知識ポイントの小さなトポロジーマップ。前提知識を描画します(例:APIを学ぶ場合のクライアント、サーバー、HTTP)。さらに1つのメインラインを追加します。
  • 試験情報、模擬問題、過去問、タイマー、復習キュー、進捗コードは作成しません。
  • それでも以下は保持します。
    • 直感を先に説明してから定義、例を全体で使用
    • わかりやすい言葉のフレーム(数理系)
    • 各授業の最後の論理的な流れ
    • 各知識ポイントの習得基準と自己評価、間違えた場合の具体的な説明
  • 最後のページに「次に学べること」を記述します。ユーザーがさらに深く学びたい場合は、「自学」または「ゼロからの計画」にアップグレードし、同じウェブページ上で拡張できます。そのため、course.json も通常通り保存します。

五、増分更新(毎週または隔週)

  1. course.json と新しい資料を読み取ります。
  2. 新しい資料から知識ポイントを抽出し、既存の知識ポイントと1つずつ比較し、以下のいずれかのケースに分類します。
ケース処理
完全に新しい内容で、前提となる知識はすべて既存新規追加
既存の知識ポイントの拡張または深化新しい知識ポイントを作成し、既存の知識ポイントをhardな前提とする。既存の知識ポイントに詰め込まない
既存の知識ポイントと同じもの新規作成しない。既存の知識ポイントに出典を追加。深さが向上した場合は depth を更新
教師が以前の内容を訂正既存の知識ポイントを修正し、changed に書き込み、ウェブページに「訂正済み」マークを追加
後から追加された前提(新しい内容が実は既存の知識ポイントの基礎である)この前提を新規追加し、既存の知識ポイントに前提エッジを追加。公開済みの授業は並べ替えず、新しい授業に「見返し」カードを追加し、既存の知識ポイントにリンクし、今どのように再理解できるかを説明
新旧資料で矛盾(表記法や説明が異なる)両方の説明を記録し、「確認待ち」とマーク。納品時にユーザーにどちらを優先するか確認
エッジ追加後に循環が発生分割が粗すぎる知識ポイントを分割し、古いIDは merged とマークし、分割後の新しい知識ポイントを指定
新しいトピック新しいモジュールを作成。新しい内容を既存のモジュールに収められる場合は、既存のモジュールを拡張し、モジュール名をむやみに変更しない
  1. 検証:すべての pre が指すIDが存在し、activeである。グラフに循環がない。どの知識ポイントも、そのhardな前提よりも前に配置されていない(後から追加された前提は除くが、見返しカードが必要)。
  2. 内容が変更された既存の知識ポイントには「更新あり。見直し推奨」とマークし、ユーザーの元のチェックは保持します。
  3. changelog に書き込み、マップの「今回の更新」パネルに表示します。新規追加数、訂正数、後から追加された前提数、確認待ちの項目数。
  4. ウェブページを再生成し、同じウェブページフォルダに書き戻します(ホスティングされたウェブページの場合は同じアドレスに公開します)。ユーザーのパスやリンクは変わりません。

六、試験対策

1. 試験を基点として、知識ポイントを逆算する

  1. 資料に優先順位を付けます。目標はサンプル問題または公式解答付きの過去問、参考はその他の過去問と課題、メインは引き続き講義資料、チュートリアルとラボは補足とします。
  2. 問題を分解する:各問題を小問に分解し、次にそれが問うスキルに分解し、「この小問を正しく解くために必要な知識ポイント」をリストします。
  3. 範囲を逆算する:これらの知識ポイントから、hardな前提を辿って遡り、試験に必要なすべての知識ポイントを取得します。範囲外の知識ポイントは補足または試験範囲外に格下げします。
  4. 深さを調整する:問題の問い方に基づいて深さを決定します。同じ知識ポイントが複数の問題で問われる場合は、最も深いレベルを採用します。
    • 判断、選択 → recall
    • 説明、比較、理由を問う → explain
    • 計算、コード記述、図示、手順実行 → apply
    • 新しいシナリオ、統合、設計 → transfer
  5. ギャップチェック:
    • 試験で必要なのに講義資料にない内容 → 常識的な説明を記述し、「講義資料未記載」とマーク
    • 講義資料にあるが、試験の説明で明確に除外されている内容 → 試験範囲外とマーク
    • 過去に出題されたが、今年の講義資料にない内容 → 個別にリストアップ
  6. 結果を試験情報セクションに書き込みます。問題別テーブル(問題 → 知識ポイント → 配点)、モジュール別配分テーブル、試験範囲外リスト、先生の発言(日付付き)、過去問の傾向、汎用的な解答テンプレート。
  7. 学習経路:ユーザーの利用可能時間に基づいて区切ります。授業は常にコースモジュール単位で編成します(1モジュール1授業。前提も出典ごとに授業を分ける)。これにより後で再利用できます。学習経路は授業内のステップのみを参照します(「今日はどの授業のどのステップを学ぶか」)。時間で授業を分割することはしません。各区切りには、学ぶべき番号、なぜここに配置したか、学んだ後にどの問題で確認するかをリストします。短期決戦版には別途セーフティネット版を付け、「優先的にカットできる」番号をリストします。確実版は日単位で配置し、各日に新しい学習内容と復習期限を含めます。

2. 短期決戦版と確実版

短期決戦版確実版
範囲核心と重要な内容範囲内の全知識ポイント
説明問題が解けるレベルまで調整された深さまで徹底的に説明。transferレベルではバリエーションを解説
練習直接過去問で確認まず模擬問題を解き、習熟してから過去問
過去問学びながら使用封印:特定の問題タイプの模擬問題がすべて基準に達した場合のみ、対応する過去問をアンロック。最後に全問題を時間を計って模擬テスト

時間が不足している場合は、以下の順序で削減します。まず補足的な知識ポイントの説明を削減し、次に問題数を削減し、最後に授業のステップ数を圧縮します。トポロジーマップと試験情報は削減しません。

3. 模擬問題(確実版では必須)

  • 各試験問題タイプに対して3〜6問の模擬問題を作成します。同じスキルを問い、シナリオとデータを変更し、難易度は過去問以上とします。各問題に、対応する過去問のタイプ(例:「サンプル問題2 Q2Dタイプ」)と問うスキルを明記します。
  • 出題順序:まず単一スキルの問題、次に複合スキルの問題、最後に過去問と同等の総合度の問題。
  • 各モジュールの説明が終わったら、すぐにそのモジュールの模擬問題を配置します。
  • 模擬問題は練習ページに配置し、「模擬」タグを付け、別セクションは作成しません。

4. 過去問マニュアル

  • モジュールは試験の配点順に並べ替えます。モジュール0は試験情報と解答戦略。各モジュールの先頭に「必須暗記」フレームを配置します。
  • 各問題には以下を含みます。階層タグ(公式解答/推定解答、推定解答は非公式であることを明記)、出典と配点、原題、中国語訳(試験が英語の場合)、考え方、デフォルトで折りたたまれた解答、「習得済み」チェック。各小問はサイト全体で統一された問題カードを使用します。
  • 試験が英語で解答する場合、最初にそのまま書ける英語の解答例を示し、次に中国語でなぜそのように解答するかを説明します。
  • 全体用タイマー(試験時間を事前設定、一時停止、クリア可能)と「すべての解答を展開/折りたたむ」スイッチ。単体問題タイマー、テキストハイライト、減点理由の分類など、あまり使用されない機能は実装しません。

5. チートシート一時保存(ノート持ち込み可の試験では常に追加)

  • ページ上部に1行の入力ボックスを配置します。テキストを貼り付けてEnterキーで保存。LaTeXは自動レンダリング。画像も直接貼り付け可能(data URLとして保存)。チートシートページの任意の場所に貼り付けても保存可能。
  • 各エントリには、貼り付け時の文脈(どの授業のどのステップ、どの知識ポイント)を記録します。エントリはlocalStorageに保存されます。
  • 「すべてコピー(AI用)」ボタン:ユーザーが内容を文脈とともにAIに送信し、AIが断片的な内容を読みやすいエントリ(タイトル+本文、中国語の説明、英語の用語はそのまま、数式はLaTeX)に整理し、ウェブページデータに書き戻します。原文は保持され、切り替えて表示可能。
  • カードをクリックして選択(複数選択可)、右クリックメニュー「選択項目を削除」、ページ内確認ボックスで確認(confirm()は使用不可)。モバイルではツールバーボタンを使用。削除はソフトデリート:通知バーで取り消すか、「最近削除した項目」から復元可能。
  • 用途:カンニングペーパーを作成する際、一時保存ページの内容は「最も習得が不十分な部分」としてチートシートの小さな部分に配置され、残りはAIがコースに基づいて自動生成します。

七、説明の書き方

全タイプ共通

  • 各授業はステップ0で始まります。この授業で解決する問題は何か。学習後は何ができるようになるべきか(検証可能な番号付きリスト)。
  • まず直感を説明し、次に定義を書き、次に例を示します。1つの例を授業全体で使用し、後のステップで繰り返し使用します。
  • 文は短く、わかりやすい言葉で、空虚な言葉は書きません。中国語で説明し、英語の原語を保持します。試験が英語の場合は、各ステップで英語のキーワードを明示します。
  • 授業は一度に1ステップのみ表示します。下部に「前へ/次へ」ボタン。カード上部に以下を明記:第Nステップ · 予想時間(分) · 知識ポイントID · 英語用語。
  • 左サイドバーは3層構造で、一目で区別でき、混雑しないようにします。
    • ユニット(前提、Module X……):折りたたみ可能なタイトルバー、背景色と進捗付き。デフォルトでは現在のユニットのみ展開。ユーザーが手動で展開/折りたたみした場合のみ記録(の初期化トリガーによるtoggleをユーザー操作と誤認しないこと)
    • 授業:各行1授業。左側にモジュール色の点、右側に進捗タグ。現在の授業はアウトライン強調。未生成の授業は灰色。
    • ステップ:現在の授業の下でのみ展開。垂直のタイムラインで連結。各ステップの前に番号付きの小さな円(完了は✓)。フォントサイズは小さく、経過時間は右寄せ。「この授業のメインライン」ボタンはステップリストの上に配置。
  • カード内では、必要に応じて以下のコンテンツブロックを使用します。
    • 核心数式または定義フレーム
    • わかりやすい言葉のフレーム
    • 例題フレーム
    • 試験ポイントフレーム:出典を明記、「次へ」で行ごとに展開
    • よくあるつまずきポイントフレーム
    • 解答記述フレーム
    • 参考程度(小さな文字)
    • 見返しカード(増分更新時)
    • 自己評価
  • 試験対策でも、科目を筋道立てて説明します。サンプル問題は問題タイプと典型問題を表すのみであり、範囲外のものが試験に出ないことを保証するものではありません。理解することが目的であり、試験は単なる確認です。
    • 各ステップの「なぜ今これを学ぶのか」は、科目上のモチベーション(前のステップで残った問題は何か、このステップでどう解決するか)を記述し、「試験に出るから」は記述しません。問題出典は各ステップの最後に個別にリストします。
    • 範囲外の知識ポイントも授業に配置し、説明しますが、補足としてマークします。

1ステップ説明の固定フォーマット

各ステップは以下の順序で記述します。該当しないものはスキップしますが、順序は変更しません。

  1. なぜ今学ぶのか:一言で、科目上のモチベーションを記述します(前のステップで残った問題は何か、このステップでどう解決するか)
  2. 直感:1〜3文、または全体で使用する例の具体的な数字を使って問題を提起します
  3. 定義/核心数式フレーム:数式は別行で中央揃え
  4. わかりやすい言葉:数式のすぐ下に、記号を1つずつ説明(何か、形状は数値/ベクトル/行列か、ランダムか固定か)、次に「特定の変数が大きくなると結果はどう変わるか」を一文
  5. 例題フレーム:全体で使用する例の数字を代入して計算し、各行を1ステップとして記述
  6. よくあるつまずきポイントフレーム(ある場合のみ)
  7. 自己評価問題:1〜2問、このステップの習得基準を正確に評価するもの
  8. 問題出典:最後の行に小さな文字で、このステップを問う過去問の小問をリストします

数式と組版の固定フォーマット(MAST90138復習授業を参照)

  • インラインか別行か:短い記号はインライン($\hat\beta_1$)。定義、核心数式、暗記すべき結論は別行で中央揃え。
  • 導出チェーン:aligned を使用し、等号を揃え、各行の右側に \quad\text{(根拠)} で短い根拠を記述。長い不等式や数式も aligned で分割し、カードをはみ出さないようにします。
  • 数値計算は3段階固定:まず数式を記述 → 数字を代入 → 結果を記述、結果は有効数字3〜4桁を保持。すべての数値はコードで検算済み。
  • 数式内では \text{} を使って短い単語を記述し、中国語の長い文は使用しません。
  • 表記法は本物のLaTeXを使用、講義資料と一致させます。ベクトル、行列は太字(\mathbf{X}、\boldsymbol\beta)。該当する場合は花文字(Fisher情報 \mathcal I、モデル \mathcal M、正規分布 \mathcal N)。演算子と分布名は立体(\operatorname{Var}、\mathrm{SS}_{\text{res}}、\mathrm{Bin})。Unicodeで数式を構成しないでください(XᵀX、β̂、F(2,4)など)。知識ポイントのタイトル、習得基準、選択肢、ヒント、過去問の翻訳でも同様です。SVGトポロジーマップのノードラベルのみプレーンテキストを使用します。
  • MathJax設定でマクロセットを定義し(\X、\bb、\SSres、\FIなど)、サイト全体で共有し、表記法の一貫性を保証します。\boldsymbol を使用する場合は、boldsymbolパッケージをロードします。PythonでLaTeXを含む文字列を記述する場合は、常に r"…" を使用します。
  • 数式内で直接 <、> を使用しない:データがinnerHTMLでページに挿入される際、$\rk(\X)<p$ 内の <p はブラウザにHTMLタグの開始と認識され、後続全体が飲み込まれ、$\rk(\X) のような半端なコードが露出します。ウェブページ生成時に統一的に処理します。すべてのデータ文字列をトラバースします。

…

[以下、翻訳のため省略]

関連スキル