36
50

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Code Skills で「使うほど賢くなる」投資分析AIを作った話 Vol.2【Neo4j × 個人開発】

36
Last updated at Posted at 2026-03-03

📘 この記事はシリーズ第3回です
Vol.1: Claude Code Skills で株スクリーニングを自動化した話
Vol.2: (本記事)Claude Code Skills で「使うほど賢くなる」投資分析AIを作った話
Vol.3: Claude Code Skills × 投資分析 Vol.3 — 処方箋エンジン・逆張り検出・銘柄クラスタリング

前回の記事(Claude Code Skills で株スクリーニングを自動化した話【Python × yfinance × バイブコーディング】)で、Claude Code Skills による投資分析の自動化を紹介した。あれから数ヶ月、システムは「使うほど賢くなる」仕組みへと進化した。本記事ではその仕組みと、個人開発で得た設計判断を共有する。


前回の記事で解決したこと、しなかったこと

前回、Web 版 AI の4つの課題(レスポンス・コンテキスト消失・再現性・処理量)を Claude Code Skills で解決した。分析ロジックをスクリプトに固定し、Yahoo Finance のデータで統一的にスクリーニングする。これで「毎回同じ基準で銘柄を探せる」状態は作れた。

しかし、分析結果の蓄積と活用は解決できていなかった。

先週スクリーニングで見つけた銘柄も、先月のヘルスチェック結果も、次のセッションでは忘れている。「トヨタってどう?」と聞くたびにゼロからレポートを生成する。保有銘柄であることも、過去に懸念メモを書いたことも、システムは知らない。

使えば使うほどデータは貯まるのに、それが次の判断に活かされない。 この問題をどう解決したかが、本記事の焦点だ。


システムの全体像

まず全体像を掴んでほしい。ユーザーは日本語で話しかけるだけ。裏側では3つの層が連携している。

ポイントは最下段の矢印だ。Neo4j に蓄積された知識が、次回のスキル実行時に自動でフィードバックされる。これが「使うほど賢くなる」の正体であり、本記事で詳しく解説する部分だ。


知識が自動で貯まって、次の分析に活きる仕組み

解決策のコアは、使うだけで知識が自動循環するループだ。

このループには手動操作が一切ない。ユーザーは普通にシステムを使うだけで、裏側で知識が蓄積され、次回の分析に自動的に反映される。

二重保存:片方が止まっても大丈夫

スキルが実行されるたびに、結果が2箇所に保存される。

  • ファイル保存(メイン): 分析結果を JSON ファイルとして保存。ローカルに残るので消えない
  • Neo4j(グラフDB): 同じデータをグラフデータベースにも同期。銘柄同士の関連や、過去の経緯を検索するために使う

ポイントは、ファイル保存がメインなので Neo4j が止まっていてもデータは必ず残ること。Neo4j はあくまで検索用。この「片方が壊れても動く」設計は後述する。

スクリーニング・レポート・売買・ヘルスチェック・リサーチ・市況・ストレステスト・将来予測――8種類の保存処理が、全スキル実行後に自動で走る。


「任天堂ってどう?」を3回聞いたら何が変わるか

このループが体験をどう変えるか。同じ質問を3回した時の変化を見てほしい。

1回目:初見

🆕 データなし。スキルを実行。

システムは 7974.T(任天堂)について何も知らない。ゼロからレポートを生成する。

PER 24.5 / PBR 4.8 / バリュースコア 58 / 「適正水準、成長性を加味して検討」

ここで裏側では、分析結果がファイルに保存され、Neo4j にもレポートと銘柄の情報が記録されている。ユーザーは何もしていない。

2回目:1週間後

⚡ 最近のデータあり — 差分モードで軽量更新。

## 過去の経緯: 7974.T
- [最近] 3/1 レポート: スコア58, 「適正水準、成長性を加味して検討」
- メモ(投資テーゼ): 「Switchの次世代機でゲーム事業拡大」

同じ「任天堂ってどう?」なのに、出力が違う。前回のレポート結果が自動で表示され、Claude は差分を意識した回答をする。

「前回PER 24.5 → 今回 19.8、低下。次世代機発表後の期待織り込み → 発売前の調整局面か。
 前回のテーゼ『Switchの次世代機でゲーム事業拡大』は引き続き有効。押し目買い検討の余地あり。」

数値を並べるだけでなく、前回との比較コメントが自動で入る。「前回データがあれば必ず差分を示す」というルールをシステムに組み込んでいるからだ。

3回目:3ヶ月後(保有中)

🔄 データが古い — フル再取得。スキルを実行。

## 過去の経緯: 7974.T (保有)
- 保有: 100株 @ 9200円 (2/15購入)
- テーゼ: 「Switchの次世代機でゲーム事業拡大」 (92日前 → レビュー推奨)
- スクリーニング出現: 3回 (alpha, growth-value)
- 懸念メモ: 「次世代機の発売延期リスク」

推奨: ヘルスチェック(テーゼ3ヶ月経過 → レビュー時期)

## 投資の学び
- [7974.T] 新製品発表前に期待買いして高値掴み → 次回はRSI70超で買わない

3ヶ月の間にユーザーが行ったこと――株を買い、投資テーゼを記録し、懸念をメモし、過去の失敗から学んだこと――がすべて自動で文脈に入っている。

Claude は「レポートを出す」のではなく、「ヘルスチェックを先にやりませんか?テーゼから92日経っています」と提案する。RSI(テクニカル指標)が過熱圏なら、過去の学びが自動で警告する。

ユーザーは毎回同じ「任天堂ってどう?」と聞いているだけ。 裏側で蓄積された知識が、回答の質を根本的に変えている。


AIが過去の経緯を自動で思い出す仕組み

この「賢くなる」体験の核心が、自動コンテキスト注入だ。

すべての Claude Code Skills スクリプトの冒頭に、過去の経緯を自動取得する処理が埋め込まれている。スキルが実行されるたびに、Neo4j から過去のレポート・売買・ウォッチリスト・投資メモを検索し、Claude に渡す。

この自動取得は以下の4ステップで行われる:

  1. 銘柄の特定: 「トヨタ」→ 7203.T のようにティッカーシンボルに変換
  2. 過去の経緯を検索: レポート・売買・ウォッチリスト・メモをまとめて取得
  3. データの新しさを判定: 4段階で分類し、再取得が必要か判断
  4. 最適なアクションを提案: 銘柄との関係性に応じた次の行動を推奨

データの新しさで行動を変える

ラベル 条件 AIの行動
新しい 24時間以内 手元のデータだけで回答。再取得しない
最近 7日以内 変わった部分だけ軽く更新
古い 7日超 全データを取り直す
なし データなし ゼロから分析を実行

昨日レポートを出したばかりの銘柄に「どう?」と聞いたら、データを取り直さずに昨日の結果で回答する。これだけで無駄な処理が大幅に減る。

銘柄との関係性でアクションが変わる

あなたとの関係 AIが推奨するアクション 理由
保有している ヘルスチェック 持っている株は診断が優先
投資テーゼが3ヶ月経過 ヘルスチェック + 振り返り 定期的な見直しタイミング
ウォッチリストに入れている レポート + 前回との差分 買い時かの判断材料
スクリーニングに3回以上登場 レポート + 注目フラグ 繰り返し上位 = 構造的に割安の可能性
初めて聞く銘柄 通常のレポート ゼロから調査

同じ「調べて」でも、その銘柄とあなたの関係によって最適なアクションが変わる。

あいまいな質問にも対応

「前に調べた半導体関連の銘柄」のように、銘柄名が含まれないあいまいな質問でも、過去の分析結果からの類似検索で関連する銘柄を見つけ出せる。すべての分析結果に要約文が付いているため、自然な言葉での知識検索が成立する。


失敗を「学び」に変える:Netflixに学んだアプローチ

Netflix は障害やプロジェクトの失敗を「罰する」のではなく、ポストモーテム(振り返り)として記録し、組織全体の学びに変える文化で知られている。「何が起きたか」「なぜ起きたか」「次にどうするか」を構造化して残すことで、同じ失敗を繰り返さない。

投資でも同じことが言える。最も価値のある知識は「過去の失敗から得た教訓」だ。しかし人間の記憶は薄れる。3ヶ月前の反省を、いま目の前のチャンスに活かせるだろうか。

このシステムでは、投資の「学び」をトリガー条件次回アクションのセットで記録できる。

たとえば実際に私が記録した Netflix (NFLX) の学び:

  • 銘柄: NFLX(Netflix)
  • トリガー: 分析過多で機会損失
  • 次回アクション: カタリスト発生 = エントリーシグナル。解消後に新しいバリュエーション条件を追加しない
  • 詳細: ATH(最高値)から-40%で質の高さ(ROE 42.8%、成長 17.6%)を見抜き、Warner撤退というカタリストもポジティブと正しく読んだ。しかし同日に懸念メモ(PER 33x は割高、PER 25-28x まで待つ)を書いて自らブレーキ。結果、株価は上昇し機会損失

この学びは、次回 NFLX を分析するときに自動でコンテキストに表示される。

## 投資lesson
- [NFLX] 分析過多で機会損失 → カタリスト発生=エントリー、追加条件を作らない (2026-02-28)

次に似た状況(質の高い企業が大幅下落 + カタリスト発生)があれば、Claude は「過去の学び: 分析過多で機会損失パターン。カタリスト発生時は追加条件を作らずエントリーを推奨」と警告する。

人間の記憶は薄れるが、システムの記憶は薄れない。 Netflix が障害から学ぶように、投資の失敗パターンをシステムに記録すれば、同じ状況で自動的に想起される。これが「使うほど賢くなる」の具体的な一つの形だ。


外部リサーチにも過去の文脈が効く

知識蓄積の効果は、内部の分析だけでなく 外部のAIリサーチにも波及する。

Grok API(xAI の AI)で銘柄のニュースや市場動向を調べる際、Neo4j から投資家としてのあなたの文脈を抽出して、リサーチの指示に自動で組み込む。

[あなたの投資文脈]
- 現在保有中(20株 @ $97.3、3/3購入)
- 前回レポート: スコア23.8、「割高傾向」
- 購入予定メモ: 50株購入計画あり(3/2時点)
- lesson: 「分析過多で機会損失」「リカバリー株エントリー判断ルール」
→ 上記の文脈以降の変化に焦点を当ててリサーチ...

この文脈があるかないかで、リサーチの焦点が全く変わる。「NFLX について教えて」と「NFLX を保有中で、過去に分析過多で機会損失した反省あり。最新の状況は?」では、返ってくる情報の質が違う。

Grok API を使わない場合は、この文脈注入ごとスキップされ、数値ベースの分析のみで動作する。


なくても動く、あれば賢くなる

このシステムは4つの外部サービスと連携できるが、すべてオプションだ。

サービス あると なくても
Neo4j 知識の蓄積 + 過去の経緯を自動表示 ファイル保存のみ。経緯なしで動作
ベクトル検索 あいまいな質問にも対応 銘柄名での検索のみ
Grok API ニュース・SNS の定性リサーチ 数値ベースの定量分析のみ
Linear アクションアイテムの管理 ファイル保存のみ

最小構成は Python と Yahoo Finance のデータだけ。この構成で全スキルが動作する。

設計原則は「なくても動く、あればもっと賢くなる」。外部サービスとの連携処理にはすべてタイムアウトを設けており、サービスが停止していてもスキル本体の実行を妨げない。

Neo4j を後から追加すれば、その瞬間から知識蓄積が始まる。ベクトル検索を有効にすればあいまいな質問に対応できる。Grok API を設定すれば定性リサーチが追加される。段階的に賢くなる設計だ。


まとめ:知識が複利で効く世界

「使えば使うほど賢くなる」を実現する仕掛けは3つだ。

  1. 自動記録: 手動操作なしで、全スキル実行結果がファイルとグラフDBに蓄積される
  2. 自動注入: 次回のスキル実行時に、過去の知識が自動でAIに渡される。外部リサーチにも投資家としての文脈が注入される
  3. 自動学習: 失敗パターンを「学び」として記録すると、同じ状況で自動警告される

知識は複利で効く。1回目の「任天堂ってどう?」と100回目の「任天堂ってどう?」では、回答の深さが全く違う。保有履歴、売買根拠、過去の失敗、スクリーニングでの出現頻度――すべてが文脈として積み重なり、判断の精度を上げていく。

Web 版の AI ツールが「毎回リセットされる頭のいい他人」だとすれば、このシステムは「あなたの投資判断を覚えている専属アナリスト」だ。

これからは運用フェーズへ

今回の記事で紹介した知識蓄積ループの実装をもって、開発は大枠完了した。8つの Claude Code Skills、15種類のスクリーニング戦略、60地域対応、ナレッジグラフ、Grok 連携、ベクトル検索――必要な部品は揃った。

ここからは運用フェーズに移行する。実際に毎日使いながら、知識グラフを育てて、システムをどんどん賢くしていく。使い込むほどコンテキストが厚くなり、提案の精度が上がっていく。その成長過程こそが、このアーキテクチャの真価だと思っている。

個人ツールとして

正直なところ、ここまで作り込んだものを有料サービスにできないかと考えた。しかし、投資判断に関する出力を提供するサービスは投資助言業に該当する可能性があり、金融商品取引法上の登録が必要になる。個人開発の範囲を超えてしまうため、あくまで個人用のツールとして活用していく方針だ。

ソースコードはオープンにしているので、同じように Claude Code Skills で投資分析環境を作りたい方は自由に参考にしてほしい。

コミュニティへのお願い

「こんなスキルがあると便利」「この分析が欲しい」といったアイデアがあれば、ぜひコメントで教えてほしい。個人ツールとして磨き続けるなかで、汎用的に役立つ機能は積極的に取り込んでいきたい。


ソースコードの全体構成、テスト設計、前回からの機能追加は前回の記事と合わせてご覧ください。

注意: 投資は自己責任です。本システムの出力は投資助言ではありません。ソースコードは技術的な参考としてのみ公開しています。

📘 シリーズ記事
Vol.1: Claude Code Skills で株スクリーニングを自動化した話
Vol.2: (本記事)Claude Code Skills で「使うほど賢くなる」投資分析AIを作った話
Vol.3: Claude Code Skills × 投資分析 Vol.3 — 処方箋エンジン・逆張り検出・銘柄クラスタリング

36
50
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
36
50

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?