HUNT
AI

HUNT

Gin/GoNext.js/TypeScriptAzure OpenAIQdrant

SOLVING THE
SILENT INVENTORY PARADOX

従来の統計モデルでは、元となる莫大なデータが必要でした。しかし、中小規模な現場ではデータを管理できていないことがあります。 HUNTは、多変量異常検知とLLMによる因果推論を融合。そこにベテラン社員との対話を取り込み、データと現場の文脈をつなぎ、在庫最適化のミッシング・リンクを解消します。

ROLE

Solo Developer

TIMELINE

3 Months

STATUS

Pilot Deployment

Deployed at 100+ Employee Mfg.

INTELLIGENT WORKFLOW

01. Data Ingestion

ユーザーはCSVファイルをアップロードするだけです。システムが異なるフォーマットを統一スキーマへ自動正規化し、日次・週次といった時間粒度も自動判定します。煩雑なデータ前処理を人間が行う必要はありません。

02. Anomaly Detection

HUNTの検知エンジンがバックグラウンドでデータを監視します。単純な閾値判定(3シグマ法)に加え、システムはSTL分解やIsolation Forestといった統計手法を用いて、人間では気づけない「多変量の相関異常」を自動的に特定します。

03. Interactive Learning

「なぜ異常が起きたのか?」システムは過去の類似事例から複数の選択肢を生成し、担当者に質問します。ユーザーが選んだ回答は即座にベクトル化され、ナレッジベースに蓄積。この対話サイクルを繰り返すことで、AIは現場固有の文脈を学習し続けます。

04. Optimization

分析が完了すると、システムは最新の予測に基づいて「適正在庫レベル」を自動計算します。担当者はその推奨値を確認し、発注ボタンを押すだけです。データ分析から意思決定までのサイクルが、迷いなく完結します。

CORE ARCHITECTURE

HUNTは、既存の基幹システム(ERP)や業務アプリにシームレスに統合できるAPIベースのソリューションです。 売上データに加え、気象情報・経済指標・SNSトレンドなど、任意の外部時系列データを柔軟に取り込み、複合的な需要予測を実現します。

Data Input
External Data
CSV / Time-Series
Frontend
Client System
ERP / Business App
Backend
API Gateway
Go / Gin Framework
Business Logic
Services & Handlers
External
Azure OpenAI
LLM Inference
Qdrant
Vector DB

ALGORITHM: MULTI-LAYERED DETECTION

HUNTは多層的な異常検知を行った後、システムが「なぜこの異常が起きたのか?」を問いかけます。 現場担当者が選択肢から原因を選ぶ対話を通じて、AIは統計モデルだけでは捉えられない文脈を学習し、予測精度を継続的に向上させます。

  • 01
    Statistical Layer (Z-Score)移動平均からの乖離を計算し、統計的に明らかな外れ値を高速にフィルタリングする「計算資源」による一次検知。
  • 02
    Multivariate Layer (Mahalanobis)売上データに加え、気温・曜日・経済指標など任意の外部時系列データとの相関(マハラノビス距離)を分析。データソースを柔軟に追加でき、構造的な異常を特定します。
  • 03
    Interactive Learning (Human-in-the-Loop)異常検知後、システムが「近隣店舗のイベント」「天候の変化」などの選択肢を提示。担当者が選んだ回答をベクトル化し、次回の予測に反映します。
  • 04
    Causal Explanation (LLM)蓄積された対話履歴をもとに、LLMが「前回の類似ケースでは〇〇が原因でした」といった文脈ある説明を自動生成します。
go
func DetectAndLearn( // sample code
sales []Record,
externalData map[string][]float64,
) Result {
// 1. Statistical Detection
base := movingAvg(sales)
z := (sales[last].Qty - base.Mean) / base.StdDev
// 2. Multivariate Analysis
feats := []float64{sales[last].Qty}
for key, values := range externalData {
if len(values) > 0 {
feats = append(feats, values[last])
}
}
dist := mahalanobis(feats, history)
// 3. Anomaly Detected → Generate Questions
if z > 3.0 || dist > threshold {
choices := generateChoices(sales, history)
userAnswer := askUser(choices)
// 4. Learn from Dialogue
storeKnowledge(sales, userAnswer)
return Result{
IsAnomaly: true,
Reason: explainWithHistory(sales, userAnswer),
}
}
return Result{IsAnomaly: false}
}

BEYOND THE BITTER LESSON

リッチ・サットンは「長期的には計算量が常に人間に勝利する(The Bitter Lesson)」と説きました。 しかし、計算資源だけでは突破できない「4つの壁」が存在する製造現場において、HUNTは対話を通じた継続学習という第三の道を選びました。

01Small Data & Cold Start

「膨大なデータ」がない初期フェーズでも、異常が起きるたびに対話が発生します。 「なぜこの異常が起きたか?」という質問と回答を蓄積することで、計算量が勝つまでの「長い助走期間」を対話で補完します。

02Grounding Reality

「近隣店舗の改装」「地域イベント」など、データ化されていない外部要因も、異常検知後の質問を通じてシステムに記録されます。 人間を現実世界へのセンサーとして機能させ、統計モデルだけでは見えない文脈を継続的に学習します。

03Explainability as Currency

現場で重要なのはスコアではなく、「その予測を信じて在庫を動かせるか」という意思決定のコストです。 HUNTは「Why(根拠)」を提示することで、アルゴリズムを実際のアクションに変換するための「納得感」を提供します。

04Knowledge Accumulation

異常が起きるたびに蓄積される対話履歴が、ベテランの暗黙知を「ベクトル」として構造化します。 HUNTは使うほど賢くなり、やがて人間が介入しなくても原因を推定できるレベルへと成長します。