こんにちは。前回まで、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にルールを教え込む経験はありますか?
感想・質問はこちら → @daisuki_koshian