トレードシステム開発

CLAUDE.md + Skills + Memory — AIに"社内ルール"を教え込む【仕組み編】

2026年2月 • 約9,500字

こんにちは。前回まで、AIに自動でバックテスト(過去データを使った投資戦略の検証)を任せようとして失敗した話と、その概要をお伝えしてきました。今回は、その失敗から学んで構築した「AIに仕事を教え込む仕組み」を具体的に紹介します。

AIを単なる「質問に答えるツール」から「ルールを守って働く同僚」に変える。それがこの仕組みの本質です。

なぜ「ルールブック」が必要なのか

AIは賢いですが、あなたのプロジェクトの「常識」は知りません。毎回同じ説明を繰り返すのは面倒ですし、人間が忘れてしまうこともあります。そこで私は、AIに仕事のルールを教え込む3層構造を作りました。

📚 AIを育てる3層構造

  • CLAUDE.md — プロジェクト全体のルールブック
  • Skills — 特定の作業に特化した専門マニュアル
  • Memory — 過去の失敗や判断を記録した長期記憶

この3つを組み合わせることで、AIは「前回の教訓を覚えていて、ルールに従って、専門的な作業もこなせる」存在になります。

CLAUDE.md — AIへのルールブック

CLAUDE.mdは、プロジェクトのルートディレクトリ(一番上のフォルダ)に置く設定ファイルです。Claude Code(Anthropic社が提供するAI開発ツール)は、起動するたびにこのファイルを読み込んで、プロジェクトのルールを理解します。

新人に渡すマニュアルのようなもの

会社に新人が入ってきたとき、口頭で「これはダメ、あれはこうして」と伝えるより、マニュアルを渡す方が確実ですよね。CLAUDE.mdはまさにそれです。

私のプロジェクトでは、こんなルールを書いています。

具体例:

## API呼び出しのルール
- データ取得APIは data/ フォルダ内のスクリプトのみが呼び出す
- 戦略コードや分析コードから直接APIを叩かない
- 理由:未来情報のリーク防止、コスト管理の一元化

これにより、AIがうっかり「今日の株価を取得してバックテストに使う」といった致命的なミスを防げます。

バグが見つかったら即追記

CLAUDE.mdの素晴らしい点は、「育てられる」ことです。

例えば、ある日AIが設定値をコードに直接書き込んで(ハードコーディング)しまいました。これは後でメンテナンスが大変になるので、すぐにCLAUDE.mdに追記しました。

## 設定管理
- すべての設定はconfig.pyに集約する
- コード内に数値を直接書き込まない
- 変更が必要なときは必ずconfig.pyを編集

次回からAIは同じミスをしません。バグが見つかるたびにルールを追記していけば、CLAUDE.mdは「同じ失敗を繰り返さないプロジェクトの知恵」が蓄積された、生きたドキュメントになります。

自己レビューの強制

私は特に重要なルールとして、「バックテスト結果を出すたびに5項目の自己レビューを実行する」を書いています。

この5項目は、過去に私がやらかした失敗から生まれたチェックリストです。

  • 未来情報が混入していないか
  • データの欠損が結果に影響していないか
  • 手数料とスリッページ(注文のズレ)を考慮しているか
  • 極端なパラメータになっていないか
  • 結果が現実的か(年利1000%とか怪しい数字が出ていないか)

AIはこのリストを毎回確認してくれるので、私が忘れていても大丈夫です。人間のチェックリストと違い、AIは「面倒だから飛ばす」ことがありません。

Skills — AIに専門スキルを教え込む

CLAUDE.mdがプロジェクト全体のルールなら、Skillsは「特定の作業に特化したマニュアル」です。

私は .claude/skills/ というフォルダに、6つのスキルファイルを用意しています。

スキルファイルの例

  • backtest-review.md — バックテスト結果を出すたびに先読みチェック
  • strategy-dev.md — 戦略開発時の制約ルール
  • daily-trading-ops.md — 毎朝の運用ルーティン手順
  • ledger-invariants.md — ポートフォリオ更新時の不変条件チェック
  • multi-ai-review.md — ChatGPTやGeminiへのレビュー依頼を自動準備
  • agent-teams.md — 複数AIエージェントを使う際のルール

Claude Codeは、会話に特定のキーワードが出ると、自動的に該当するスキルを読み込みます。例えば「バックテスト結果を確認して」と言えば、backtest-review.mdが読み込まれて、先ほどの5項目チェックが自動で走ります。

なぜスキルを分けるのか

全部CLAUDE.mdに書いてもいいのですが、それだと巨大になって読みづらくなります。また、AIに渡すコンテキスト(文脈情報)にも上限があるので、必要な情報だけを必要なときに読み込む方が効率的です。

「この作業にはこのマニュアル」と分けることで、AIは的確に専門知識を活用できます。

実際の効果

以前、私が手動で確認していた「ポートフォリオの不変条件」(資産の合計が一致しているか、マイナス残高がないかなど)を、ledger-invariants.mdに書いてAIに任せたところ、チェック漏れがゼロになりました。

人間は疲れていると「まあ大丈夫だろう」と飛ばしてしまいますが、AIは毎回律儀に全項目を確認してくれます。この安心感は大きいです。

Memory — AIの長期記憶

AIは会話をリセットすると、過去のやり取りを忘れてしまいます。これは不便です。毎回「前回こう決めたんだけど」と説明するのは面倒ですし、重要な判断が忘れ去られるリスクもあります。

そこでMEMORY.mdという、AIの「長期記憶ファイル」を作りました。

約108行の知見が蓄積

私のMEMORY.mdには現在、約108行の記録があります。内容は大きく3つに分かれます。

  • 過去のバグと教訓
    「2024年12月、日付処理でタイムゾーンのズレによりデータが1日ずれるバグが発生。以降、タイムゾーンはUTCで統一することに決定」など。
  • 設計の判断理由
    「なぜこのライブラリを採用したのか」「なぜこのフォルダ構成にしたのか」といった、プロジェクトの歴史。
  • 運用のノウハウ
    「月末は取引量が減るので、この戦略は休止する」「この時期はデータプロバイダのメンテナンスがあるから事前にキャッシュする」など。

新しい会話でも過去を引き継ぐ

AIとの会話を新しく始めても、MEMORY.mdを読み込めば過去の教訓を踏まえて開発してくれます。人間が毎回「前回こう決めたよね」と説明する必要がありません。

特に便利なのが、「過去に同じ問題で悩んだとき、どう解決したか」が記録されていることです。バグの再発を防ぐだけでなく、似た問題への対処法も素早く見つかります。

メモリの更新は簡単

何か重要な判断をしたら、「今の話、MEMORY.mdに追記しておいて」と頼むだけです。AIが適切に要約して記録してくれます。

逆に、古くなった情報は「もうこのルールは使わないから削除して」と言えば消してくれます。MEMORY.mdは「育てるドキュメント」なのです。

Agent Teams — AI同士のチーム開発

複雑なタスクを1つのAIに全部やらせるのは無理があります。そこで私は、Claude Codeに複数のAIエージェントを起動させて、チームで作業させる仕組みを導入しました。

役割分担が明確

Agent Teamsでは、AIが以下のような役割に分かれます。

  • リーダー — 全体の計画を立て、メンバーに仕事を割り振り、最終レビューを行う
  • 実装担当 — コードを書く
  • 分析担当 — データを分析してレポートを作る
  • テスト担当 — バグがないか確認する

重要なのは、リーダーはコードを書かないことです。リーダーは計画と委譲とレビューに専念します。

なぜ役割を分けるのか

最初は「リーダーが兼務してもいいだろう」と思い、リーダーにコードも書かせました。結果、大失敗。

リーダーが「自分で書いた方が早い」と判断して、メンバーを使わなくなってしまったのです。そして、1つのAIが全部やろうとして混乱し、ルール違反も続出しました。

そこで、agent-teams.mdに「リーダーはコードを書かない。必ずメンバーに委譲する」と厳格に書いたところ、ちゃんと役割分担されるようになりました。

各メンバーは担当外を変更しない

もう1つ重要なルールが、「各メンバーは担当外のファイルを変更しない」です。

例えば、データ取得担当のAIが戦略コードをいじると、意図しない副作用が起きる可能性があります。チーム開発では「自分の担当領域を守る」ことが大切です。

これもagent-teams.mdに明記することで、AIたちが勝手に越境するのを防いでいます。

実際の運用例

ある日、私が「新しい戦略を3つ開発して、それぞれバックテストして、結果を比較レポートにまとめて」と依頼しました。

すると、リーダーが以下のように動きました。

  • 戦略A担当、戦略B担当、戦略C担当の3つのメンバーを起動
  • 各メンバーに戦略開発を指示
  • バックテスト担当メンバーが3つの戦略をテスト
  • レポート担当が結果を集約して比較表を作成
  • リーダーが全体をレビューして私に報告

これが全て自動で進みました。私はコーヒーを飲んでいるだけで、1時間後には3つの戦略とレポートが完成していました。

マルチAIレビュー

AIが書いたコードは、本当に正しいのでしょうか?

私は「AIの出力を別のAIにチェックさせる」仕組みも導入しています。

ChatGPTやGeminiにもレビューさせる

重要な変更を行ったとき、私はClaude Codeだけでなく、ChatGPTやGoogleのGeminiにもコードをレビューさせます。

そのために、bundle_for_review.shというスクリプトを作りました。これは、プロジェクトの全コードを1つのテキストファイルに結合するスクリプトです。

このファイルをChatGPTやGeminiに貼り付けて、「このコードに問題がないかレビューしてください」と頼むだけ。

実際に改善できたコミット

ある日、Claude Codeが書いたコードをChatGPTにレビューさせたところ、「このループは効率が悪い。こう書いた方が速い」という指摘を受けました。

確かにその通りだったので、改善版を採用しました。このコミット(変更履歴)は、GitHubにも記録されています。

別のAIの視点が入ることで、1つのAIでは見落とす問題に気づけるのです。

AI同士にクロスチェックさせる発想

これは人間の世界でも同じです。同じ人がずっと見ていると、見落としが発生します。別の人に見てもらうと、新しい視点が加わります。

AIも同じで、Claude、ChatGPT、Geminiはそれぞれ得意分野や視点が異なります。だから、重要な判断では複数のAIに意見を聞くのが賢い使い方だと思います。

multi-ai-review.mdには、「どのAIにどんな質問をすると効果的か」といったノウハウも書いてあります。

この仕組みはトレード以外にも使える

ここまで、私の投資プロジェクトを例に説明してきましたが、この仕組みは投資に限りません。

3層構造は汎用的

  • CLAUDE.md — プロジェクトのルール
  • Skills — 特定作業のマニュアル
  • Memory — 過去の判断と教訓

この3層構造は、どんなプロジェクトにも応用できます。

Webアプリ開発の例

例えば、Webアプリを開発しているなら、こんな感じです。

CLAUDE.md

## コーディング規約
- コンポーネントは components/ に配置
- API呼び出しは services/ に集約
- スタイルはTailwind CSSを使用

Skills

  • api-design.md — REST API設計のルール
  • component-dev.md — Reactコンポーネント開発のベストプラクティス
  • testing.md — テストの書き方

Memory

  • 過去に発生したバグと修正方法
  • なぜこのライブラリを採用したか
  • デプロイ時の注意事項

データ分析の例

データ分析プロジェクトなら、こうなります。

CLAUDE.md

## データ処理のルール
- 元データは絶対に上書きしない
- 処理済みデータは processed/ に保存
- 分析結果は reports/ にMarkdown形式で出力

Skills

  • data-cleaning.md — データクリーニングの手順
  • visualization.md — グラフ作成のルール
  • statistical-test.md — 統計検定の実施方法

Memory

  • 過去の分析で使った手法
  • データの癖(この列は欠損が多い、など)
  • クライアントからのフィードバック

自動化スクリプトの例

日常業務の自動化でも使えます。

CLAUDE.md

## 自動化のルール
- 実行前に必ず確認メッセージを表示
- ログは logs/ に日付付きで保存
- エラー時はSlackに通知

Skills

  • email-processing.md — メール処理の手順
  • file-management.md — ファイル整理のルール
  • notification.md — 通知の送り方

Memory

  • 過去に起きたトラブルと対処法
  • 定期実行のスケジュール
  • 誰にどんな通知を送るか

どの分野でも、「AIに何を守らせたいか」を明文化すれば、同じ仕組みが使えます。

まとめ — AIを「ルールを守る同僚」にする

AIは賢いですが、あなたのプロジェクトの常識は知りません。でも、ルールを教えれば、ちゃんと守ってくれます。

  • CLAUDE.md でプロジェクト全体のルールを教える
  • Skills で専門的な作業のマニュアルを渡す
  • Memory で過去の教訓を記録する
  • Agent Teams で複雑な作業を分業させる
  • マルチAIレビュー で複数の視点を取り入れる

この5つの仕組みを組み合わせることで、AIは「ルールを守って、過去から学んで、チームで働く同僚」になります。

私はこの仕組みを作ってから、AIに任せられる作業が飛躍的に増えました。そして何より、「AIが勝手に暴走する」不安がなくなりました。

ルールを書くのは最初は面倒ですが、一度書けば何度も使えます。バグを見つけるたびに追記していけば、どんどん賢くなっていきます。

あなたも、AIに「新人マニュアル」を渡してみませんか?

きっと、AIとの付き合い方が変わると思います。


シリーズ記事

  • 前回:概要編「AIにバックテストを任せたら大失敗した話」
  • 前々回:失敗編「未来情報リーク、ハードコーディング、そして学んだこと」
  • 今回:仕組み編「CLAUDE.md + Skills + Memory — AIに"社内ルール"を教え込む」

(全3回完結)

📝 ドラフト: AIエージェント(Scribe) / 監修: 筆者
⚠️
【失敗編】AIも見逃した先読みバイアス — 年率63%→31%に半減した話
バックテストで見つかった3つの致命的なバグと、その対策
🧠
1日で5体のエージェントチームを作った話
設定ファイルから失敗例まで全部書く