コーディングエージェント(Claude Code、Aider、Codexなど)のカスタムタスクによる直接比較。合格率、コスト、時間、一貫性メトリクスを測定
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
フックを介してセッションを観察し、信頼度スコアリング付きのアトミックなインスティンクトを作成し、それらをスキル/コマンド/エージェントへ進化させるインスティンクトベースの学習システム。v2.1ではプロジェクトスコープのインスティンクトを追加し、プロジェクト間の汚染を防止します。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
Claude Codeのセッションを、アトミックな「インスティンクト」(信頼度スコアリング付きの小さな学習済み行動)を通じて再利用可能な知識に変換する高度な学習システムです。
v2.1 ではプロジェクトスコープのインスティンクトを追加しました — Reactのパターンはあなたのreactプロジェクトに、Pythonの慣例はPythonプロジェクトに留まり、ユニバーサルなパターン(「常に入力をバリデーションする」など)はグローバルに共有されます。
| 機能 | v2.0 | v2.1 |
|---|---|---|
| ストレージ | グローバル (~/.claude/homunculus/) | プロジェクトスコープ (projects/<hash>/) |
| スコープ | すべてのインスティンクトがどこでも適用 | プロジェクトスコープ + グローバル |
| 検出 | なし | git remote URL / リポジトリパス |
| 昇格 | N/A | 2つ以上のプロジェクトで確認された場合にプロジェクト → グローバル |
| コマンド | 4つ (status/evolve/export/import) | 6つ (+promote/projects) |
| プロジェクト間 | 汚染リスクあり | デフォルトで隔離 |
| 機能 | v1 | v2 |
|---|---|---|
| 観察 | Stopフック(セッション終了) | PreToolUse/PostToolUse(100%信頼性) |
| 分析 | メインコンテキスト | バックグラウンドエージェント(Haiku) |
| 粒度 | 完全なスキル | アトミックな「インスティンクト」 |
| 信頼度 | なし | 0.3-0.9の加重 |
| 進化 | スキルへ直接 | インスティンクト -> クラスタ -> スキル/コマンド/エージェント |
| 共有 | なし | インスティンクトのエクスポート/インポート |
インスティンクトとは小さな学習済み行動です:
---
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
プロパティ:
project(デフォルト)または globalSession Activity (in a git repo)
|
| Hooks capture prompts + tool use (100% reliable)
| + detect project context (git remote / repo path)
v
+---------------------------------------------+
| projects/<project-hash>/observations.jsonl |
| (prompts, tool calls, outcomes, project) |
+---------------------------------------------+
|
| Observer agent reads (background, Haiku)
v
+---------------------------------------------+
| PATTERN DETECTION |
| * User corrections -> instinct |
| * Error resolutions -> instinct |
| * Repeated workflows -> instinct |
| * Scope decision: project or global? |
+---------------------------------------------+
|
| Creates/updates
v
+---------------------------------------------+
| projects/<project-hash>/instincts/personal/ |
| * prefer-functional.yaml (0.7) [project] |
| * use-react-hooks.yaml (0.9) [project] |
+---------------------------------------------+
| instincts/personal/ (GLOBAL) |
| * always-validate-input.yaml (0.85) [global]|
| * grep-before-edit.yaml (0.6) [global] |
+---------------------------------------------+
|
| /evolve clusters + /promote
v
+---------------------------------------------+
| projects/<hash>/evolved/ (project-scoped) |
| evolved/ (global) |
| * commands/new-feature.md |
| * skills/testing-workflow.md |
| * agents/refactor-specialist.md |
+---------------------------------------------+
システムは現在のプロジェクトを自動検出します:
CLAUDE_PROJECT_DIR 環境変数(最優先)git remote get-url origin -- ハッシュ化してポータブルなプロジェクトIDを作成(異なるマシン上の同じリポジトリは同じIDを取得)git rev-parse --show-toplevel -- リポジトリパスを使用するフォールバック(マシン固有)各プロジェクトは12文字のハッシュID(例:a1b2c3d4e5f6)を取得します。~/.claude/homunculus/projects.json のレジストリファイルがIDを人間が読める名前にマッピングします。
~/.claude/settings.json に追加します。
プラグインとしてインストールした場合(推奨):
{
"hooks": {
"PreToolUse": [{
"matcher": "*",
"hooks": [{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/skills/continuous-learning-v2/hooks/observe.sh"
}]
}],
"PostToolUse": [{
"matcher": "*",
"hooks": [{
"type": "command",
"command": "${CLAUDE_PLUGIN_ROOT}/skills/continuous-learning-v2/hooks/observe.sh"
}]
}]
}
}
手動で ~/.claude/skills にインストールした場合:
{
"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"
}]
}]
}
}
システムは初回使用時に自動でディレクトリを作成しますが、手動で作成することもできます:
# グローバルディレクトリ
mkdir -p ~/.claude/homunculus/{instincts/{personal,inherited},evolved/{agents,skills,commands},projects}
# プロジェクトディレクトリはフックがgitリポジトリ内で初めて実行された時に自動作成されます
/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.enabled | false | バックグラウンドオブザーバーエージェントを有効化 |
observer.run_interval_minutes | 5 | オブザーバーが観察を分析する頻度 |
observer.min_observations_to_analyze | 20 | 分析が実行される前の最小観察数 |
その他の動作(観察キャプチャ、インスティンクトしきい値、プロジェクトスコーピング、昇格基準)は instinct-cli.py と observe.sh のコードデフォルトで設定されます。
~/.claude/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 Hooksを使用」、「Django RESTパターンに従う」 |
| ファイル構造の好み | project | 「テストは __tests__/ に」、「コンポーネントは src/components/ に」 |
| コードスタイル | project | 「関数型スタイルを使用」、「dataclassesを優先」 |
| エラーハンドリング戦略 | project | 「エラーにResult型を使用」 |
| セキュリティプラクティス | global | 「ユーザー入力をバリデーション」、「SQLをサニタイズ」 |
| 一般的なベストプラクティス | global | 「テストを先に書く」、「常にエラーをハンドリング」 |
| ツールワークフローの好み | global | 「編集前にGrep」、「書き込み前にRead」 |
| Gitプラクティス | global | 「コンベンショナルコミット」、「小さく焦点を絞ったコミット」 |
同じインスティンクトが複数のプロジェクトで高い信頼度で出現する場合、グローバルスコープへの昇格候補となります。
自動昇格基準:
昇格方法:
# 特定のインスティンクトを昇格
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と完全に互換性があります:
~/.claude/homunculus/instincts/ の既存のグローバルインスティンクトはグローバルインスティンクトとして引き続き機能~/.claude/skills/learned/ の既存スキルも引き続き機能インスティンクトベースの学習:Claudeにあなたのパターンを1プロジェクトずつ教えます。
아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
コーディングエージェント(Claude Code、Aider、Codexなど)のカスタムタスクによる直接比較。合格率、コスト、時間、一貫性メトリクスを測定
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
AIエージェントのアクションスペース、ツール定義、オブザベーションフォーマットを設計・最適化し、タスク完了率を向上させる
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
評価ファーストの実行、分解、コスト考慮型モデルルーティングによるエージェンティックエンジニアとしての運用
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
AIエージェントが実装出力の大部分を生成するチームのためのエンジニアリング運用モデル
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
AI支援開発のためのリグレッションテスト戦略。データベース依存なしのサンドボックスモードAPIテスト、自動バグチェックワークフロー、同一モデルがコードの作成とレビューを行う際のAIの盲点を検出するパターン。
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
AndroidおよびKotlin Multiplatformプロジェクトのためのクリーンアーキテクチャパターン — モジュール構成、依存関係ルール、UseCase、Repository、データレイヤーパターン
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.