0007: 仮説の統計的検証にQuarto+Rを採用し、Research-Wikiとして接続する
背景
知識ベースには総合研究仮定リスト/仮定リスト.mdのような、精神医学・哲学・ 社会構造にまたがる仮説群がある。現状のLLM-Wiki(0004)は これをMarkdown概念ページに変換するだけで、仮説を実際にデータ・統計で検証する 計算基盤を持たない。ユーザーは「Web UIで確認できる」ことを理想とし、かつ 専用デスクトップGUI(例: Open Science的なTauriアプリ)の導入は求めていない。
また、Fable 5(Claude系)が従量課金化するため、以後の新規領域は「Fable 5でしか 実装できない設計」を避け、Codex(またはOpenCode Goの軽量なオープンウェイト モデル)が単独で実行できる粒度まで本ドキュメントで機械的に規定する。
architecture.mdの技術スタック候補には元々Quartoが「PDF組版」候補として 挙がっていたが、正式採用はされていなかった。
決定
1. 採用ツール
- 統計・データ分析にはR、レポート生成・Web UI表示にはQuartoを採用する。
- 両方とも
vps環境に導入済み(quarto --version= 1.9.38、R --version= 4.5.3、knitr/rmarkdown同梱)。追加インストールは不要。動作確認は本タスクで完了 (quarto check全項目OK、日本語タイトル+R統計処理+グラフを含む.qmdのquarto render成功、quarto preview --port <port>でHTTP 200を確認)。 - Rパッケージ管理は当面
Rscript -e 'install.packages("<pkg>")'の都度インストールで よい。renvによるロックファイル管理は、依存パッケージ数が増えて再現性が 問題になった時点で導入する(先送りしてよい。AGENTS.mdの「先取りした抽象化を 避ける」に従う)。
2. ディレクトリ構成
knowledge/配下(Git管理外、実データ)に、llm-wiki/と並列でresearch/を作る。
knowledge/research/<project>/
├── analyses/
│ └── <slug>.qmd # 1仮説 = 1ファイル
├── _quarto.yml # Quartoプロジェクト設定
└── _output/ # quarto render の出力先(HTML)
<project>は当面main-research固定でよい(llm-wiki/projects/main-wiki/と 同様の命名)。
_quarto.ymlの最小構成:
project:
type: default
output-dir: _output
format:
html:
lang: ja
self-contained: true3. 命名・frontmatter規約(0006の拡張)
Research-Wikiという第5のWiki区分として扱う(Paper/Law/Data/LLM-Wikiに続く)。
<slug>は、対応するLLM-Wiki概念ページのファイル名(拡張子抜き)と完全一致 させる。例: LLM-Wikiにクオリアと他我問題.mdがあるなら、対応する分析ファイルはanalyses/クオリアと他我問題.qmd。全ての概念に分析ファイルが要るわけではない (データ・統計で検証可能な仮説のみ作る)。各
.qmdのfrontmatterは0006の 共通最小契約(title/tags/source)に従う。sourceには元の仮説ファイルと 行範囲を書く(LLM-Wikiの引用形式^[仮定リスト.md:13-17]に合わせ、source: 仮定リスト.md:13-17のように書く)。--- title: クオリアと他我問題 tags: [哲学, 意識, 統計検証] source: 仮定リスト.md:13-17 format: html ---
4. リンク方向
0006のルール3を継承する。 LLM-Wiki→Research-Wikiの一方向のみ。LLM-Wikiの概念ページから [[Research-Wiki/analyses/<slug>]]形式でリンクしてよい(根拠の実データ検証先 として)。Research-Wiki側からLLM-Wikiへは書かない。Research-Wikiのsourceは 生の仮説ファイルを直接指す。
5. Web UI公開
- 開発時:
quarto previewをvps上で起動し、必要な時だけ確認する (常駐サービス化はしない。ポートは4444等、他サービスと衝突しない番号を都度選ぶ)。 - 公開:
quarto renderで_output/にHTML化し、生成物をweb/app/public/research/<slug>.htmlへコピーする(Fumadocsの静的アセットとして 配信)。web/側のFumadocsテーマとの統合(ナビゲーション追加等)は本決定の 範囲外とし、docs/tasks/backlog.mdの別タスクとする。 - Obsidian vaultへの統合は行わない。理由は「理由」節を参照。
6. 実行profile
vpsprofile(architecture.md)に置く。軽量なR計算であり mac-mini(embeddings専任)やrtx-worker(重いOCR)を使う理由がない。
理由
- QuartoはR/Python/Markdownを混ぜて実行し静的HTMLとして書き出すツールで、
quarto previewはローカルWeb UIとしてライブプレビューできる。デスクトップ アプリ(Open Science等)を追加導入せずに「Web UIで仮説を確認する」という 要件を満たせる。 - 実機検証(本タスク2026-07-07)で、追加インストールなしに動作することを 確認済み。導入コストがゼロに近い。
- Obsidian vaultへ統合しない理由: LLM-Wikiは生成されたMarkdownをそのまま Obsidianで自然に閲覧できるが、Quartoのレンダリング後HTMLはObsidianの Markdownビューアと相性が悪い(プレビュー・インタラクションが活きない)。 「Web UIが理想」という要件には、Obsidian同期よりFumadocs(
web/)での 静的配信の方が適合する。 - 命名をLLM-Wiki概念ページのslugと一致させることで、0006の 「結合キーはURI/安定IDで行う」という原則を保ったまま、人間にも分かりやすい 1:1対応を作れる。
影響
docs/tasks/backlog.mdに「Research-Wiki雛形作成」タスクを追加する (knowledge/research/main-research/のスキャフォールド、_quarto.yml雛形、 最初の1〜2件の仮説分析.qmdをCodexが作成)。architecture.mdの技術スタック表に「仮説統計検証」行としてQuarto+Rを追記する。web/側のpublic/research/配信・ナビゲーション追加は別タスク。
追記: ダッシュボード形式(2026-07-09)
統計データの提示は.qmd→通常HTMLに限定しない。Quarto 1.4以降がネイティブ サポートするformat: dashboardを同じ.qmdファイルで使ってよい (ツールチェーン追加なし)。対話性(フィルタ・ドリルダウン等)が必要な場合は Observable JS(ojs)セルを使う——クライアントサイド実行なので静的HTMLの まま成立し、本決定の「web/app/public/research/へ静的配信」と矛盾しない。 Shinyは常駐サーバを要するため当面不採用。e-Statからのデータ取得はRの estatapiパッケージ(appIdは環境変数ESTAT_API_KEY)。
未決定事項
- どの仮説から分析対象にするかの優先順位(ユーザーが個別に指示する想定)。
- Rパッケージが増えた場合の
renv導入タイミング。 web/側でのResearch-Wiki一覧表示・ナビゲーションの具体的なUI設計。
追記: LLM-Wiki廃止(2026-07-22時点の注記)
本文中のLLM-Wikiは0004「LLM-Wiki生成 エンジンにllm-wiki-compilerを採用」の追記(2026-07-15、実運用でほぼ使われ なかったため廃止)により廃止済み。決定3「<slug>はLLM-Wiki概念ページの ファイル名と完全一致させる」・決定4「LLM-Wiki→Research-Wikiの一方向リンク」 は、参照先のLLM-Wikiが存在しないため現在は成立しない。Research-Wiki自体 (R+Quarto、決定1・2)は現役で、0014 ・0016の統計・法令・ 著作権資料カタログ化の分析基盤として使う想定。