AIに渡す情報をObsidianで管理している話


毎回,同じことを説明するのが面倒になった

ChatGPT,Claude,Codex などを日常的に使っていると,AI に渡す文章がどんどん増えてきます.研究の背景,文章の書き方,ファイルの場所,前回決めたこと.新しい会話を始めるたびに,また同じ説明をするのが地味に面倒でした.

複数の AI を使い分けたいときも困ります.あるサービスの会話や memory に前提を置きすぎると,別のサービスへ移ったときに文脈を持ち出せません.

それなら,AI 側に全部覚えてもらうのではなく,自分の手元に情報を置いておけばよいのでは,と思いました.最近は Obsidian Vault とローカルファイルを中心に,AI に渡す情報を管理しています.

Notion から Obsidian に移した

メモはもともと Notion に置いていました.ただ,動作が少し重く,AI から直接扱うにも都合がよくありませんでした.卒論発表が終わって時間ができた頃に,まとめて Obsidian へ移しました.

Obsidian の中身は普通の Markdown ファイルです.自分でも読めるし,Git で差分を追えるし,Claude Code や Codex からも同じファイルを参照できます.特定のサービスに閉じず,自分のファイルを共通の置き場にできるのがよかったです.

最初は,Vault があれば AI も勝手にうまく読んでくれるだろうと思っていました.実際には,そう単純でもありませんでした.

Vault 全部を読ませてもうまくいかなかった

Vault には研究ノート,日記,過去のメモなどが大量に入っています.これを毎回まとめて読ませると,トークンを使う割に答えがぼやけます.関係のない古いメモまで拾ってくることもあります.

そこで,原文とは別に AI が探索に使う Wiki を用意しました.いまは次の順番で読ませています.

  1. hot.md で直近の重要な文脈を見る.
  2. index.md で Vault 全体の地図を見る.
  3. 関連する Wiki ページを数件だけ読む.
  4. 必要なときだけ,元の研究ノートや日記へ降りる.

Wiki は原文の代わりというより,原文へたどり着くための索引です.数値や引用,過去の発言が重要なときは,要約だけで決めず元ファイルも確認します.

このあたりには AgriciDaniel/claude-obsidian の skill を使っています.Obsidian のファイル自体を編集するときは,kepano/obsidian-skills にある obsidian-markdownobsidian-bases を使っています.

使っているうちに,置き場所が分かれていった

最初からきれいに設計していたわけではありません.指示書へ何でも書き足していたら長くなりすぎたので,使いながら少しずつ置き場所を分けました.

いまは,だいたい次の5種類です.

種類置いているもの
ルール表記,安全性,ファイルの参照順序
エージェント作業ごとの担当と権限
skill特定の作業を進める手順
外部資料論文,仕様,Web の情報
memory会話から分かった好みや過去の判断

例えば,「句点は を使う」はルールです.「日本語論文を直す」はエージェントの担当で,「略語の初出を確認する方法」は skill に置きます.引用が主張を支えているかは Zotero の論文本文で確認します.

memory には,会話の中で分かった細かな好みや前回の判断を残します.ただし,恒久的に守りたいことは memory 任せにせず,Git で管理する指示書へ書くようにしています.

この分け方にしてから,指示書が際限なく長くなることは減りました.AI がどこを根拠に動いたのかも,前より追いやすいです.

いまのワークスペース

シミュレーション,Obsidian Vault,論文原稿は,それぞれ別の場所で Git 管理しています.これらを一つの親ディレクトリからシンボリックリンクで参照し,AI には一つのワークスペースとして見せています.

親の AGENTS.md には,複数のプロジェクトで共通するルールと,どこから情報を探すかを書いています.各プロジェクトにしか関係しないルールは,それぞれの AGENTS.md に残します.

Claude Code の CLAUDE.md は,この AGENTS.md を参照する薄い入口にしています.Codex 固有の設定は .codex/ に置きます.同じ研究方針を両方へ書き写すと,そのうち片方だけ古くなるためです.

自分自身に紐づく表記や commit のルールは,リポジトリではなくユーザーグローバルの設定に置いています.Vault の構造や研究固有の前提だけを,対象リポジトリ側に置きます.

この形にしておくと,実装を確認しながら論文を直したり,シミュレーション結果を Vault に記録したりする作業を,一つのセッションから扱えます.各プロジェクト自体は独立したままなので,この親ディレクトリがなくても単体で使えます.

論文を直すときの流れ

実際に論文を修正するときは,だいたい次のように動いています.

  1. ルートの AGENTS.md で,共通の表記と文献の参照方針を確認する.
  2. 論文側の AGENTS.md と執筆ガイドを読む.
  3. 執筆担当かレビュー担当のエージェントを選ぶ.
  4. 対象の .tex,元データ,実装を必要な範囲で読む.
  5. 引用は Zotero,NotebookLM,ローカル Wiki から探し,最後は論文本文で確認する.
  6. 修正後に差分とビルド結果を確認する.
  7. 今後も使いそうな判断だけを memory の候補にする.

Zotero は書誌情報と一次資料の確認,NotebookLM は複数文献をまたいだ整理,という使い分けです.MCP が未接続だったり認証が切れたりすることもあるので,参照できなかった情報を推測で埋めないよう,その場合は明示するルールも入れています.

こうして並べてみると,AI に「全部覚えておいて」と頼むより,何をどこに置き,どの順番で読ませるかを考えている時間の方が長いです.

ひとまず,いまはこの形

Obsidian へ移す前は,AI が何を覚えているのかがよく分かりませんでした.いまは少なくとも,ルールや研究ノートは自分のファイルとして確認できます.別の AI に乗り換えても,そこはそのまま持っていけます.

まだ構成はちょこちょこ変えています.エージェントを細かく分けすぎて面倒になったり,使わない skill が増えたりもします.完成形というより,現時点のメモです.

以下は,あとで自分が忘れないための一覧です.

エージェント

作業エージェント
研究方針,実験計画,タスク分解research-planner
プロジェクトをまたぐ作業bridge
Python 実装python-dev
設計や大規模な変更計画python-architect
再現性や回帰のレビューpython-reviewer
日本語論文の執筆と推敲jp-paper-latex
英語論文の執筆と推敲en-paper-latex
引用,数値,採否リスクの確認paper-reviewer
Obsidian ノートの編集note-writer
Obsidian Bases の編集base-creator

使っている skill

目的skill取得元
メモや研究ノートを AI 用 Wiki にするwiki, wiki-ingest, wiki-query, wiki-lintAgriciDaniel/claude-obsidian
Obsidian ノートや Bases を編集するobsidian-markdown, obsidian-baseskepano/obsidian-skills
Web ページを Markdown に変換するdefuddlekepano/obsidian-skills
Zotero の論文を知識ベース化するknowledge-vault:ingest-zoteropsypeal/claude-knowledge-vault
論文知識に質問するknowledge-vault:querypsypeal/claude-knowledge-vault
TOP