mcpField
D
distill

distill

github.com/open-horizon-labsエージェントワークフロー370 回インストール12 週間前に更新
リポジトリ

distill について

distill は、セッションやナレッジコーパスに蓄積された学びを整理するスキルです。反復、矛盾、古くなった項目をまとめて提案し、昇格・編集・削除は人の承認に委ねます。

主な機能

  1. 01セッションまたはコーパスの知見を確認
  2. 02反復・矛盾する項目をグループ化
  3. 03パターンの持続性と適用範囲を検証
  4. 04保持・昇格・統合・却下を提案
  5. 05変更には人の承認を必須化

活用シーン

  1. 01複数セッションで蓄積した知見の確認
  2. 02新しい段階の前に確定事項を整理
  3. 03検索結果のノイズや重複の削減
  4. 04成功したセッション後の知見整理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/open-horizon-labs/skills --skill distill

インストール後、Claude Code で/distillを入力して読み込まれたか確認します。

同梱ファイルagents/openai.yaml

詳細

/distill

蓄積された知識に潜むパターンを見つけます。何を保持、昇格、統合、または破棄するかを提案します。決定するのは人間です。

Salvage は単一のセッションから学びを抽出し、distill はその抽出によって築かれるコーパスを整理します。distill がなければ、metis は蓄積されても、相乗効果は生まれません。

使用するタイミング

次の場合に /distill を実行します。

  • 複数のセッションの後 — コーパスが増えてきたものの、見直されていない場合
  • 新しいフェーズに入る前 — 次に進む前に、何が確定しているか把握したい場合
  • 検索結果にノイズが多いと感じるとき — oh_search_context が関連性の低いコンテンツを大量に返す場合
  • 似た学びが繰り返し現れるとき — /salvage が同じ洞察を何度も抽出している場合(メタシグナル)
  • うまくいったセッションの終わり — 成功したセッションからも、コンテキストが失われる前に記録する価値のある学びが得られる場合

セッションがうまくいった場合は、/salvage ではなく distill を使います。 /salvage は、問題が起きたために中断するときに使います。distill は、物事がうまくいった、あるいは完了したために一時停止し、コンテキストが失われる前に記録する価値のある学びを整理するときに使います。

次の場合は使用しないでください。 実行の途中にある場合です。distill は一時停止のためのものであり、実行中に使うものではありません。

人間主導で整理する原則

LLM はパターンを見つけ、人間は何が重要かを判断します。自動昇格が正しいことはありません。人間が書くまでは、テーマはガードレールではありません。

プロセス

ステップ 1:対象範囲を決める

作業するコーパスを決めます。

  • セッション範囲(デフォルト。RNA は不要):この会話から得られた学び
  • コーパス範囲(RNA が利用可能):すべてのセッションで蓄積された metis。必要に応じて、結果、フェーズ、またはタグで絞り込めます

絞り込み(RNA): 特定の領域だけを整理する場合は、結果 ID、フェーズタグ、または期間を oh_search_context に渡してコーパスを絞り込みます。

ステップ 2:候補を見つける

セッション範囲: 会話を振り返ります。何を学びましたか?どのような前提が検証され、または否定されましたか?どのような制約が見つかりましたか?次のセッションの開始時に知っていると役立つことは何ですか?この状況での判断を明らかに変えるものでない限り、一般的な助言は除外します。

コーパス範囲(RNA): oh_search_context を広く呼び出します。意味的な類似性に基づいて分類します。次の項目を特定します。

  • 繰り返し一緒に現れるエントリー(統合候補)
  • エントリーを横断するパターン(ガードレールへの昇格候補)
  • 相互に矛盾するエントリー(解決候補)
  • 古くなった、一般的すぎる、または特定のコンテキストに依存しすぎるエントリー(破棄候補)
ステップ 3:神話か metis かを確認する

昇格や統合を提案する前に、そのパターンが持続性のある学びなのか、それとも印象に残る話にすぎないのかを確認します。

  • 現実との接点: 複数の観察で繰り返し確認されましたか。それとも、強烈な印象を残す単発の出来事ですか?
  • 適用条件: どのようなときに当てはまり、どのようなときに誤解を招きますか?
  • 陳腐化: システム、コンテキスト、または制約は、今も同じですか?
  • 判断か、過去の恐れか: 現在の判断を改善しますか。それとも、過去の失敗から生じた不安を残していますか?
  • 適用範囲: 局所的、一時的、または一般的なものですか?実態に即してラベルを付けます。

答えが不確かな場合は、「昇格」ではなく「保持」または「破棄」を提案します。distill は候補を提示しますが、書き込みはすべて人間が承認します。

ステップ 4:人間によるレビューに提示する

各候補グループを、次の 4 つの対応案とともに提示します。

**Theme: [theme name]**
Entries: [list with source IDs and one-line summaries]
Suggested action: [Keep / Promote / Compact / Dismiss]
Myth vs. metis: [reality contact, tied conditions, staleness, scope]
Reason: [why this action fits]
→ Your call:

保持 — 個別の metis エントリーとして残し、変更しません。 昇格 — パターンが繰り返し現れ、安定しているため、ガードレールにする価値があります。distill が草案を作成し、人間が内容を承認(必要に応じて編集)した後、エージェントがファイルを書き込みます。

---
id: [slug]
outcome: [outcome-id]
severity: soft
title: [one-line constraint]
---
[drafted body — human refines, agent writes to .oh/guardrails/]

統合 — 複数のエントリーが同じ内容を述べています。人間が統合版を承認し、元のエントリーはアーカイブまたは削除されます。 破棄 — 古くなった、一般的すぎる、置き換えられた、または特定のコンテキストに依存しすぎて役立つ以上に誤解を招くものです。

ステップ 5:結果を書き込む

人間が承認した内容だけを書き込みます。自動昇格も自動削除も行いません。

  • 新しい metis エントリー → .oh/metis/<slug>.md
  • ガードレール候補 → 人間が .oh/guardrails/<slug>.md に書き込むためのドラフト
  • 圧縮 → 新しい統合エントリーと、削除可能な元のエントリーのメモ
  • セッションファイルの圧縮 → 古くなった計画用アーティファクトの削除を提案し、確定した決定事項は簡潔なアンカーとして残します

出力形式

## Distill Summary

**Scope:** [session | corpus — filtered by: outcome/phase/tag]
**Entries reviewed:** [N]

### Proposals

**[Theme or entry title]**
- Source(s): [file paths or conversation reference]
- Suggested: [Keep / Promote to guardrail / Compact / Dismiss]
- Reason: [one sentence]
- Myth vs. metis: [why this is durable situated learning, or why it may be myth/stale]
→ Decision: [human fills this in]

[repeat for each proposal]

### Results Written
- [what was written, with file paths]

ガードレール

  • 自動昇格は決して行いません。 人間が書き込むまでは、テーマの提案はガードレールではありません。
  • 自動削除は決して行いません。 却下の提案には人間の確認が必要です。
  • 出所を保持します。 すべての提案に、元となった metis ID または会話のコンテキストへのリンクを付けます。
  • 一般的な助言より、状況に即した metis を優先します。 基盤モデルがすでに知っていること以上の、ローカルな活用価値がメモにない場合は、却下または圧縮の候補として扱います。
  • metis より先に myth を確認します。 印象的な出来事も、現実との接触が繰り返され、条件が結び付いて意思決定を変えるパターンにならない限り、パターンではありません。
  • フェーズを考慮します。 コーパスモードでクラスタリングする場合は、フェーズタグを明示します。フェーズをまたぐ metis は、誤解を招くことがよくあります。解決策空間での学びが、問題空間でも自動的に役立つとは限りません。
  • コーパスが少なくても適切に対応します。 エントリーが 5 件未満の場合は、誤ったパターンを捏造せず、存在する情報を提示します。ノイズをクラスタリングしません。
  • Metis は文脈に依存し、普遍的ではありません。 ある文脈でうまくいったことが、どこでも通用するわけではありません。何を適用するかは人間が選び、distill は候補を抽出します。

セッションの引き継ぎ

Distill はコーパス/セッションのキュレーションであり、実行ではありません。複数の salvage の後、または再利用できるローカルな学びが得られたセッションの後に使用します。昇格、圧縮、削除を行う前に、人間の承認が必要です。

コメント