Overview
Knowledge Compiler(仮) は、ChatGPTやClaudeなどのAIによって大量に生成されるMarkdown形式の知識データを、人間が理解しやすい形へ変換する「知識コンパイラ」を目指すプロダクトである。
一言で言うと、Markdownをインポートするだけで、編集可能なKnowledge Cardへ変換し、視覚的に理解しやすいチートシートを自動生成するサービスである。
背景として、AI時代においてMarkdownベースの知識は簡単に大量生成できるようになった一方、それを見返しやすく・探しやすく・理解しやすい形に整理し直す作業は依然として人間の手作業に依存しており、大きなコストとなっている。NotionやObsidianのようなメモアプリは「書く・記録する・検索する」ことには優れているが、「知識を理解しやすく整理・可視化する」ことを目的としたプロダクトではない、という課題認識がある。
MVPでは、この大きなビジョン(知識コンパイラ)の第一歩として「チートシート生成」にフォーカスする。
Problem
- AI(ChatGPT、Claude、Cursor、Geminiなど)により、Markdownベースの知識が大量に生成される時代になったが、生成された知識は見返しづらい・探しづらい・理解しづらい・全体像が見えない、という課題がある。
- Notion・Obsidianなどの既存メモアプリは記録・編集・検索には優れているが、知識を「理解しやすい形に整理・可視化する」ことには特化していない。
- 図にする、チートシートにする、学習資料にする、といった可視化作業は依然として人間が手作業で行う必要があり、コストが高い。
- Markdown→Notion→Mermaid→スライド→PDF→Ankiのように、用途ごとに別々のツールへ知識を持ち出すと、それぞれが別管理になり、二重管理・情報の分散が発生する。
Goals
- Markdownをインポートするだけで、編集可能なKnowledge Cardへ変換できる状態にする
- Knowledge Cardの集合から、視覚的に理解しやすいCheat Sheet Viewを自動生成できる状態にする
- チートシートを「読む」ものではなく「見れば思い出せる」ものとして成立させる(カテゴリ単位表示、カードレイアウト、色分け、アイコン、スタンプ、折りたたみ等の活用)
- MVPでは「最高のチートシート体験」を作ることに集中し、知識コンパイラという最終ビジョンへの第一歩として位置づける
Non Goals
- AIチャット
- AIによるレビュー
- AIモデル切り替え
- プロジェクトレビュー
- Graph View
- Mermaid生成
- Notion同期
- CSV Import
- PDF Export
- Anki Export
- Flash Card View
- Roadmap View
上記はドラフト内で「MVPではやらないこと」として明示されており、そのまま採用した。これらは将来構想(複数Viewへのコンパイル、入力形式の拡張)としては保持するが、MVPのスコープには含めない。
Users
ドラフトにはペルソナ・利用シーンの明示的な記述がなかったため、Problem・Visionの記述から以下の内容を推測して記載した。この部分は特に確認・修正が必要な箇所である。
- ペルソナ(推測):ChatGPTやClaudeなどのAIを日常的に使い、大量のMarkdownメモ・ドキュメントを生成しているエンジニア・学習者。Notion・Obsidianなどで記録はしているが、後から見返して理解しづらいと感じている人。
- ユースケース(推測):AIとの対話やAI生成ドキュメントをMarkdownとして取り込み、チートシートとして整理し直し、後から「見れば思い出せる」形で振り返る。
- 利用シーン(推測):学習の振り返り、技術キャッチアップ、業務知識の整理など、ブラウザ上での作業を想定(ドラフトの「MVP Scope」に「ブラウザ上でKnowledge Cardを作成・編集」とあることから)。
User Stories
-
AIとの対話で得た知識をMarkdownでメモしたら、それを後から見返しやすいチートシートに自動で変換したい。
-
複数のKnowledge Card(概念・Tips・コマンド・APIなど)をカテゴリごとにまとめて、視覚的に一覧できる形で振り返りたい。
-
Markdownをインポートした後、AIの変換結果をそのまま使うのではなく、ブラウザ上で内容を編集・調整したい。
-
大量に増えたKnowledge Cardの中から、タグや検索を使って必要な知識だけを素早く見つけたい。
-
チートシートを「文章として読む」のではなく、色分けやアイコン、カードレイアウトによって「見た瞬間に思い出せる」形で確認したい。
Requirements
- Markdown Import:Markdown形式のドキュメントを取り込む機能(User Story: AIとの対話メモをチートシートに変換したい)
- Knowledge Card作成(ブラウザ上):ブラウザ上でKnowledge Cardを新規作成する機能(User Story: 変換結果を編集・調整したい)
- Knowledge Card編集・更新(ブラウザ上):作成済みKnowledge Cardをブラウザ上で編集・更新する機能(User Story: 変換結果を編集・調整したい)
- Knowledge Card管理:概念・Tips・コマンド・API・エラー・コード・図・チェックリストなど多様な種類のKnowledge Cardを管理する機能(User Story: カテゴリごとにまとめて振り返りたい)
- タグ付け:Knowledge Cardへのタグ付与機能(User Story: 必要な知識だけを素早く見つけたい)
- ラベル付け:Knowledge Cardへのラベル付与機能(User Story: 必要な知識だけを素早く見つけたい)
- スタンプ付与:Knowledge Cardへのスタンプ付与機能(User Story: 見た瞬間に思い出せる形で確認したい)
- 検索:Knowledge Cardの検索機能(User Story: 必要な知識だけを素早く見つけたい)
- カテゴリ管理:Knowledge Cardのカテゴリ分類・管理機能(User Story: カテゴリごとにまとめて振り返りたい)
- Cheat Sheet View(出力):Knowledge Cardの集合をカテゴリ単位表示・カードレイアウト・色分け・アイコン・スタンプ・折りたたみ等を用いて視覚的に表示するView(User Story: 見た瞬間に思い出せる形で確認したい)
Success Metrics
ドラフトには定量的な指標・期限の記述がなかったため、Goalsから測定可能な形を仮に構成した。具体的な数値目標はOpen Questionsに記載する。
- Markdownインポートからチートシート生成までの平均所要時間(可視化コストの削減度合いの指標)
- 生成されたチートシートに対する編集操作の発生率・回数(自動変換だけで十分かどうかの指標)
- チートシートの再訪率(「見れば思い出せる」体験として継続利用されているかの指標)
Open Questions
- Users(ペルソナ・利用シーン)の正式な定義:ドラフトに明示的な記述がなく、本PRDでは推測で記載した。想定ユーザー像が異なる場合、Requirements・Success Metricsにも影響するため優先して確定する必要がある。
- Success Metricsの具体的な数値目標・期限:「いつまでに」「どの程度」といった時間軸・数値がドラフトには存在しない。
- Knowledge Cardの粒度基準:概念・Tips・コマンド・APIなど多様な種類を「全てKnowledge Card」として扱う方針だが、実際にカードを分割する基準(1メモ=1カードか、複数の粒度を許容するか)は未定。
- AI変換の関与範囲(MVP時点):ドラフトの「AIの役割」ではCard生成・タグ付け・カテゴリ分類などが将来構想として挙げられているが、MVPの時点でAIがどこまで自動化を担うか(完全自動か、たたき台生成止まりか)が明確でない。
- Cheat Sheet View以外のView実装順序:Graph、Flash Card、Roadmap、Mermaidなど将来構想のView群について、Cheat Sheetの次にどれを実装するかの優先順位が未定。
Design Principles
- Source of Truthは一つに保つ:知識は一箇所だけで管理し、そこから複数のView(チートシート、将来的にはGraphやFlash Cardなど)を生成する。View間で個別に知識を持たせる設計は避ける。
- AIは「書く」ためではなく「整理する」ために使う:AIコーディングツールや生成AIを実装に用いる際も、文章生成そのものではなく、Knowledge Cardへの分割・タグ付け・分類といった整理作業への適用を優先する。
- MVPは体験の広さより深さを優先する:Cheat Sheet以外の出力形式(Graph、PDF、Ankiなど)を同時に広げるのではなく、「最高のチートシート体験」という一点に集中する。迷ったら機能を足すのではなく削る。
- チートシートは「読む」ものではなく「見れば思い出せる」ものとして設計する:単なるMarkdown表示や文章の羅列を避け、カードレイアウト・色分け・アイコンなど視覚的な想起のしやすさを判断基準にする。