CCDD 振り返りサイト

Claude Code Deep Dive — Day 1 & 2

このボットの仕組み

CCDD振り返りエージェントがどのように動いているか

このボットは音声文字起こしデータをもとに、
あの日話した内容をピンポイントで引き出すことができます。
仕組みを「RAG(検索拡張生成)」と言います。

STEP 1

全体フロー

事前準備(一度だけ)」と「質問時(毎回)」の2フェーズで動いています。事前に作ったベクトルDBを質問時に参照する仕組みです

事前準備フェーズ 一度だけ実行
1
音声データ
勉強会の録音
2
文字起こし
全発言をテキスト化
3
チャンク分割
16トピックに分割・メタデータ付与
4
エンベディング生成
Gemini API で3072次元ベクトル化
5
JSONに保存(ベクトルDB)
chunks-with-embeddings.json
参照
質問時フェーズ 毎回実行
1
質問入力
ユーザーが質問を送信
2
質問をベクトル化
Gemini Embedding API(リアルタイム)
3
コサイン類似度で検索
上位3チャンクを選択
4
LLMに渡して生成
Gemini 2.5 Flash で回答作成
5
自然な回答を返す
参照チャンク名・スコア付きで表示
STEP 2

チャンクの構成

1つのチャンク=1つのトピック。以下の6つのフィールドで構成されています

chunks-with-embeddings.json(1チャンクの例)
{
  "id":        "chunk_07",
  "title":     "大前提①:言葉が超重要",
  "category":  "AI基礎",
  "keywords":  ["言葉", "用語", "共通認識", "大前提", ...],
  "content":   "AIを使いこなすための大前提①は「言葉が超重要」...",
  "source":    "CCDD1日目 第1章 AI基礎",
  "embedding": [0.012, -0.034, 0.091, ...]  // 3072次元
}
フィールド 役割 使われ方
id 識別子 チャンクを一意に特定
title トピック名 UI上の「参照チャンク」チップに表示
category 大分類 エンベディング生成時の補助情報
keywords キーワード一覧 Embeddingが失敗した際のフォールバック検索
content 実際の当日内容 LLMに渡す素材。これを元に回答生成
source 出典 どのセッションの内容かを示す
embedding ベクトル(3072次元) セマンティック検索の核。事前計算済みで保存
STEP 3

カテゴリ一覧

16チャンクは9つのカテゴリに分類されています。これがボットの「知識DB」全体です

イントロ 1チャンク
01 CCDD概要・ゴール設定
哲学・背景 1チャンク
02 AIエネルギー無限論・時代背景
事例紹介 3チャンク
03 パクさん・広告自動運転概要 04 広告自動運転の成果・CPA改善 05 広告自動運転のリフレクションループ実装
講師紹介 1チャンク
06 石綿文太さんの自己紹介・実績
AI基礎 2チャンク
07 大前提①:言葉が超重要 08 大前提②:設計が超重要
エージェント構造 4チャンク
09 AIエージェント最小構成(LLM+Tools) 10 AIエージェント拡張7要素 11 エージェンティックループの仕組み 12 Triggerの3種類
LLM・モデル 2チャンク
13 LLMモデル比較と設計思想 14 Claudeモデル使い分け(Opus vs Sonnet)
実践Tips 1チャンク
15 実践Tips(メモリ・Visualize・音声入力)
アクション 1チャンク
16 アクションアイテム・2日目に向けて
STEP 4

検索の流れ(クエリ時)

質問が来てから回答が返るまでの処理ステップ

質問文をベクトル化
Gemini Embedding API(gemini-embedding-001)で質問をリアルタイムにエンベディング。3072次元のベクトルに変換する。
リアルタイム
コサイン類似度を計算
16チャンク全ての事前計算済みembeddingと、質問のembeddingとのコサイン類似度をサーバーで計算。「意味の近さ」を数値化する。
サーバー処理
上位3チャンクを取得
類似度スコアの高い順に上位3チャンクを選択。UIにはチャンク名とスコア(%)が表示される。
Top-K検索
LLMに「当日の内容」として渡す
取得した3チャンクのcontentをシステムプロンプトに追加。LLMは「同じ勉強会に出た仲間」として、この内容を自然な会話で使う。
RAGの核心
自然な回答を生成
Gemini 2.5 Flashが「パクさんが〜って言ってたじゃないですか」「文太さんが例に出してたのが〜」のように、当日の文脈を使って自然に回答する。
Gemini 2.5 Flash
コサイン類似度の例(「リフレクションループとは?」という質問の場合)
広告自動運転のリフレクションループ実装 76.5% 選択
エージェンティックループの仕組み 71.1% 選択
CCDD概要・ゴール設定 63.2% 選択
AIエージェント拡張7要素 51.0% スキップ
大前提①:言葉が超重要 44.3% スキップ
TECH

技術スタック

E
Gemini Embedding
gemini-embedding-001
3072次元ベクトル生成
G
Gemini 2.5 Flash
RAGコンテキストを元に
自然言語で回答生成
C
Cloudflare Pages
サーバーレス関数で
API処理
S
コサイン類似度
クエリと全チャンクの
意味的距離を計算