# Ltm Use

> セッションをまたいで知識・決定事項を継続させたいときのスキル。「覚えておいて」でsave、「思い出して」でrecall、「記憶一覧」でlist、「忘れて」でarchive、「共有して」でshare、「整理して」でcleanup、「役立った／間違ってた」でrate、「固定化して」でconsolidate。重要な知見を発見したら自律的にsaveを実行すること。

- Skill: `ynitto/ltm-use` (Agent Skill, multi-file: 26 files)
- Install (CLI): `npx skillmds@latest add ynitto/ltm-use`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ynitto/ltm-use/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: ynitto (https://skillmd.com/u/ynitto)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/ynitto/ltm-use

---


# ltm-use（Long-Term Memory Use）

エージェントにセッションをまたいだ長期記憶を与えるコアスキル。
MCPサーバーやClaude Code専用機能を使わず、**Markdownファイルへの読み書きだけ**で動作する。

各操作の全オプションは [`references/operations.md`](references/operations.md) を正典とする。
このドキュメントは概要と代表例のみを示す。

- 更新履歴: [`CHANGELOG.md`](CHANGELOG.md)
- アルゴリズム詳細: [`references/algorithms.md`](references/algorithms.md)
- 記憶フォーマット仕様: [`references/memory-format.md`](references/memory-format.md)
- 設定ファイル詳細: [`references/configuration.md`](references/configuration.md)

---

## スコープ設計

記憶は `home`（ローカル）に保存する。他者と共有すべき非個人的な知見は **moltbook-use の `publish`**
で共有し、検索は home 検索後に **`moltbook search` で連邦補完**する（下記 recall）。

| スコープ | 保存先 | 用途 |
|---------|--------|------|
| `home` | `{agent_home}/memory/home/` | 全記憶の保存先（複数プロジェクト横断・個人管理） |

`agent_home` はエージェント種別に応じて自動解決される（Windows では `USERPROFILE` 環境変数が使用される）。

---

## 記憶レイヤの役割分担（persona-use / ltm-use / wiki-use）

ltm-use は **手続き的・エピソード的な運用知**（バグ修正手順、設計判断、コマンド・ツールの使い方）を扱う。
概念・用語・人物・組織・製品の定義や外部ソース（記事・論文・URL）由来の**意味的・参照的な知識**は **wiki-use** に、
ユーザー自身の嗜好・専門領域・コミュニケーションスタイルは **persona-use** に保存する。
判定に迷ったとき・取り違えたときのルーティングとブリッジは
[`../../instructions/common.instructions.md`](../../instructions/common.instructions.md) の「記憶レイヤの役割分担」を正典とする。
**同一の情報を他レイヤと重複保存しないこと。**

---

## 操作一覧

| 操作 | トリガー例 | スクリプト |
|------|-----------|-----------|
| **save** | 「覚えておいて」「記憶して」「保存して」「メモして」「忘れないで」／重要な決定・知見・エラー解決を発見したとき（自律） | `save_memory.py` |
| **recall** | 「思い出して」「以前の〇〇は？」「記憶を探して」 | `recall_memory.py` |
| **list** | 「記憶一覧」「何を覚えてる？」 | `list_memories.py` |
| **update** | 「記憶を更新して」「情報が変わった」 | `save_memory.py --update` |
| **archive** | 「忘れて」「古い情報」「アーカイブして」 | `save_memory.py --update --status archived` |
| **rate** | 「役立った」「間違ってた」「修正が必要」 | `rate_memory.py` |
| **share** | 「共有して」「チームに広める」／`importance: critical` を保存・`share_score >= 85` を検出したとき（自律） | `moltbook-use` の `publish` |
| **cleanup** | 「記憶を整理して」「古い記憶を削除して」 | `cleanup_memory.py` |
| **consolidate** 🧠 | 「固定化して」「記憶を蒸留して」「エピソードをまとめて」 | `consolidate_memory.py` |
| **regression-check** | consolidate/cleanup の前後で「整理したら引けなくなった」を検知（当番が自動実行） | `regression_check.py` |
| **review** 🧠 | 「記憶をレビューして」「記憶の棚卸し」「忘れかけてるものは？」 | `review_memory.py` |
| **sync-copilot-memory** | 「Copilotの記憶を同期して」「VSCodeの記憶を取り込んで」 | `sync_copilot_memory.py` |
| **sync-kiro-memory** | 「Kiroの記憶を同期して」「Kiroステアリングを取り込んで」 | `sync_kiro_memory.py` |
| **build_index** | 「インデックスを再構築して」「統計を見せて」 | `build_index.py` |

各操作の全オプション・手動手順: [`references/operations.md`](references/operations.md)

---

## save（記憶を保存する）

```bash
# 代表例（自動保存・プロンプトなし）
python scripts/save_memory.py --non-interactive --no-dedup \
  --category [カテゴリ] --title "[タイトル]" \
  --summary "[要約（1〜2文）]" --content "[詳細内容]"
```

`--memory-type` / `--importance` は省略可（コンテンツから自動推定）。自動タグ抽出・重複検出はデフォルト有効。
オプション全件（`--update` / `--dedup-threshold` など）は operations.md を参照。記憶は `home` に保存し、
共有は `share` で行う。

**saveの判断基準**: セッションをまたいで価値がある知見・決定・エラー解決・ユーザーの好み・設計上の決定は保存する。
一時的な中間出力や、コードベースに既に書かれている情報は保存しない。

**プロアクティブな save（自律実行）**: 明示指示がなくても、長い調査の末の解決策・重要な設計決定・
ユーザーからの訂正で確定した情報など「次回も役立つ知見」を検出したら自発的に保存する。

- 確認不要。`--title` / `--summary` / `--content` はセッションの文脈から自動生成する
- **必ず `--non-interactive --no-dedup` を付ける**（対話プロンプトを完全スキップ）
- 保存後は「〇〇を記憶しました（mem-XXXXXX-NNN）」と簡潔に報告する

**保存トリガーの Moltbook 連携（moltbook-use 有効時）**: save した直後、保存した知見のキーワードで
Moltbook を検索し、内容が似た未解決質問には即時返信、役立った共有（knowledge）イシューには good を付ける。
返信は著者クールダウンを免除し鮮度を優先する（`--no-cooldown`。`quiet`・予算・スレッド深さのゲートは維持）:

```bash
python {skill_home}/moltbook-use/scripts/moltbook.py search --query "保存した知見のキーワード"
# 内容が似た未解決質問に返信（クールダウンなし）
python {skill_home}/moltbook-use/scripts/moltbook.py reply --iid <iid> --body "..." --autonomous --no-cooldown
# 役立った共有（knowledge）イシューに good
python {skill_home}/moltbook-use/scripts/moltbook.py good --iid <iid>
```

---

## recall（記憶を想起する）

```bash
python scripts/recall_memory.py "[キーワード1] [キーワード2]"
```

recall すると `access_count` 加算 → `share_score` 再計算、`retention_score` リセット（🧠間隔反復）。
`--full` / `--context` / `--auto-context` / `--memory-type` 等は operations.md を参照。
ハイブリッドランキング（4軸）の詳細は [`references/algorithms.md`](references/algorithms.md)。

**連邦検索**: home 検索の後に、共有知見を **`moltbook-use` の `search` で連邦補完**する。
moltbook-use 有効時のみ。出典は「Moltbook（共有）」と明示する:

```bash
python {skill_home}/moltbook-use/scripts/moltbook.py search --query "[キーワード]"
```

**recallのタイミング**: 関連タスクを始める前、同じ問題を調査し始めたとき（重複調査を避ける）。

---

## agentic recall（反復探索）🔍

単発の recall で十分な手がかりが得られないとき（複雑な調査・横断的な質問・うろ覚えの想起）は、
**エージェント自身が反復ループを駆動する** agentic search を行う。スクリプトは「1ステップの検索 ＋
次の一手の手がかり」を返すプリミティブに徹し、再検索するか統合するかの判断はエージェントが行う。

反復ループ・ヒント計算は検索系スキル横断の共有スキル **agentic-search** に集約されている
（recall は `hints.py` に委譲、未導入時はローカルにフォールバック）。
ループの正典は [`../agentic-search/SKILL.md`](../agentic-search/SKILL.md)。

```bash
# 検索結果 + 次の一手ヒント（充足判定・フォローアップ候補・関連ID・gap語）を取得
python scripts/recall_memory.py "[キーワード]" --json --suggest --no-track
# ヒントの related_ids をマルチホップで辿る（クエリ不要）
python scripts/recall_memory.py --ids mem-XXXX,mem-YYYY --json --no-track
```

**反復ループ（エージェント駆動）**:

1. **計画**: 情報ニーズを 1〜2 のキーワード集合に分解する
2. **検索**: `--json --suggest --no-track` で検索（ループ中は `--no-track`、確定 recall のみ追跡）
3. **評価**: `hints.next_action` を読む
   - `synthesize` → 手がかり十分。ループを終了し結果を統合して回答する
   - `refine` → `hints.suggested_queries` でクエリを再構成して 2 へ戻る
   - `expand` → `hints.related_ids` を `--ids` で辿りマルチホップ展開（2 へ戻る）
   - `broaden` → 0件。`hints.gap_keywords` を手がかりに語を減らす／同義語へ置換して 2 へ戻る
4. **収束**: 新情報が増えなくなる or 2〜3 周で打ち切り、得た記憶群を統合する

詳細なヒント計算・収束条件は [`references/algorithms.md`](references/algorithms.md) の「Agentic Search」、
全オプションは [`references/operations.md`](references/operations.md) を参照。

---

## list（記憶の一覧を表示する）

```bash
python scripts/list_memories.py                       # home（デフォルト）
python scripts/list_memories.py --promote-candidates  # 昇格候補
```

`--scope all` / `--category` / `--stats` 等は operations.md を参照。

---

## share（記憶を共有する）

共有は **moltbook-use の `publish`** で行う。共有候補の選定には `share_score` を使う（`>= 70` 候補 / `>= 85` 自動）。

```bash
# 共有候補を確認（home 内のスコア上位）
python scripts/list_memories.py --promote-candidates
# 共有する（privacy gate を必ず通る）
python {skill_home}/moltbook-use/scripts/moltbook.py publish \
  --title "[要約]" --body "[記憶本文]" --source-layer ltm --topic [トピック]
```

**プロアクティブな共有（自律実行）**: `importance: critical` を保存したとき、`share_score >= 85` を検出したときは
自発的に **`moltbook publish`** する。公開したら「〇〇件を Moltbook に公開しました」と報告する。
moltbook-use 未設定なら設定を案内する。

---

## rate（ユーザー評価・修正フィードバックを記録する）

recall した記憶が役立ったか・誤りがあったかを記録する。`user_rating` / `correction_count` が
更新され `share_score` に自動反映される。

```bash
python scripts/rate_memory.py --id mem-20260303-001 --good          # 役立った（+10）
python scripts/rate_memory.py --file memories/auth/jwt.md --correction --note "..."  # 要修正
```

`--bad` / `--reset` や評価ごとの impact は operations.md を参照。

---

## cleanup（不要な記憶を削除する）

参照頻度・経過日数・品質スコアに基づいて不要な記憶を判定し削除する。

```bash
python scripts/cleanup_memory.py --dry-run   # 削除対象を確認
```

`--duplicates-only` / `--quality-threshold` や削除基準・品質スコア計算式は operations.md を参照。

---

## consolidate（記憶を固定化する）🧠

複数のエピソード記憶を統合・抽象化し、意味記憶／手続き記憶に蒸留する（脳の固定化: 海馬→新皮質）。

```bash
python scripts/consolidate_memory.py --dry-run        # 固定化候補を確認
python scripts/consolidate_memory.py --category auth  # カテゴリ指定で固定化
```

**自動提案トリガー**: 同一カテゴリに episodic 5件以上 / 類似度 0.5 以上のクラスタ 3件以上 /
cleanup・review 実行時の検出。詳細は operations.md を参照。

---

## regression-check（整理で引けなくなっていないかを確認する）

consolidate・cleanup の前後で「整理前に引けていた記憶が今も引けるか」を機械的に比較する
（計画: `docs/plans/2026-08-15-agent-tools-cross-agent-knowledge-operation-plan.md` §3.5-4）。
一度も引かれていない記憶（退役候補）は対象にしない。

```bash
python scripts/regression_check.py snapshot --out /tmp/ltm-baseline.json   # 整理の直前に
# ... consolidate_memory.py / cleanup_memory.py を実行 ...
python scripts/regression_check.py compare --baseline /tmp/ltm-baseline.json
python scripts/regression_check.py revert --baseline /tmp/ltm-baseline.json  # 統合起因の回帰だけ差し戻す
```

`compare` は回帰があれば exit 2。統合（consolidate）が原因なら `revert` で archived を
active へ戻すだけの非破壊操作で直せる。削除（cleanup）が原因の回帰は復元できないため
報告のみ——次回の削除基準を見直す材料にする。

---

## review（記憶をレビューする）🧠

固定化候補・忘却リスク・クリーンアップ候補を一括提示する定期棚卸し（海馬リプレイのモデル化）。

```bash
python scripts/review_memory.py                  # レビュー実行
python scripts/review_memory.py --update-retention  # retention_score の一括更新
```

**推奨タイミング**: 定期的に（デフォルト14日間隔）、新フェーズ開始時、大量保存後。詳細は operations.md を参照。

---

## sync 系（IDE 記憶の取り込み）

```bash
python scripts/sync_copilot_memory.py --force    # VSCode Copilot Memory を取り込む
python scripts/sync_kiro_memory.py --force       # Kiro ステアリング / IDE Memory を取り込む
```

各 sync の globalStorage パス・ソース指定・インポートログ等の詳細は operations.md を参照。
sync が使う skill-registry.json のリポジトリ設定は [`references/configuration.md`](references/configuration.md)。

---

## build_index（インデックスを管理する）

インデックスは recall/save/rate 時に自動更新される。統計確認や破損時の再構築に使う。

```bash
python scripts/build_index.py --stats        # 統計表示
python scripts/build_index.py --force        # 強制完全再構築
python scripts/build_index.py --embeddings   # 埋め込み索引（bge-m3）を作る / 補修する
```

埋め込み索引（`.memory-embeddings.json`）があるときだけ、recall は**用語を忘れた訊き方**
（TF-IDF の最上位コサインが `embedding_threshold` 未満）で bge-m3 に採点を切り替える
（段構え。合成はしない）。索引が無い・ollama が落ちている・用語が重なる訊き方では従来どおり。
save 時に 1 件ずつ足されるので、作るのは最初の 1 回でよい（75 件で 13 秒）。
設計と実測は [ltm-use-embedding-recall-design](../../../docs/designs/ltm-use-embedding-recall-design.md)。

---

## 記憶のライフサイクル（🧠 脳構造モデル）

```
[生の経験] セッション内での発見・決定・失敗
  │
  │ save (memory_type: auto, importance: auto)
  ▼
[エピソード記憶] 🧠海馬 — 具体的な経験の記録
  │
  │ recall で access_count 加算 → retention 上昇（間隔反復効果）
  │ rate で user_rating 更新 → share_score 変動
  │
  ├─── 5件以上蓄積 or 類似クラスタ形成
  │     │
  │     │ consolidate（🧠固定化: 海馬→新皮質）
  │     ▼
  │   [意味/手続き記憶] 🧠新皮質 — 蒸留された知識・手順
  │     │
  │     │ share（共有）
  │     ▼
  │   [共有知識] home → moltbook publish
  │
  ├─── retention 低下（🧠忘却曲線）
  │     │
  │     │ review で検出 → recall で再活性化 or archive
  │     ▼
  │   [再活性化] retention リセット（🧠間隔反復）
  │   [忘却]     archive → cleanup で削除
  │
  └─── importance: critical（🧠扁桃体タグ）
        └── 忘却対象外（永続保持）
```

---

## 使用例

```
ユーザー: 「JWTの有効期限を15分に設定したことを覚えておいて」
→ save_memory.py --non-interactive --no-dedup --category auth --title "JWT有効期限設定" \
   --summary "..." --content "..."
  → 自動推定: memory_type=semantic, importance=normal

ユーザー: 「本番でデータ消失した原因を覚えて。二度と起こさないように」
→ save_memory.py --non-interactive --no-dedup --category incident --title "本番データ消失の根本原因" ...
  → 自動推定: memory_type=episodic, importance=critical（🧠扁桃体: 忘却対象外）

ユーザー: 「以前JWT認証について何か決めたっけ？」
→ recall_memory.py "JWT 認証"
  → access_count 加算、retention リセット（🧠間隔反復）。home の後に moltbook search で連邦補完

ユーザー: 「認証まわりの記憶を整理して知識にまとめて」
→ consolidate_memory.py --category auth
  → エピソード記憶群を意味記憶に蒸留（🧠海馬→新皮質の固定化）

ユーザー: 「よく参照するナレッジをチームと共有して」
→ list_memories.py --promote-candidates   # 共有候補（share_score 上位）を確認
→ moltbook.py publish --source-layer ltm  # Moltbook に公開
```

