continuous-learning
セッションをフックで監視し、信頼度スコア付きの基本的な思考パターン(インスティンクト)を生成して、スキル・コマンド・エージェントへと発展させる学習システムです。プロジェクト単位でインスティンクトをスコープ化することで、プロジェクト間の干渉を防止できます。
description の原文を見る
Instinct-based learning system that observes sessions via hooks, creates atomic instincts with confidence scoring, and evolves them into skills/commands/agents. Features project-scoped instincts to prevent cross-project contamination.
SKILL.md 本文
継続的学習 - インスティンクトベースのアーキテクチャ
Gemini CLIセッションを再利用可能な知識に変える高度な学習システムです。小さく学習した行動「インスティンクト」を、信頼度スコア付きで積み上げていきます。
プロジェクトスコープのインスティンクト機能を備えています。ReactのパターンはあなたのReactプロジェクトに、Pythonの慣例はあなたのPythonプロジェクトに、通用的なパターン(「常に入力を検証する」など)はグローバルスコープで共有されます。
有効化する場面
- Gemini CLIセッションからの自動学習を設定する
- フック経由でインスティンクトベースの動作抽出を設定する
- 学習した動作の信頼度閾値をチューニングする
- インスティンクトライブラリをレビュー、エクスポート、またはインポートする
- インスティンクトを完全なスキル、コマンド、またはエージェントに進化させる
- プロジェクトスコープ対グローバルインスティンクトを管理する
- インスティンクトをプロジェクトからグローバルスコープに昇格させる
インスティンクトモデル
インスティンクトは小さく学習した行動です:
---
id: prefer-functional-style
trigger: "when writing new functions"
confidence: 0.7
domain: "code-style"
source: "session-observation"
scope: project
project_id: "a1b2c3d4e5f6"
project_name: "my-react-app"
---
# Prefer Functional Style
## Action
Use functional patterns over classes when appropriate.
## Evidence
- Observed 5 instances of functional pattern preference
- User corrected class-based approach to functional on 2025-01-15
プロパティ:
- アトミック -- 1つのトリガー、1つのアクション
- 信頼度加重 -- 0.3 = 試験的、0.9 = ほぼ確実
- ドメインタグ付き -- code-style、testing、git、debugging、workflow など
- 根拠付き -- 何の観察がそれを作成したかを追跡
- スコープ対応 --
project(デフォルト)またはglobal
仕組み
セッションアクティビティ(gitリポジトリ内)
|
| フックがプロンプト+ツール使用をキャプチャ(100%信頼性)
| + プロジェクトコンテキストを検出(gitリモート/リポジトリパス)
v
+---------------------------------------------+
| projects/<project-hash>/observations.jsonl |
| (prompts, tool calls, outcomes, project) |
+---------------------------------------------+
|
| オブザーバーエージェントが読取(バックグラウンド)
v
+---------------------------------------------+
| パターン検出 |
| * ユーザー修正 -> インスティンクト |
| * エラー解決 -> インスティンクト |
| * 反復的なワークフロー -> インスティンクト |
| * スコープ決定: プロジェクトかグローバルか|
+---------------------------------------------+
|
| 作成/更新
v
+---------------------------------------------+
| projects/<project-hash>/instincts/personal/|
| * prefer-functional.yaml (0.7) [project] |
| * use-react-hooks.yaml (0.9) [project] |
+---------------------------------------------+
| instincts/personal/ (グローバル) |
| * always-validate-input.yaml (0.85)[global|
| * grep-before-edit.yaml (0.6) [global] |
+---------------------------------------------+
|
| /evolve クラスタリング + /promote
v
+---------------------------------------------+
| projects/<hash>/evolved/ (プロジェクトスコープ)|
| evolved/ (グローバル) |
| * commands/new-feature.md |
| * skills/testing-workflow.md |
| * agents/refactor-specialist.md |
+---------------------------------------------+
プロジェクト検出
システムは現在のプロジェクトを自動的に検出します:
GEMINI_PROJECT_DIR環境変数 (最優先)git remote get-url origin-- ポータブルなプロジェクトIDを作成するためにハッシュ化(異なるマシンの同じリポジトリは同じIDを取得)git rev-parse --show-toplevel-- リポジトリパスを使用したフォールバック(マシン固有)- グローバルフォールバック -- プロジェクトが検出されない場合、インスティンクトはグローバルスコープになります
各プロジェクトには12文字のハッシュID(例:a1b2c3d4e5f6)が割り当てられます。~/.gemini/continuous-learning/projects.jsonのレジストリファイルがIDを人が読める名前にマッピングします。
クイックスタート
1. オブザーベーションフックを有効化
継続的学習のオブザーベーションフックは拡張機能の一部としてhooks/hooks.jsonファイルにバンドルされています。
拡張機能がグローバルにリンクされると(gemini extensions link .)、フックは自動的に発見され、PreToolUseとPostToolUseで暗黙的に実行されます。
2. ディレクトリ構造を初期化
システムは最初の使用時に自動的にディレクトリを作成しますが、手動で作成することもできます:
# グローバルディレクトリ
mkdir -p ~/.gemini/continuous-learning/{instincts/{personal,inherited},evolved/{agents,skills,commands},projects}
# プロジェクトディレクトリは、フックがgitリポジトリで初めて実行されるときに自動作成されます
3. インスティンクトコマンドを使用
python3 scripts/instinct-cli.py status # 学習したインスティンクト(プロジェクト+グローバル)を表示
python3 scripts/instinct-cli.py evolve # 関連するインスティンクトをスキル/コマンドにクラスタリング
python3 scripts/instinct-cli.py export # インスティンクトをファイルにエクスポート
python3 scripts/instinct-cli.py import # 他人からインスティンクトをインポート
python3 scripts/instinct-cli.py promote # プロジェクトインスティンクトをグローバルスコープに昇格
python3 scripts/instinct-cli.py projects # 既知のすべてのプロジェクトとインスティンクト数をリスト
設定
設定はGemini CLI拡張機能の設定を通じて直接管理されます。以下のコマンドを使用してこれらの値を表示または変更できます:
gemini extensions config everything-gemini-cli
| 設定 | デフォルト | 説明 |
|---|---|---|
| Observer Enabled | false | バックグラウンドオブザーバーエージェントを有効化 |
| Run Interval | 5 | オブザーバーがオブザーベーションを分析する頻度(分単位) |
| Min Observations | 20 | 分析が実行される前の最小オブザーベーション数 |
その他の動作(オブザーベーションキャプチャ、インスティンクト閾値、プロジェクトスコーピング、昇格基準)はscripts/instinct-cli.pyとhooks/observe.shのコードデフォルトを通じて設定されます。
ファイル構造
~/.gemini/continuous-learning/
+-- identity.json # プロフィール、技術レベル
+-- projects.json # レジストリ: プロジェクトハッシュ -> 名前/パス/リモート
+-- observations.jsonl # グローバルオブザーベーション(フォールバック)
+-- instincts/
| +-- personal/ # グローバル自動学習インスティンクト
| +-- inherited/ # グローバルインポート済みインスティンクト
+-- evolved/
| +-- agents/ # グローバル生成エージェント
| +-- skills/ # グローバル生成スキル
| +-- commands/ # グローバル生成コマンド
+-- projects/
+-- a1b2c3d4e5f6/ # プロジェクトハッシュ(gitリモートURL由来)
| +-- project.json # プロジェクト別メタデータミラー(id/name/root/remote)
| +-- observations.jsonl
| +-- observations.archive/
| +-- instincts/
| | +-- personal/ # プロジェクト固有自動学習
| | +-- inherited/ # プロジェクト固有インポート済み
| +-- evolved/
| +-- skills/
| +-- commands/
| +-- agents/
+-- f6e5d4c3b2a1/ # 別のプロジェクト
+-- ...
スコープ決定ガイド
| パターンタイプ | スコープ | 例 |
|---|---|---|
| 言語/フレームワークの慣例 | project | 「Reactフックを使用」、「Django RESTパターンに従う」 |
| ファイル構造の設定 | project | 「テストを__tests__/に」、「コンポーネントをsrc/components/に」 |
| コードスタイル | project | 「関数型スタイルを使用」、「データクラスを優先」 |
| エラーハンドリング戦略 | project | 「エラーにResultタイプを使用」 |
| セキュリティ実践 | global | 「ユーザー入力を検証」、「SQLをサニタイズ」 |
| 一般的なベストプラクティス | global | 「テストファースト」、「常にエラーを処理」 |
| ツールワークフローの設定 | global | 「編集前にGrep」、「書き込み前に読取」 |
| Git実践 | global | 「コンベンショナルコミット」、「小さく焦点を絞ったコミット」 |
インスティンクト昇格(プロジェクト -> グローバル)
同じインスティンクトが複数のプロジェクトに高い信頼度で現れると、グローバルスコープへの昇格の候補になります。
自動昇格基準:
- 同じインスティンクトIDが2つ以上のプロジェクトに存在
- 平均信頼度 >= 0.8
昇格方法:
# 特定のインスティンクトを昇格
python3 scripts/instinct-cli.py promote prefer-explicit-errors
# 適格なすべてのインスティンクトを自動昇格
python3 scripts/instinct-cli.py promote
# 変更なしにプレビュー
python3 scripts/instinct-cli.py promote --dry-run
信頼度スコアリング
信頼度は時間とともに進化します:
| スコア | 意味 | 動作 |
|---|---|---|
| 0.3 | 試験的 | 提案されるが強制されない |
| 0.5 | 中程度 | 関連する場合に適用 |
| 0.7 | 強 | 適用が自動承認される |
| 0.9 | ほぼ確実 | コア動作 |
信頼度が増加する場合:
- パターンが繰り返し観察される
- ユーザーが提案された動作を修正しない
- 他のソースからの類似インスティンクトが一致
信頼度が減少する場合:
- ユーザーが動作を明示的に修正する
- パターンが長期間観察されない
- 矛盾する根拠が現れる
フックをオブザーベーションに使う理由
フックは100%の時間に確定的に発火します。これは以下を意味します:
- すべてのツール呼び出しが観察される
- パターンが見落とされない
- 学習が包括的である
プライバシー
- オブザーベーションはマシン上にローカルに留まる
- プロジェクトスコープのインスティンクトはプロジェクトごとに分離される
- インスティンクト(パターン)のみエクスポート可能 -- 生のオブザーベーションではない
- 実際のコードまたは会話内容は共有されない
- エクスポートと昇格される内容を制御できます
インスティンクトベース学習: あなたのパターンを1プロジェクトずつGeminiに教える。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- mostafa-ismail-2004
- ライセンス
- MIT
- 最終更新
- 2026/5/9
Source: https://github.com/mostafa-ismail-2004/everything-gemini-cli / ライセンス: MIT