Skip to content

AI分析パイプライン

Claude API を使用した4段階のAI分析パイプラインです。

パイプライン概要

mermaid
flowchart TD
    A["未分類ブックマーク"] --> S1
    subgraph S1["Stage 1: エンティティ抽出"]
        E1["URL抽出"]
        E2["メンション抽出"]
        E3["ハッシュタグ抽出"]
        E4["ツール/サービス検出"]
    end
    S1 --> S2
    subgraph S2["Stage 2: Vision分析"]
        V1["画像コンテンツ認識"]
        V2["スクリーンショット解析"]
        V3["図表・グラフ読み取り"]
    end
    S2 --> S3
    subgraph S3["Stage 3: セマンティックタグ付け"]
        T1["トピック推定"]
        T2["技術スタック検出"]
        T3["感情分析"]
    end
    S3 --> S4
    subgraph S4["Stage 4: カテゴリ分類"]
        C1["カテゴリ割り当て"]
        C2["信頼度スコア算出"]
        C3["関連ブックマーク検出"]
    end
    S4 --> B["Knowledge レコード作成"]

Stage 1: エンティティ抽出

API 呼び出しなしでツイートの JSON データから構造化情報を抽出します。

抽出対象

エンティティソース
URLentities.urlshttps://github.com/...
メンションentities.user_mentions@openai
ハッシュタグentities.hashtags#LLM
メディアextended_entities.media画像、動画
ツール/サービスURL ドメインマッチングGitHub, npm, PyPI

既知ツールドメイン

lib/rawjson-extractor.tsKNOWN_TOOL_DOMAINS で定義されたドメインを検出し、自動的にタグ付けします。

Stage 2: Vision 分析

画像を含むブックマークに対して Claude の Vision 機能で画像内容を解析します。

mermaid
sequenceDiagram
    participant Pipeline
    participant Claude as Claude API (Vision)
    participant DB as SQLite

    Pipeline->>DB: 画像付きブックマークを取得
    DB-->>Pipeline: MediaItem[]
    loop 各画像
        Pipeline->>Claude: 画像 + 解析プロンプト
        Claude-->>Pipeline: 画像の説明・検出情報
    end
    Pipeline->>DB: Vision結果を保存

解析内容

  • スクリーンショットの場合: UI要素、テキスト内容の抽出
  • 図表の場合: データの読み取り、構造の説明
  • コードの場合: 言語の検出、処理内容の要約

Stage 3: セマンティックタグ付け

ツイートテキスト + 抽出エンティティ + Vision結果を統合して、意味的なタグを生成します。

タグ生成プロンプト

Claude に以下の情報を渡してタグを生成:

  • ツイートの全文
  • 抽出されたURL・メンション
  • Vision分析結果(画像がある場合)
  • 既存のカテゴリ一覧

出力

json
{
  "tags": ["llm", "rag", "vector-db"],
  "topics": ["AI/ML", "Infrastructure"],
  "sentiment": "positive",
  "actionType": "read_later"
}

Stage 4: カテゴリ分類

最終段階として、すべての情報をもとにカテゴリを割り当てます。

分類ロジック

mermaid
flowchart TD
    Input["タグ + トピック + テキスト"] --> Match{既存カテゴリに\nマッチ?}
    Match -->|Yes| Assign["カテゴリ割り当て\n+ 信頼度スコア"]
    Match -->|No| Suggest["新規カテゴリ提案"]
    Assign --> Related["関連ブックマーク検出"]
    Suggest --> Related
    Related --> Save["Knowledge レコード保存"]

アクションタイプ

action説明
read_later後で読む記事・スレッド
try_tool試すべきツール・サービス
reference参考資料として保存
shareチームに共有すべき情報
archive長期保存

パフォーマンス

指標
処理速度約 2-3 秒/ブックマーク
バッチサイズ10件並列
Vision処理画像1枚あたり約 5秒
全体スループット約 200件/10分