投稿する

niche-hunter

インターネット上の「悩み」や「不便」といったシグナルを自律的に収集し、小規模ビジネスとして成立するかをAIが検証・実証するマルチエージェントシステムです。 X(Twitter)や知恵袋、M&A市場などからリアルタイムに情報を収集。独自の6軸スコアリングによる事業性評価、LPの自動生成とデプロイ、さらには広告運用を通じたコンバージョン計測までを完全自動で実行します。 単なるアイデア出しに留まらず、実際に市場へ公開して「誰が、いくら払うのか」を実証し、勝ちパターンを学習し続けることで、エンジニアや連続起業家の事業探索コストを大幅に削減します。
zip未取得

Niche Hunter

ニッチ市場の機会を自律的に発見・検証・発信するマルチエージェントパイプライン

インターネット上の「困りごと」を収集し、AIが事業化可能なニッチ機会かどうかを多段階で自動検証。Gate を通過した機会は LP を自動生成・公開し、コンバージョンまで計測します。

---

アーキテクチャ概要

Scout層(収集)→ Evaluator(6軸評価)→ Validator層(多段検証)→ 配信・学習層

Scout層(信号収集)

エージェント収集先手法
Scout-ToCYahoo!知恵袋 / OKWave / はてな匿名ダイアリー / note.comスクレイピング・非公式API
Scout-ToBYahoo!知恵袋 / OKWave(業界×課題クエリ)スクレイピング
Scout-XX (Twitter)X API v2 (Bearer Token)
Scout-MATRANBI / Batonzスクレイピング(M&A市場の実在確認)

Evaluator(6軸スコアリング)

収集機会を以下の重み付きスコアで評価し、Gate1通過分のみ Validator 層へ進む。

軸重み
who(ターゲット明確さ)15%
what(問題の明確さ)15%
why_not_solved(既存解決策の不十分さ)20%
how_solvable(解決可能性)10%
why_now(緊急性)5%
monetizability(収益化可能性)35%

Gate通過条件

Gate条件
Gate1overall ≥ 60 AND (monetizability ≥ 40 OR why_not_solved ≥ 70)
Gate2market_size_confirmed = true かつ revenue_model が空でない
Gate3social_score ≥ 20
Gate4コンバージョン ≥ 1件
Gate5コンバージョン ≥ 2件 かつ reproduce_score ≥ 50

Validator層(多段検証)

エージェント役割モデル
Validator-DeskGPT-4.1内部知識 + Google News RSS + PRtimes RSS による机上検証GPT-4.1
Validator-Socialはてブ / Yahoo!ニュース / note / PRtimes の反応強度を計測Claude Sonnet
Validator-LPLP自動生成 → Vercelデプロイ → コンバージョン計測Claude Sonnet
Validator-ReproduceLP経由コンバージョン2件以上で再現性を確認GPT-4.1

配信・学習層

エージェント役割モデル
NotePublisherPlaywright で note.com に記事投稿(承認フロー付き)Claude Sonnet
OutreachAgent関連ツイートに返信投稿(note URLのみ)Claude Sonnet
XAnnouncernote投稿済み記事を X でアナウンスClaude Haiku
PatternForge通過機会から勝ちパターンを抽出・蓄積Claude Sonnet
MetaLearner全体データを分析し改善提案を生成(6時間ごと)Claude Sonnet
ReportGeneratorGate3通過機会の仮説検証レポートを自動生成Claude Sonnet

---

技術スタック

カテゴリ内容
バックエンドPython 3.11 / Railway(Worker サービス)
ダッシュボードStreamlit / Railway(Web サービス)
データベースSupabase (PostgreSQL)
LP公開Vercel API(自動デプロイ)
LLMOpenAI GPT-4.1 / Anthropic Claude Sonnet 4.6 / Claude Haiku
通知Discord Webhook(notifications / approvals / alerts)
スクレイピングBeautifulSoup4 / Playwright
スケジューラーAPScheduler

---

セットアップ

1. リポジトリをクローン

git clone https://github.com/k-nagamoto/niche-hunter.git
cd niche-hunter
pip install -r requirements.txt

2. 環境変数を設定

.env.example をコピーして .env を作成し、各 API キーを入力します。

cp .env.example .env

必須の環境変数:

# LLM
ANTHROPIC_API_KEY=
OPENAI_API_KEY=

# Supabase
SUPABASE_URL=
SUPABASE_SERVICE_ROLE_KEY=
SUPABASE_ANON_KEY=

# Discord(通知先 Webhook URL)
DISCORD_WEBHOOK_NOTIFICATIONS=
DISCORD_WEBHOOK_APPROVALS=
DISCORD_WEBHOOK_ALERTS=

# Vercel(LP 自動デプロイ)
VERCEL_TOKEN=

オプション(未設定の場合は対応エージェントがスキップ):

# X (Twitter) API — Scout-X / OutreachAgent / XAnnouncer で使用
X_BEARER_TOKEN=
X_API_KEY=
X_API_SECRET=
X_ACCESS_TOKEN=
X_ACCESS_TOKEN_SECRET=

# note.com — NotePublisher で使用
NOTE_EMAIL=
NOTE_PASSWORD=

# Reddit API
REDDIT_CLIENT_ID=
REDDIT_CLIENT_SECRET=

3. Supabase のテーブルを作成

Supabase Dashboard の SQL Editor で以下のテーブルを作成してください。

テーブル用途
opportunities機会本体(current_stage で進捗管理)
evidences収集・検証データ
agent_statesエージェント実行状態・パラメータ
budget_ledgerAPI利用コストの記録
learning_logsMetaLearner の分析ログ
winning_patternsPatternForge の抽出パターン
actionsエージェントのアクション履歴

4. 起動

# スケジューラー(Worker サービス)
python -m src.scheduler

# ダッシュボード(別ターミナル)
streamlit run dashboard/app.py

---

動作モード

SCHEDULER_ENABLED 環境変数でモードを切り替えられます。

値動作
false(デフォルト)Scout・Evaluator はダッシュボードの Run ボタンで手動実行。Validator 以降は自動実行
trueScout・Evaluator も 30 分間隔で自動実行

---

予算管理

API 利用コストは自動管理されます。上限に達すると対象プロバイダーのエージェントが自動停止し、翌日リセット後に再起動します。

プロバイダー日次上限月次上限
Anthropic$3.00$10.00
OpenAI$6.00$20.00

---

ディレクトリ構成

niche-hunter/
├── src/
│   ├── agents/           # 各エージェントの実装
│   ├── scheduler.py      # APScheduler 設定
│   ├── config.py         # 環境変数・定数管理
│   └── business_rules.py # ドメイン知識・判断ルール
├── dashboard/
│   └── app.py            # Streamlit ダッシュボード
├── scripts/              # 補助スクリプト
├── tests/                # テストコード
└── .env.example          # 環境変数テンプレート

---

*2026/4/27 〜 5/20(HOOTL プロジェクト)*