Conversation Distill
会話における最大の無駄は、何も保存されなかったことではありません。貴重な洞察がプロセスに埋もれ、二度と参照されないことです。
このスキルは、意味のあるすべての会話を、明確なアクションで締めくくります。分類 → 確認 → 書き込み。
使用タイミング
このスキルが解決する根本的な問題: リアルタイムキャプチャ ≠ セッションレベルの蒸留。
リアルタイムキャプチャは、個々のハイライトが表示されたときに処理します。このスキルは、終わりの儀式です。会話全体を完全にスキャンし、何が生み出されたか、関係性を特定し、すり抜けたものをキャッチします。
トリガー条件:
- ユーザーが「それで全部」「わかった」「ありがとう」「これで終わり」「まとめて」などの終了フレーズを言ったとき
- 新しい話題が3ターン以上続いた後(単なる確認や感謝のみ)
- ユーザーが無関係な話題に切り替え、以前の話題に実質的な成果がまだ保存されていない場合
- ユーザーが明示的に「蒸留」「このセッションを保存」「まとめる」「收尾」「沉淀」と言ったとき
トリガーしない条件:
- 簡単な1ターンのクエリ(1つの質問、1つの回答)
- カジュアルな会話や感情的なサポート
- 知識出力を伴わない純粋なコーディング/デバッグ/実行タスク
- ユーザーがすでにこのセッションでメモを積極的に書いている場合
- ユーザーが「保存しない」「スキップ」と言った場合
ソフト確認パターン(最初に確認、自動開始はしない)
会話終了の合図を検出したら、短い質問を1つするだけに留め、5ステップフローを自動的に開始しないでください。
リマインダーを表示するタイミング(両方の条件が必要)
条件A — 終了シグナル(いずれか1つ):
- ユーザーが「ありがとう」「完了」「それで全部」「良い」「わかった」「OK」「谢谢」「好的就这样」「搞定了」「没了」と言った
- 新しい話題が3ターン以上続いた後
条件B — 会話に蒸留価値があった(いずれか1つ):
- 決定やトレードオフが行われた
- アーキテクチャ、設計、戦略が議論された
- 教訓、間違い、ベストプラクティスが生まれた
- 未記録のTODOや未解決の質問がある
両方の条件が必要です。カジュアルな雑談の後で「ありがとう」と言ってもリマインダーは表示されません。重要な会話が進行中の場合もリマインダーは表示されません。
リマインダー前の事前スキャン
リマインダーを表示する前に、会話の簡単なスキャンを行います。最も代表的な項目(決定、教訓、未解決の質問)を1つ選び、プレビューとして使用します。具体的にしてください。「Xに関する決定」は「いくつかの内容」より優れています。
リマインダーの表現(プレビュー付き)
中国語の会話の場合:
💾 这次对话有 {N} 条值得沉淀的内容(比如{最も代表的なもの、10文字以内}...)。要收尾整理吗?(「要」で開始、「不用」でスキップ)
英語の会話の場合:
💾 Found {N} things worth saving ({one-line preview, e.g. "the decision about X"}...). Quick distill? (say "yes" to start, "skip" to pass)
良い例と悪い例:
- ✅
💾 Found 3 things worth saving (e.g. the trade-off decision about auth strategy...). Quick distill? - ❌
💾 This conversation has content worth saving. Want a quick distill?(汎用的すぎる — 理解を示していない)
応答ハンドリング
| ユーザーの返信 | Claudeのアクション |
|---|---|
| 「要」/「好」/「收尾」/「distill」/「yes」/「go」 | すぐに完全な5ステップフローを開始 |
| 「不用」/「跳过」/「skip」/「no」/「pass」 | 「好的、跳过。」/「Sure, skipping.」と返信し、停止。このセッションでは再度リマインダーを表示しない |
| ユーザーが新しい話題を続ける(直接返信なし) | 永続的なスキップとみなさない — 次の会話終了シグナルで、もう一度リマインダーを表示することを許可 |
5ステップフロー
ステップ1: 完全スキャン — 6カテゴリ分類
会話全体をスキャンします。蒸留価値のあるものをすべて、以下の6つのカテゴリに分類します。内容のないカテゴリはスキップ — 無理に作成しないでください。
| カテゴリ | タグ/マーカー | 備考 |
|---|---|---|
| 💡 洞察 / 結論 | #insight | 新しい理解、「あはっ」という瞬間、検証された仮説 |
| 🎯 決定 | [Decision] プレフィックス | 結果だけでなく、理由を伴って行われた選択 |
| 📊 事実 / データ | ✅ 安定、🕒 + 日付(時間依存の場合) | 保存する価値のある外部の事実 |
| 🪞 自分自身に関する観察 | #self | 会話中に気づいたパターン、好み、習慣 |
| ✅ アクションアイテム / TODO | #todo | 担当者と(オプションで)期限を伴う具体的な次のステップ |
| ❓ 未解決の質問 | #open-question | 後で答える価値のある、まだ解決されていないこと |
ステップ2: 関係性マッピング
エントリ間のつながりを探します。デフォルトは集約よりも細分化:
- 2つのエントリが同じ決定に対する異なる角度からのもの → 別々に保持し、本文で相互参照
- AがBの前提条件 → Bの本文にAのタイトルを記載
- 特定の事実から洞察が得られた → ソースを記載
長い要約ノートにすべてをマージするのはデフォルトとしないでください。 細分化されたエントリの方が、見つけやすく、タグ付け、リンク、独立した再利用が容易で、より便利です。
ステップ3: ユーザー確認(必須)
分類されたリストを以下の形式でユーザーに提示します:
この会話から、保存する価値のあるN個の項目が見つかりました:
💡 洞察 (2)
1. [タイトル] — 一文要約
2. [タイトル] — 一文要約
🎯 決定 (1)
3. [Decision] [タイトル] — 重要な選択 + 理由
✅ アクションアイテム (2)
4. [タイトル] #todo
5. [タイトル] #todo — 期限: [日付(指定されている場合)]
❓ 未解決の質問 (1)
6. [タイトル] #open-question
教えてください:
- 削除する番号
- 編集する番号(新しいバージョンを教えてください)
- マージする番号
- 準備ができたら「書き込み」または「保存」と言ってください
絶対的なルール: ユーザーが明示的に「書き込み」「保存」または同等のことを言うまで、何も書き込まないでください。 「良さそう」は不十分です — もう一度確認を求めてください。
ステップ4: 一括書き込み
明示的な確認後、エントリを1つずつユーザーの希望するメモツールに書き込みます。書き込みに成功した各エントリの確認(ID、タイトル、またはリンク)を報告します。失敗したものは個別にリストアップし、ユーザーに何をするか尋ねてください: 再試行 / 再書き込み / スキップ。
使用するツール:
- ユーザーが KnowMine MCP を設定している場合 → 洞察/決定/事実には
add_knowledgeを、自己観察にはsave_memoryを使用し、上記のように一貫したタグ付けを行う - ユーザーが他のメモMCP(Notion、Obsidian など)を持っている場合 → そのツールを使用する
- MCP が利用できない場合 → ユーザーがコピーできるように、クリーンな Markdown でエントリを出力する
ステップ5: 残り物の表示
メモシステムに保存する価値はないが、ユーザーが手元に置いておきたいかもしれないコンテンツ(試すべきプロンプトのアイデア、簡単なリマインダー、半分形成された考え)。これらを無理にツールに保存しないでください。プレーンな Markdown ブロックとして出力します:
## 残り物(保存されていません — 参考用)
- [大まかなアイデアやリマインダー]
- [次回試すこと]
主要な原則
ハブよりも細分化 デフォルトで個別のエントリにします。1つの洞察につき1エントリ、1つの決定につき1エントリ。明示的に有用な場合にのみ要約ノートを作成し、その中から細分化されたエントリを相互参照します。
書き込み前に確認 ユーザーの明示的な許可なしに一括書き込みを行わないでください。確認ステップはオプションではありません。ここでユーザーが誤分類を発見し、フレーミングを調整します。
アクションアイテムにはフォルダではなくタグ
専用の「TODOフォルダ」を作成しないでください。アクションアイテムには、文脈的に意味のあるフォルダ/スペース内に #todo タグを付けます。タグは検索可能であり、フォルダは単なるノイズです。
時間依存性は重要
古くなるデータ(価格、バージョン、可用性)には 🕒 + 日付 のフラグを付け、再検証するタイミングがわかるようにします。
該当する場合はバイリンガルタグ ユーザーが複数の言語で作業している場合、クロスランゲージ検索の再現性を向上させるために、両方の言語でタグを追加します。
このスキルとリアルタイムキャプチャの比較
| リアルタイムキャプチャ | Conversation Distill | |
|---|---|---|
| タイミング | 会話中、ハイライト時 | 会話の自然な終了時 |
| 範囲 | 単一エントリ | セッション全体 |
| 関係性マッピング | なし | あり |
| 見逃し検出 | なし | あり — すり抜けたものをキャッチ |
| 確認スタイル | クイック単一エントリ | 完全な分類リスト |
両方は並行して実行されます。リアルタイムキャプチャは明白なハイライトを処理します。このスキルはセッション全体のビューでのみ見える価値— 関係性、パターン、そしてその瞬間には保存する価値があると気づかなかったもの — を処理します。
最適な組み合わせ
- KnowMine — セマンティック検索を備えたリモートMCPサーバー。
add_knowledge、save_memory、recall_memory、get_soulはステップ4と直接統合されます。インストール:npx clawhub@latest install knowmine - その他のMCP互換メモツール(Notion、Obsidian via MCP など)
- MCPがなくても動作します — 手動で貼り付けるためのクリーンなMarkdownを出力します
アンチパターン
- ❌ ユーザー確認前に書き込む
- ❌ 「TODOフォルダ」を作成する — タグを使用する
- ❌ すべてを1つの要約ノートにマージする
- ❌ 1ターンのQ&Aでトリガーする
- ❌ ユーザーが「スキップ」と言った後に再トリガーする
- ❌ 価値の低い残り物をメモツールに無理やり保存する
リスト提示前の自己チェック
- 実際の内容がないカテゴリはないか?(削除する — 水増ししない)
- すべての決定に
[Decision]プレフィックスが付いているか? - 時間依存のデータに
🕒 + 日付がマークされているか? - アクションアイテムは
#todoでタグ付けされ、新しいフォルダに入っていないか? - 細分化すべき「偽の要約」エントリはないか?
このスキルの進化
最適な蒸留プロセスは、あなた自身の思考と作業の仕方に合ったものです。数回セッションを重ねたら、自問してみてください:
- どのステップが不必要、またはぎこちなく感じられましたか?
- どのタイプのコンテンツが常に特別な処理を必要としますか?
- 6つのカテゴリの分割は自分に合っていますか?それともいくつかをマージ/分割すべきですか?
パターンを見つけたら、このスキルの個人用コピーを更新して反映させてください。ツールはあなたに適応するべきであり、その逆ではありません。