OpenClawとナレッジベースの統合

AIエージェントの記憶と、自分のナレッジベースを統合した。moltbotのデイリーログ(daily/)をObsidian vaultの一部として扱い、双方向にアクセスできる構成にした話。

背景:分離された2つの知識

これまで、自分の知識は2つの場所に分かれていた:

  1. Obsidian vault (~/memo/) - 自分のナレッジベース
  2. moltbotのメモリ (~/molt/memory/) - AIエージェントの記憶

両者は独立して存在していた。moltbotは自分の記憶を持ち、私は自分のノートを持つ。お互いの知識にアクセスする手段がなかった。

これは不便だと感じていた。なぜなら:

そこで、両者を統合することにした。

実装:シンボリックリンクとスキル

エージェント記憶のvault統合

まず、moltbotのデイリーログをvaultに統合した。

# デイリーログの実体をvaultに移動
mv ~/molt/memory/* ~/memo/daily/

# 既存パスを維持するためシンボリックリンク
ln -s ~/memo/daily ~/molt/memory

シンボリックリンクを選んだ理由は、moltbot側の設定(AGENTS.mdなど)が ~/molt/memory/ を参照しているため。実体は一箇所(~/memo/daily/)に集約しつつ、両方のパスからアクセス可能にした。

これで、moltbotのデイリーログがvaultで見えるようになった:

~/memo/
├── articles/
├── notes/
├── sources/
└── daily/         ← moltbotのデイリーログ
    ├── 2026-01-23.md
    └── 2026-01-24.md

memo-kbスキルの追加

次に、moltbotがvaultにアクセスするためのスキルをmoltbotに追加した。

# ~/molt/skills/memo-kb/memo.sh
case "$1" in
  search)
    # grep検索 - 高速なキーワード検索
    grep -rl "$query" "$MEMO_DIR/articles" "$MEMO_DIR/notes" "$MEMO_DIR/sources"
    ;;
  tags)
    # タグ検索 - frontmatterのタグで絞り込み
    grep -rl "tags:.*$tag" ...
    ;;
  claude)
    # Claude Code連携 - 複雑な質問・記事作成
    cd "$MEMO_DIR" && claude --print "$prompt"
    ;;
esac

ポイントは2層構造にしたこと:

コマンド 処理 用途
search, tags ローカルgrep 高速な検索、リスト取得
claude Claude Code呼び出し 複雑な質問、記事作成

単純な検索にLLMを使う必要はない。grepで十分速い。一方、「この記事の要点は?」「関連するノートを探して」といった複雑な処理はClaude Codeに委譲する。

双方向連携の全体像

統合後の構成はこうなった:

┌─────────────────────────────────────────────────┐
│  ~/memo (Obsidian vault)                        │
│  ├── articles/   ← moltbotがClaude Code経由で作成 │
│  ├── notes/      ← 概念抽出                     │
│  ├── sources/                                   │
│  └── daily/      ← moltbotのデイリーログ(symlink先)│
└─────────────────────────────────────────────────┘
         ↑                    │
         │ memo-kb skill      │ デイリーログとして蓄積
         │                    │
         ↓                    ↓
┌─────────────────────────────────────────────────┐
│  moltbot                                        │
│  └── memory/ → ~/memo/daily/ (symlink)         │
└─────────────────────────────────────────────────┘

双方向の流れ

なぜ統合するのか

単に「便利だから」以上の意味があると考えている。

透明性

エージェントの記憶がファイルとして見える。何を学んだか、何を覚えているかが明確。ブラックボックスではなく、人間が確認・編集できる。これは永続メモリの設計思想とも一致する。

知識の一元化

自分の知識とエージェントの知識が同じ場所にある。将来的には、自分のノートを書くときにmoltbotの過去のデイリーログを参照できるし、moltbotが回答するときに自分のナレッジベースを活用できる。

エージェントとの協働

moltbotは単なるツールではなく、ナレッジベースを共有するパートナーになる。私が書いたノートをmoltbotが読み、moltbotのデイリーログを私が読む。知識が双方向に流れる。

現時点の課題

設定したばかりなので、課題も見えている:

1. 検索対象の拡張

現在のmemo-kbスキルは articles/, notes/, sources/ のみを検索対象にしている。daily/ はまだ含まれていない。

# 現状
grep -rl "$query" "$MEMO_DIR/articles" "$MEMO_DIR/notes" "$MEMO_DIR/sources"

# 将来的には
grep -rl "$query" "$MEMO_DIR/articles" "$MEMO_DIR/notes" "$MEMO_DIR/sources" "$MEMO_DIR/daily"

「moltbotは以前〇〇について何と言っていた?」を検索可能にしたい。

2. スキルの拡張

現在のスキルはシンプルな検索のみ。今後追加したい機能:

3. 記憶の構造化

daily/ のデイリーログは時系列で記録されている。これを構造化されたナレッジに変換する仕組みがあると良い。例えば、moltbotが学んだユーザー情報を daily/USER.md に集約するなど。

まとめ

AIエージェントの記憶をナレッジベースに統合した。シンボリックリンクで既存パスを維持しつつ、memo-kbスキルで双方向アクセスを実現。

まだ設定したばかりで、実際の運用を通じて改善点が見つかるだろう。「エージェントと知識を共有する」という実験の始まりだ。

関連ノート

抽出された概念