OpenClawとナレッジベースの統合
AIエージェントの記憶と、自分のナレッジベースを統合した。moltbotのデイリーログ(daily/)をObsidian vaultの一部として扱い、双方向にアクセスできる構成にした話。
背景:分離された2つの知識
これまで、自分の知識は2つの場所に分かれていた:
- Obsidian vault (
~/memo/) - 自分のナレッジベース - moltbotのメモリ (
~/molt/memory/) - AIエージェントの記憶
両者は独立して存在していた。moltbotは自分の記憶を持ち、私は自分のノートを持つ。お互いの知識にアクセスする手段がなかった。
これは不便だと感じていた。なぜなら:
- moltbotが学んだことを自分のノートから参照できない
- 自分のナレッジベースをmoltbotが活用できない
- 「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 → vault: memo-kbスキルで検索・記事作成
- vault → moltbot:
daily/の記録をObsidianで閲覧、ノートから[[リンク]]可能
なぜ統合するのか
単に「便利だから」以上の意味があると考えている。
透明性
エージェントの記憶がファイルとして見える。何を学んだか、何を覚えているかが明確。ブラックボックスではなく、人間が確認・編集できる。これは永続メモリの設計思想とも一致する。
知識の一元化
自分の知識とエージェントの知識が同じ場所にある。将来的には、自分のノートを書くときに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スキルで双方向アクセスを実現。
まだ設定したばかりで、実際の運用を通じて改善点が見つかるだろう。「エージェントと知識を共有する」という実験の始まりだ。
関連ノート
- 永続メモリ - エージェントの記憶保持の仕組み
- Agent Workspace - エージェント設定のファイル管理
- パーソナルAIアシスタント - ローカルで動く自分専用AI
- moltbot(旧clawdbot)入門 - moltbotの基本概念
抽出された概念
- エージェントとナレッジベースの統合 - AIエージェントの記憶と人間のナレッジベースを統合する設計パターン
- 2層検索アーキテクチャ - 軽量検索とLLM検索を分離するアーキテクチャパターン