Agent-almanac learn

install
source · Clone the upstream repo
git clone https://github.com/pjt222/agent-almanac
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/pjt222/agent-almanac "$T" && mkdir -p ~/.claude/skills && cp -r "$T/i18n/ja/skills/learn" ~/.claude/skills/pjt222-agent-almanac-learn-ce0ac3 && rm -rf "$T"
manifest: i18n/ja/skills/learn/SKILL.md
source content

学習

構造化された知識獲得セッションを実施する — 未知の領域を調査し、初期モデルを構築し、意図的な探索を通じてそれらをテストし、発見を整合的な理解に統合し、永続的な検索のために統合する。

使用タイミング

  • 事前のコンテキストなしに未知のコードベース、フレームワーク、またはドメインに遭遇した時
  • ユーザーが現在の作業知識の外のトピックについて質問し、回答に想起ではなく真の調査が必要な時
  • 矛盾する複数のソースまたはパターンが存在し、整合的なメンタルモデルをゼロから構築する必要がある時
  • remote-viewing
    が直感的なリードを浮上させた後、体系的な検証が必要な時
  • トピックを
    teach
    する準備として — AIはまずそれを説明できるほど深く理解しなければならない

入力

  • 必須: 学習対象 — 理解すべきトピック、コードベース領域、API、ドメイン概念、または技術
  • 任意: スコープ境界 — どこまで深く行くか(表面調査 vs. 深い専門性)
  • 任意: ユーザーの目的 — なぜこの知識が重要か(どの側面を優先すべきかをガイドする)
  • 任意: 既知の出発点 — すでに馴染みのあるファイル、ドキュメント、または概念

手順

ステップ1: 調査 — 領域をマッピングする

何かを理解しようとする前に、何が存在するかを特定するために景観をマッピングする。

Learning Modality Selection:
┌──────────────────┬──────────────────────────┬──────────────────────────┐
│ Territory Type   │ Primary Modality         │ Tool Pattern             │
├──────────────────┼──────────────────────────┼──────────────────────────┤
│ Codebase         │ Structural mapping —     │ Glob for file tree,      │
│                  │ find entry points, core  │ Grep for exports/imports,│
│                  │ modules, boundaries      │ Read for key files       │
├──────────────────┼──────────────────────────┼──────────────────────────┤
│ API / Library    │ Interface mapping —      │ WebFetch for docs,       │
│                  │ find public surface,     │ Read for examples,       │
│                  │ types, configuration     │ Grep for usage patterns  │
├──────────────────┼──────────────────────────┼──────────────────────────┤
│ Domain concept   │ Ontology mapping —       │ WebSearch for overviews,  │
│                  │ find core terms,         │ WebFetch for definitions,│
│                  │ relationships, debates   │ Read for local notes     │
├──────────────────┼──────────────────────────┼──────────────────────────┤
│ User's context   │ Conversational mapping   │ Read conversation,       │
│                  │ — find stated goals,     │ Read MEMORY.md,          │
│                  │ preferences, constraints │ Read CLAUDE.md           │
└──────────────────┴──────────────────────────┴──────────────────────────┘
  1. 領域の種類を特定し、主要なモダリティを選択する
  2. 広範なスキャンを実行する — 深く読むのではなく、ランドマーク(主要なファイル、エントリーポイント、核心概念)を特定する
  3. 境界に注目する: 何がスコープ内か、何が隣接しているか、何がスコープ外か
  4. ギャップを特定する: 重要に見えるが表面からは不透明な領域
  5. 大まかなマップを作成する: 主要なコンポーネントとその見かけの関係をリスト化する

期待結果: 5-15のランドマークが特定された領域の骨格的なマップ。表面からどの領域が明確でどの領域がより深い調査を必要とするかの感覚。まだ理解はない — ただのマップ。

失敗時: 領域が大きすぎて調査できない場合、すぐにスコープを絞る。「ユーザーの目的に役立つために最低限理解する必要があるものは何か?」と尋ねる。明確なエントリーポイントがない場合、出力(このシステムは何を生成するか?)から始めて逆にたどる。

ステップ2: 仮説化 — 初期モデルの構築

調査から、システムがどのように動作するかについての初期仮説を構築する。

  1. 領域の構造または動作について2-3の仮説を定式化する
  2. 各仮説を明確に述べる:「Yを観察したので、Xだと考える」
  3. 各仮説について、何がそれを確認し何が反論するかを特定する
  4. 仮説を確信度でランク付けする: どれが最もサポートされているか、どれが最も不安定か
  5. 最初にテストする最高価値の仮説を特定する(確認された場合、最も理解を解放するもの)

期待結果: 具体的で反証可能な仮説 — 漠然とした印象ではない。各仮説にはそれを確認または反論するテストがある。仮説は全体として領域の最も重要な側面をカバーする。

失敗時: 仮説が形成されない場合、調査が浅すぎた — ステップ1に戻って2-3のランドマークを深く読む。すべての仮説が同程度に不確実な場合、最も単純なもの(オッカムの剃刀)から始めてそこから構築する。

ステップ3: 探索 — プローブとテスト

対象を絞った調査を通じて各仮説を体系的にテストする。

  1. 最高優先の仮説を選択する
  2. 最小限のプローブを設計する: それを確認または反論する最小の調査は何か?
  3. プローブを実行する(ファイルを読む、パターンを検索する、仮定をテストする)
  4. 結果を記録する: 確認、反論、または修正
  5. 反論された場合、新しい証拠に基づいて仮説を更新する
  6. 確認された場合、より深くプローブする: 仮説は端でも成立するか、中心でのみか?
  7. 次の仮説に移動して繰り返す

期待結果: 少なくとも1つの仮説が結論までテストされること。メンタルモデルが形を取り始めている — いくつかの部分が確認され、いくつかが修正された。驚きは特に価値のあるデータとして注目される。

失敗時: プローブが一貫して曖昧な結果を生む場合、仮説が間違ったことをテストしている可能性がある。一歩退いて尋ねる:「このシステムを理解している人は最も重要な事実として何を考えるか?」代わりにそれをプローブする。

ステップ4: 統合 — メンタルモデルの構築

発見をピースを接続する整合的なモデルに合成する。

  1. すべての確認された仮説と修正されたモデルをレビューする
  2. 中心的な組織原理を特定する: すべてが接続する「背骨」は何か?
  3. 関係をマッピングする: どのコンポーネントがどれに依存するか?何がどこに流れるか?
  4. 驚くべき発見を特定する — これらはしばしば最も深い洞察を含む
  5. 領域の異なる部分にわたって繰り返されるパターンを探す
  6. 動作を予測できるメンタルモデルを構築する:「入力Xが与えられると、ZだからYを期待する」

期待結果: 領域の構造を説明しその動作を予測する整合的なメンタルモデル。モデルは3-5文で表現可能で、漠然とした一般化ではなく具体的な主張をすべきである。

失敗時: ピースが整合的なモデルに統合されない場合、以前の仮説の1つに根本的な誤解がある可能性がある。合わないピースを特定して再テストする。あるいは、領域が本当に一貫性がない可能性がある(設計の悪いシステムは存在する)— 一貫性を強制するのではなく、これを発見として注記する。

ステップ5: 検証 — 理解への挑戦

予測を行いそれを確認することでメンタルモデルをテストする。

  1. モデルを使用して領域について3つの具体的な予測を行う
  2. 各予測を調査を通じてテストする(正しいと仮定するのではなく)
  3. 確認された予測ごとに信頼度が増す
  4. 反論された予測ごとに、モデルのどこが間違っているかを特定して修正する
  5. エッジケースを特定する: モデルは境界で成立するか、崩壊するか?
  6. 「何が驚きになるか?」と尋ねる — そしてその驚きが可能かどうかを確認する

期待結果: メンタルモデルが3つの予測テストのうち少なくとも2つを生き残ること。崩壊した場所では失敗が理解されモデルが修正される。モデルには確認された強みと既知の限界の両方がある。

失敗時: ほとんどの予測が失敗する場合、メンタルモデルに根本的な欠陥がある。これは実際には価値のある情報である — 領域が予想と異なる方法で動作することを意味する。新しい証拠を持ってステップ2に戻り、仮説をゼロから再構築する。2回目の試みは間違ったモデルが排除されているためはるかに速い。

ステップ6: 統合 — 検索のための保存

将来の検索と応用を支援する形で学習を捕捉する。

  1. メンタルモデルを3-5文で要約する
  2. 主要なランドマークに注目する — 記憶すべき最も重要な3-5のこと
  3. 忘れられる可能性のある直感に反する発見を記録する
  4. この学習が接続する関連トピックを特定する
  5. 学習が永続的な場合(セッション間で必要になる)、MEMORY.mdを更新する
  6. 学習がセッション固有の場合、現在の会話のコンテキストとして注記する
  7. 何が未知のままかを述べる — 正直なギャップは偽りの自信よりも有用である

期待結果: 本質的な理解を捕捉する簡潔で検索可能な要約。このトピックへの将来の参照はゼロからの再学習ではなく、この要約から始められる。

失敗時: 学習が要約に抵抗する場合、まだ完全に統合されていない可能性がある — ステップ4に戻る。学習が保存する価値がないほど明白に思える場合、今明白に感じることが新鮮なコンテキストでは明白に感じないかもしれないことを考慮する。明白でない部分を保存する。

バリデーション

  • 深い調査の前に調査が実施された(飛び込む前にマッピング)
  • 仮説が明示的に述べられテストされた、仮定されなかった
  • 少なくとも1つの仮説が証拠に基づいて修正された(真の学習を示す)
  • メンタルモデルが領域について具体的でテスト可能な予測を行う
  • 既知の既知とともに既知の未知が特定された
  • 統合された要約が将来の検索に有用なほど簡潔である

よくある落とし穴

  • 調査のスキップ: 景観を理解する前に詳細に飛び込むことは重要でない領域に時間を浪費し全体像を見逃す
  • 反証不可能な仮説:「これはおそらく複雑だ」はテストできない。「このモジュールはcryptoをインポートしているので認証を処理する」はテストできる
  • 探索中の確証バイアス: 初期仮説をサポートする証拠のみを求め、矛盾を無視する
  • 早期の統合: テストされる前にモデルを保存すると、将来の自信過剰な誤った予測につながる
  • 完璧主義: 知識を適用する前にすべてを学ぼうとすること。学習は反復的である — 部分的な理解を使用し、その後洗練する
  • 目的のない学習: 応用を念頭に置かずに知識を獲得すると、焦点の定まらない浅い理解を生む

関連スキル

  • learn-guidance
    — 構造化された学習を通じて人をコーチする人間ガイダンスバリアント
  • teach
    — 学習者に合わせた知識移転; ここで構築されたモデルの上に構築する
  • remote-viewing
    — 体系的な学習で検証するためのリードを浮上させる直感的な探索
  • meditate
    — 新しい学習領域に入る前に以前のコンテキストノイズをクリアする
  • observe
    — 学習に生データを供給する持続的な中立パターン認識