# Clone自動更新フロー — 手順書

## 目的

Claude Codeの過去セッションログから、ユーザーの**判断パターン・価値観・好み・新事実・新知識**を自動抽出し、`clone_dna.md` に反映する。質疑応答（インタビュー）方式の代替。

**設計思想：** ユーザーは時間がない。会話ログという「すでに存在する素材」から自動でクローンを育てる。Pythonスクリプトではなく Agentツール並列実行で実装（API課金0、Maxプラン内）。

---

## 入力

```
~/.claude/projects/-Users-rk-Library-CloudStorage-GoogleDrive-ritsuha1021-gmail-com---------------/*.jsonl
```

各ファイルは1セッション。1行1イベント（JSON）。`type=="user"` のエントリの `message.content` がユーザー発言。

---

## 実行フロー（Jarvisモード時に手動トリガー or 「クローン更新して」で起動）

### Step 1: 処理対象を決定

```bash
# 直近で更新の大きいログから3〜5本選ぶ
ls -t ~/.claude/projects/.../*.jsonl | head -5
```

`.processed_sessions.json` に記録済みのセッションIDは除外する（重複防止）。

### Step 2: サブエージェント並列起動

各セッションに対して `general-purpose` Agentを1つ起動。並列実行（単一メッセージで複数tool_use block）。

**プロンプトテンプレート：**

```
Read this Claude Code session log and extract signals for an "AI clone" of the user (Japanese high school student / aspiring entrepreneur).

File: <絶対パス>

Each line is JSON. Look at type=="user" entries. Ignore tool results, system reminders (`<system-reminder>`, `<command-`), and short commands.

Extract ONLY surprising or non-obvious signals. Output strict JSON only:

{
  "decisions": [{"summary":"...", "reason":"..."}],
  "preferences": ["..."],
  "values": ["..."],
  "facts": ["..."],
  "knowledge": ["..."]
}

Single ```json fenced block. Under 400 words.
```

### Step 3: 統合・重複排除

3〜5エージェントから返ってきたJSONをJarvis自身がマージ。
- 同じ趣旨のものは1つに統合
- すでに `clone_dna.md` に書かれているものは捨てる
- ノイズ（短い指示・一般論）は捨てる

### Step 4: DNA反映ルール

| カテゴリ | 反映先セクション | 方針 |
|---|---|---|
| `decisions` | 学習ログに日付付きで追記 | 全件 |
| `preferences` | 学習ログ／コミュニケーションスタイル | 重要なもののみ |
| `values` | 価値観・譲れないもの に追記 | 既存を上書きしない、新規のみ追加 |
| `facts` | 関係者／現在の知識ベース | 該当セクション更新 |
| `knowledge` | 現在の知識ベース に追記 | カテゴリ別 |

**重要な原則：**
- 既存セクションは破壊しない（Editで追記）
- 学習ログがDNA成長の本体。**迷ったら学習ログに入れる**
- 撤退・中止など**事実誤認になる古い情報は更新する**（例：PitchLab→撤退済）
- 日付は必ず絶対日付で記録（「Thursday」「来週」は禁止）

### Step 5: 処理済み記録

`.processed_sessions.json` に処理したセッションIDと処理日時を追記：

```json
{
  "processed": [
    {"session_id": "3b7ab6dc-...", "processed_at": "2026-05-01T22:50:00Z", "cycle": 1},
    {"session_id": "497fb4aa-...", "processed_at": "2026-05-01T22:50:00Z", "cycle": 1}
  ]
}
```

### Step 6: 学習ログ末尾に「サイクルNo + 処理日時 + 処理セッション数」を記録

これで次回も再現可能。

---

## 起動コマンド（将来）

将来的にスラッシュコマンド `/clone-update` または cron + `claude -p "クローン更新して"` で全自動化する。

現状は **Jarvisモードで「クローン更新」と言われたら、この手順書を読んで Step1〜6 を実行**。

---

## トラブル対応

- ログが大きすぎる場合：エージェントに「最後の50往復だけ見て」と指示
- 抽出結果がノイズだらけ：プロンプトに「surprising/non-obvious only」を強調
- 同じ事実が何度も出てくる：すでにDNAにある旨をプロンプトで先に伝える

---

*作成：2026-05-01（第1サイクル実行と同日）*
