Communitygithub.com

Continuous Learning v2.1 - 本能ベースアーキテクチャ

フックを介してセッションを観察し、信頼度スコア付きのアトミックな「本能(インスティンクト)」を作成し、それらをスキル/コマンド/エージェントに進化させる本能ベースの学習システムです。v2.1ではプロジェクトスコープの本能を追加し、プロジェクト間の汚染を防止します。セッションからの教訓を記録するとき、本能を管理するとき、またはそれらをスキル、コマンド、エージェントに昇格させるときに使用します。

Continuous Learning v2.1 - 本能ベースアーキテクチャ とは?

Continuous Learning v2.1は、Claude Codeのセッションから再利用可能な知識を自動的に学習するための高度な本能ベース学習システムです。フックを使用してツール呼び出しを100%の確率で観測し、観測から小さな「本能(インスティンクト)」を作成・管理します。各本能には信頼度(0.3から0.9)が付けられ、時間とともに進化します。v2.1の最大の特徴はプロジェクトスコープの本能で、ReactプロジェクトのパターンはReactプロジェクト内に、Pythonの規則はPythonプロジェクト内にとどめ、プロジェクト間の知識汚染を防止します。また、2つ以上のプロジェクトで同じ本能が高信頼度で観測されると、自動的にグローバルスコープに昇格します。このシステムはCLAUDE Code CLI、プラグインとして動作し、Claude Code以外のAIコーディングエージェントでも使用可能です。バックグラウンドオブザーバーが観測を分析し、本能をクラスタリングしてスキルやコマンド、エージェントに進化させることができます。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/affaan-m/ECC/tree/main/skills/continuous-learning-v2

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Continuous Learning v2.1 - 本能ベースアーキテクチャ は何をしますか?

Claude Codeのセッションをアトミックな「本能(インスティンクト)」、つまり信頼度スコア付きの小さな学習行動を通じて再利用可能な知識に変換する高度な学習システムです。

v2.1 では プロジェクトスコープの本能 が追加されました — ReactのパターンはReactプロジェクト内に、Pythonの規則はPythonプロジェクト内に留まり、普遍的なパターン(「常に入力を検証する」など)はグローバルに共有されます。

有効化するタイミング

  • Claude Codeセッションからの自動学習をセットアップするとき
  • フックを介した本能ベースの行動抽出を設定するとき
  • 学習された行動の信頼度しきい値を調整するとき
  • 本能ライブラリのレビュー、エクスポート、またはインポートするとき
  • 本能を完全なスキル、コマンド、またはエージェントに進化させるとき
  • プロジェクトスコープ vs グローバル本能を管理するとき
  • 本能をプロジェクトからグローバルスコープに昇格させるとき

v2.1の新機能

機能v2.0v2.1
ストレージグローバル (~/.claude/homunculus/)プロジェクトスコープ (${XDG_DATA_HOME:-~/.local/share}/ecc-homunculus/projects/<hash>/)
スコープすべての本能がどこにでも適用プロジェクトスコープ + グローバル
検出なしgit remote URL / リポジトリパス
昇格なし2つ以上のプロジェクトで確認された場合、プロジェクト→グローバル
コマンド4 (status/evolve/export/import)6 (+promote/projects)
プロジェクト間汚染リスクデフォルトで分離

v2の新機能 (v1との比較)

機能v1v2
観測Stopフック(セッション終了)PreToolUse/PostToolUse(100%信頼性)
分析メインコンテキストバックグラウンドエージェント(Haiku)
粒度完全なスキルアトミックな「本能」
信頼度なし0.3〜0.9の加重
進化直接スキルへ本能→クラスタ→スキル/コマンド/エージェント
共有なし本能のエクスポート/インポート

本能モデル

本能は小さな学習行動です:

---
id: prefer-functional-style
trigger: "新しい関数を書くとき"
confidence: 0.7
domain: "code-style"
source: "session-observation"
scope: project
project_id: "a1b2c3d4e5f6"
project_name: "my-react-app"
---

# 関数型スタイルを優先

## アクション

適切な場合、クラスよりも関数型パターンを使用します。

## 証拠
- 関数型パターン優先の5つのインスタンスを観測
- ユーザーが2025-01-15にクラスベースのアプローチを関数型に修正

プロパティ:

  • アトミック -- 1つのトリガー、1つのアクション
  • 信頼度加重 -- 0.3 = 暫定的、0.9 = ほぼ確実
  • ドメインタグ付き -- code-style、testing、git、debugging、workflowなど
  • 証拠に基づく -- どの観測が作成したかを追跡
  • スコープ認識 -- project(デフォルト)または global

仕組み

セッションアクティビティ(gitリポジトリ内)
      |
      | フックがプロンプト + ツール使用をキャプチャ(100%信頼性)
      | + プロジェクトコンテキストを検出(git remote / リポジトリパス)
      v
+---------------------------------------------+
|  projects/<project-hash>/observations.jsonl  |
|   (プロンプト、ツール呼び出し、結果、プロジェクト) |
+---------------------------------------------+
      |
      | オブザーバーエージェントが読み取り(バックグラウンド、Haiku)
      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            |
+---------------------------------------------+

プロジェクト検出

システムは現在のプロジェクトを自動的に検出します:

  1. CLAUDE_PROJECT_DIR 環境変数(最優先)-- ディレクトリがgitリポジトリでない場合でも明示的なオーバーライドとして尊重されます(絶対パスでハッシュ化)
  2. git remote get-url origin -- ポータブルなプロジェクトIDを作成するためにハッシュ化(同じリポジトリは異なるマシンでも同じIDを取得)
  3. git rev-parse --show-toplevel -- フォールバック(リポジトリパスを使用、マシン固有)
  4. グローバルフォールバック -- プロジェクトが検出されない場合、本能はグローバルスコープに送られます

各プロジェクトは12文字のハッシュID(例: a1b2c3d4e5f6)を取得します。${XDG_DATA_HOME:-~/.local/share}/ecc-homunculus/projects.json のレジストリファイルは、IDを人間が読める名前にマッピングします。

データディレクトリ

Continuous-learning-v2 は ~/.claude の外にオブザーバーデータを保存するため、Claude Codeの機密パスガードがバックグラウンドの本能書き込みをブロックしません:

  1. CLV2_HOMUNCULUS_DIR が絶対パスに設定されている場合
  2. $XDG_DATA_HOME/ecc-homunculus
  3. $HOME/.local/share/ecc-homunculus

~/.claude/homunculus にデータがある既存ユーザーは、一度だけ移行できます:

bash skills/continuous-learning-v2/scripts/migrate-homunculus.sh

クイックスタート

1. 観測フックを有効にする

プラグインとしてインストールされている場合(推奨):

追加の settings.json フックブロックは必要ありません。Claude Code v2.1+ はプラグイン hooks/hooks.json を自動的にロードし、observe.sh はすでにそこで登録されています。

以前に observe.sh を ~/.claude/settings.json にコピーした場合は、その重複した PreToolUse / PostToolUse ブロックを削除してください。プラグインフックを重複させると、二重実行と ${CLAUDE_PLUGIN_ROOT} 解決エラーが発生します。これはその変数がプラグイン管理下の hooks/hooks.json エントリ内でのみ利用可能であるためです。

手動で ~/.claude/skills にインストールされている場合、~/.claude/settings.json にこれを追加します:

{
  "hooks": {
    "PreToolUse": [{
      "matcher": "*",
      "hooks": [{
        "type": "command",
        "command": "~/.claude/skills/continuous-learning-v2/hooks/observe.sh"
      }]
    }],
    "PostToolUse": [{
      "matcher": "*",
      "hooks": [{
        "type": "command",
        "command": "~/.claude/skills/continuous-learning-v2/hooks/observe.sh"
      }]
    }]
  }
}

2. ディレクトリ構造を初期化する

システムは最初の使用時に自動的にディレクトリを作成しますが、手動で作成することもできます:

# グローバルディレクトリ
mkdir -p "${XDG_DATA_HOME:-$HOME/.local/share}/ecc-homunculus"/{instincts/{personal,inherited},evolved/{agents,skills,commands},projects}

# プロジェクトディレクトリは、フックがgitリポジトリで最初に実行されると自動的に作成されます

3. 本能コマンドを使用する

/instinct-status     # 学習された本能を表示(プロジェクト + グローバル)
/evolve              # 関連する本能をスキル/コマンドにクラスタリング
/instinct-export     # 本能をファイルにエクスポート
/instinct-import     # 他の人から本能をインポート
/promote             # プロジェクト本能をグローバルスコープに昇格
/projects            # 既知のすべてのプロジェクトとその本能数を一覧表示

コマンド

コマンド説明
/instinct-statusすべての本能(プロジェクトスコープ + グローバル)を信頼度とともに表示
/evolve関連する本能をスキル/コマンドにクラスタリングし、昇格候補を提案
/instinct-export本能をエクスポート(スコープ/ドメインでフィルタリング可能)
/instinct-import <file>スコープ制御付きで本能をインポート
/promote [id]プロジェクト本能をグローバルスコープに昇格
/projects既知のすべてのプロジェクトとその本能数を一覧表示

設定

config.json を編集してバックグラウンドオブザーバーを制御します:

{
  "version": "2.1",
  "observer": {
    "enabled": false,
    "run_interval_minutes": 5,
    "min_observations_to_analyze": 20
  }
}
キーデフォルト説明
observer.enabledfalseバックグラウンドオブザーバーエージェントを有効にする
observer.run_interval_minutes5オブザーバーが観測を分析する頻度
observer.min_observations_to_analyze20分析を実行する前に必要な最小観測数

その他の動作(観測キャプチャ、本能しきい値、プロジェクトスコーピング、昇格基準)は、instinct-cli.py と observe.sh のコードデフォルトで設定されています。

オブザーバープラットフォームサポート

バックグラウンドオブザーバーにはWSL2、Linux、またはmacOSが必要です。ネイティブWindows(Git Bash / MSYS2)では、起動して成功を報告しますが、スポーンフックが終了してジョブオブジェクトが閉じられるとプロセスが強制終了されるため、分析は実行されません。そのため、そこで observer.enabled: true を設定することは実質的にノーオペレーションです(問題 #2489 を参照)。

observe.sh は次のフック呼び出しでこれを検出し、オブザーバーが数回連続して存続に失敗した後、observer-start.log に説明の警告を書き込みます。

環境変数デフォルト説明
ECC_OBSERVER_NOSURVIVE_WARN_AFTER3警告が記録されるまでの連続非存続回数

ファイル構造

${XDG_DATA_HOME:-~/.local/share}/ecc-homunculus/
+-- identity.json           # あなたのプロフィール、技術レベル
+-- projects.json           # レジストリ: プロジェクトハッシュ -> 名前/パス/リモート
+-- observations.jsonl      # グローバル観測(フォールバック)
+-- instincts/
|   +-- personal/           # グローバル自動学習本能
|   +-- inherited/          # グローバルインポート本能
+-- evolved/
|   +-- agents/             # グローバル生成エージェント
|   +-- skills/             # グローバル生成スキル
|   +-- commands/           # グローバル生成コマンド
+-- projects/
    +-- a1b2c3d4e5f6/       # プロジェクトハッシュ(git remote 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"関数型スタイルを使用"、"dataclassを優先"
エラーハンドリング戦略project"エラーにResult型を使用"
セキュリティプラクティスglobal"ユーザー入力を検証"、"SQLをサニタイズ"
一般的なベストプラクティスglobal"最初にテストを書く"、"常にエラーを処理する"
ツールワークフローの好みglobal"編集前にGrep"、"書き込み前に読み取り"
Gitプラクティスglobal"Conventional commits"、"小さく焦点を絞ったコミット"

本能の昇格(プロジェクト -> グローバル)

同じ本能が高い信頼度で複数のプロジェクトに現れる場合、それはグローバルスコープへの昇格候補です。

自動昇格基準:

  • 2つ以上のプロジェクトで同じ本能ID
  • 平均信頼度 >= 0.8

昇格方法:

# 特定の本能を昇格
python3 instinct-cli.py promote prefer-explicit-errors

# 条件を満たすすべての本能を自動昇格
python3 instinct-cli.py promote

# 変更なしでプレビュー
python3 instinct-cli.py promote --dry-run

/evolve コマンドも昇格候補を提案します。

信頼度スコアリング

信頼度は時間とともに進化します:

スコア意味動作
0.3暫定的提案されるが強制されない
0.5中程度関連する場合に適用される
0.7強い適用が自動承認される
0.9ほぼ確実中核的な動作

信頼度が上昇する場合:

  • パターンが繰り返し観測される
  • ユーザーが提案された動作を修正しない
  • 他のソースからの類似の本能が一致する

信頼度が低下する場合:

  • ユーザーが明示的に動作を修正する
  • パターンが長期間観測されない
  • 矛盾する証拠が現れる

観測にスキルではなくフックを使用する理由

"v1は観測にスキルに依存していました。スキルは確率的です。Claudeの判断に基づいて、約50〜80%の確率でしか発火しません。"

フックは100%の確率で、決定論的に発火します。つまり:

  • すべてのツール呼び出しが観測される
  • パターンが見逃されることはない
  • 学習は包括的である

後方互換性

v2.1はv2.0およびv1と完全に互換性があります:

  • 既存のグローバル本能は scripts/migrate-homunculus.sh で ~/.claude/homunculus/instincts/ から移行できます
  • v1の既存の ~/.claude/skills/learned/ スキルは引き続き動作します
  • Stopフックは引き続き実行されます(ただし、現在はv2にもフィードされます)
  • 段階的な移行: 両方を並行して実行

プライバシー

  • 観測はあなたのマシンにローカルに留まります
  • プロジェクトスコープの本能はプロジェクトごとに分離されています
  • 本能(パターン)のみエクスポート可能です — 生の観測はエクスポートできません
  • 実際のコードや会話の内容は共有されません
  • エクスポートおよび昇格するものをあなたが制御できます

関連情報

  • ECC-Tools GitHub App - リポジトリ履歴から本能を生成
  • Homunculus - v2の本能ベースアーキテクチャ(原子観測、信頼度スコアリング、本能進化パイプライン)に影響を与えたコミュニティプロジェクト
  • The Longform Guide - 継続的学習セクション

本能ベースの学習: あなたのパターンをClaudeに教える、一度に1プロジェクトずつ。

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

accessibility

Design, implement, and audit inclusive digital products using WCAG 2.2 Level AA. Use when building or auditing UI that must meet WCAG 2.2 Level AA, or when reviewing a change for keyboard, contrast, or screen-reader support.

affaan-m/content-engine

Create platform-native content systems for X, LinkedIn, TikTok, YouTube, newsletters, and repurposed multi-platform campaigns. Use when the user wants social posts, threads, scripts, content calendars, or one source asset adapted cleanly across platforms.

affaan-m/ECC

Multi-platform content distribution across X, LinkedIn, Threads, and Bluesky. Adapts content per platform using content-engine patterns. Never posts identical content cross-platform. Use when the user wants to distribute content across social platforms.

affaan-m/fal-ai-media

Unified media generation via fal.ai MCP — image, video, and audio. Covers text-to-image (Nano Banana), text/image-to-video (Seedance, Kling, Veo 3), text-to-speech (CSM-1B), and video-to-audio (ThinkSound). Use when the user wants to generate images, videos, or audio with AI.

affaan-m/manim-video

日本語翻訳:このファイルは manim-video 用の日本語翻訳が必要です

affaan-m/remotion-video-creation

Remotion のベストプラクティス - React で動画を作成する。3D、アニメーション、音声、字幕、チャート、トランジションなどをカバーするドメイン固有の29のルール。

affaan-m/video-editing

AI-assisted video editing workflows for cutting, structuring, and augmenting real footage. Covers the full pipeline from raw capture through FFmpeg, Remotion, ElevenLabs, fal.ai, and final polish in Descript or CapCut. Use when the user wants to edit video, cut footage, create vlogs, or build video content.

agent-architecture-audit

Full-stack diagnostic for agent and LLM applications. Audits the 12-layer agent stack for wrapper regression, memory pollution, tool discipline failures, hidden repair loops, and rendering corruption. Produces severity-ranked findings with code-first fixes. Essential for developers building agent applications, autonomous loops, or any LLM-powered feature. Use when an agent or LLM feature misbehaves and the failing layer is unknown, or before shipping an agent stack.

agent-eval

Head-to-head comparison of coding agents (Claude Code, Aider, Codex, etc.) on custom tasks with pass rate, cost, time, and consistency metrics. Use when choosing between coding agents, or when a change to an agent setup needs measured pass rate, cost, and time rather than an impression.

agent-harness-construction

Design and optimize AI agent action spaces, tool definitions, and observation formatting for higher completion rates. Use when defining or revising an agent

agentic-engineering

Operate as an agentic engineer using eval-first execution, decomposition, and cost-aware model routing. Use when planning or executing engineering work that agents will carry out end to end.

agentic-os

Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.

agent-introspection-debugging

Structured self-debugging workflow for AI agent failures using capture, diagnosis, contained recovery, and introspection reports. Use when an agent run fails and you need a reproducible diagnosis instead of a retry.

agent-payment-x402

Add x402 payment execution to AI agents with per-task budgets, spending controls, and non-custodial wallets. Supports Base through agentwallet-sdk and X Layer through OKX Payments / OKX Agent Payments Protocol. Use when an agent must pay for something itself and needs per-task budgets, spending controls, and a non-custodial wallet.

agent-self-evaluation

Use after completing any non-trivial task. The agent self-rates its output on 5 axes — accuracy, completeness, clarity, actionability, conciseness — with concrete evidence per criterion. Produces a structured 1-5 scorecard with specific improvement suggestions.

agent-sort

Build an evidence-backed ECC install plan for a specific repo by sorting skills, commands, rules, hooks, and extras into DAILY vs LIBRARY buckets using parallel repo-aware review passes. Use when ECC should be trimmed to what a project actually needs instead of loading the full bundle.

ai-first-engineering

Engineering operating model for teams where AI agents generate a large share of implementation output. Use when setting team process, review gates, or ownership rules for a codebase largely written by agents.

ai-regression-testing

Regression testing strategies for AI-assisted development. Sandbox-mode API testing without database dependencies, automated bug-check workflows, and patterns to catch AI blind spots where the same model writes and reviews code. Use when adding regression coverage to AI-assisted code, or when the same model both wrote and reviewed a change.

android-clean-architecture

Clean Architecture patterns for Android and Kotlin Multiplatform projects — module structure, dependency rules, UseCases, Repositories, and data layer patterns. Use when structuring modules, layers, or data flow in an Android or KMP project.

angular-developer

Generates Angular code and provides architectural guidance. Trigger when creating projects, components, or services, or for best practices on reactivity (signals, linkedSignal, resource), forms, dependency injection, routing, SSR, accessibility (ARIA), animations, styling (component styles, Tailwind CSS), testing, or CLI tooling.

関連スキル