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 を用意しました.いまは次の順番で読ませています.
hot.mdで直近の重要な文脈を見る.index.mdで Vault 全体の地図を見る.- 関連する Wiki ページを数件だけ読む.
- 必要なときだけ,元の研究ノートや日記へ降りる.
Wiki は原文の代わりというより,原文へたどり着くための索引です.数値や引用,過去の発言が重要なときは,要約だけで決めず元ファイルも確認します.
このあたりには AgriciDaniel/claude-obsidian の skill を使っています.Obsidian のファイル自体を編集するときは,kepano/obsidian-skills にある obsidian-markdown や obsidian-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 に記録したりする作業を,一つのセッションから扱えます.各プロジェクト自体は独立したままなので,この親ディレクトリがなくても単体で使えます.
論文を直すときの流れ
実際に論文を修正するときは,だいたい次のように動いています.
- ルートの
AGENTS.mdで,共通の表記と文献の参照方針を確認する. - 論文側の
AGENTS.mdと執筆ガイドを読む. - 執筆担当かレビュー担当のエージェントを選ぶ.
- 対象の
.tex,元データ,実装を必要な範囲で読む. - 引用は Zotero,NotebookLM,ローカル Wiki から探し,最後は論文本文で確認する.
- 修正後に差分とビルド結果を確認する.
- 今後も使いそうな判断だけを 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-lint | AgriciDaniel/claude-obsidian |
| Obsidian ノートや Bases を編集する | obsidian-markdown, obsidian-bases | kepano/obsidian-skills |
| Web ページを Markdown に変換する | defuddle | kepano/obsidian-skills |
| Zotero の論文を知識ベース化する | knowledge-vault:ingest-zotero | psypeal/claude-knowledge-vault |
| 論文知識に質問する | knowledge-vault:query | psypeal/claude-knowledge-vault |