Sider.ai
  • チャット
  • Wisebase
  • ツール
  • 拡大
  • クライアント
  • 価格設定
ダウンロード中
ログイン

Siderで、より速く学び、より深く考え、より賢く成長しましょう。

製品
アプリ
  • 拡張機能
  • iOS
  • Android
  • Mac OS
  • Windows
Wisebase
  • Wisebase
  • Deep Research
  • Scholar Research
  • Math Solver
  • Rec NoteNew
  • Audio To Text
  • Gamified Learning
  • Interactive Reading
  • ChatPDF
ツール
  • ウェブクリエイターNew
  • AIスライドNew
  • AIエッセイライター
  • Nano Banana Pro
  • Nano Banana Infographic
  • AI画像生成器
  • イタリアン・ブレインロット・ジェネレーター
  • 背景リムーバー
  • 背景チェンジャー
  • フォトイレーサー
  • テキストリムーバー
  • インペイント
  • 画像アップスケーラー
  • 作成する
  • AI翻訳者
  • 画像翻訳者
  • PDF翻訳者
Sider
  • お問い合わせ
  • ヘルプセンター
  • ダウンロード
  • 価格設定
  • 教育プラン
  • 新着情報
  • ブログ
  • コミュニティ
  • パートナー
  • アフィリエイト
  • 招待する
©2026 全著作権所有
利用規約
プライバシーポリシー
  • ホームページ
  • ブログ
  • AIツール
  • ステップバイステップ:Claude CodeでYouTubeリサーチエージェントを構築する

ステップバイステップ:Claude CodeでYouTubeリサーチエージェントを構築する

更新日: 2025年9月19日

8 分


ステップバイステップ: Claude Code で YouTube リサーチエージェントを構築する

YouTube を見続けて午後を無駄にし、保存する価値のある動画を忘れてしまった経験はありませんか? それはあなただけではありません。最高の動画を見つけ、要約を抽出し、重要な引用を抜き出し、タイムスタンプ付きの洞察を抽出し、オンデマンドでソースを返す、疲れを知らないアシスタントを想像してみてください。それがまさに YouTube リサーチエージェントができることです。このステップバイステップガイドでは、ノイズよりもシグナルを求めるクリエイター、アナリスト、学生、熱心な学習者向けに設計された、Claude Code を使用した実用的な YouTube リサーチエージェントを構築します。
実用的かつ直接的な方法(アーキテクチャ、コード、プロンプト、ガードレール)を取ります。その過程で、後で交換できる独自の選択を行います。最終的には、YouTube を検索し、トランスクリプトを収集し、複数の動画にわたって推論し、明確なリサーチブリーフを作成できる、動作するエージェントが完成します。

構築するもの(とその重要性)

  • 目標: 次のことができる YouTube リサーチエージェント:
  • クエリで YouTube を検索
  • 関連性/エンゲージメントで結果をランク付け
  • トランスクリプトを取得(自動キャプションまたはサードパーティ)
  • チャンク化して、検索のためにコンテンツを埋め込む
  • Claude Code を使用して、複数動画からの洞察を統合
  • 構造化されたメモを出力: 要約、主張、タイムスタンプ、引用、参考文献
  • 主なキーワード: "Claude Code で YouTube リサーチエージェントを構築する"
  • 形式: 実行可能なコードとプロンプトを含むステップバイステップのチュートリアル
  • 出力: プログラムで使用するための Markdown リサーチブリーフ + JSON
なぜ重要なのか: YouTube は、講演、レッスン、デモ、討論に関する最大の公開ナレッジベースです。しかし、ノイズが多いのも事実です。Claude Code で YouTube リサーチエージェントを構築すると、優位性が得られます。数時間ではなく数分で、数十本の動画から洞察を集約できます。

アーキテクチャの概要

最初のバージョンはシンプルかつ堅牢に保ちます。
  • 入力: リサーチクエリ (例: "LLM エージェントアーキテクチャ 2025")、オプションの制約 (日付範囲、チャンネル、期間)
  • YouTube 検索: YouTube Data API v3 (または SerpAPI フォールバック)
  • トランスクリプト: YouTube Transcript API。利用できない場合は ASR (例: Whisper) にフォールバック
  • チャンク化: 文単位のセグメンテーション (約 800〜1,200 トークン)
  • 埋め込み: ローカルまたはホストされている埋め込みモデルを使用 (例: text-embedding-3-large, nomic-embed-text, または bge-large)
  • ベクターストア: 速度のためにローカルの FAISS。 Pinecone, Weaviate, または Qdrant に交換可能
  • 推論: 制御されたループ内でのオーケストレーション、ツール使用、合成、およびコード実行のための Claude Code
  • 出力: 引用、タイムスタンプ、およびスコアを含む Markdown レポート + JSON インデックス
データフロー: クエリ → 検索 → メタデータの取得 → トランスクリプト → チャンク → 埋め込み → 上位 K 件の検索 → Claude Code 合成 → レポート。

前提条件とセットアップ

  • Python 3.10+
  • API キー: YOUTUBE_API_KEY, ANTHROPIC_API_KEY (Claude Code 用)
  • オプション: OPENAI_API_KEY またはローカル埋め込み
  • ライブラリ:
  • google-api-python-client, youtube-transcript-api
  • faiss-cpu, numpy, pandas, tiktoken (または sentencepiece)
  • requests, pydantic, tenacity
  • anthropic (Claude API)
pip install google-api-python-client youtube-transcript-api faiss-cpu numpy pandas requests pydantic tenacity anthropic tiktoken
環境変数:
export YOUTUBE_API_KEY=YOUR_YT_KEY
export ANTHROPIC_API_KEY=YOUR_ANTHROPIC_KEY

ステップ 1: フィルタを使用した YouTube 検索

YouTube を検索し、構造化されたメタデータ(タイトル、チャンネル、公開日、期間、視聴回数 (利用可能な場合)、および videoId)を返します。
# file: yt_search.py
from googleapiclient.discovery import build
import os
YOUTUBE_API_KEY = os.environ — channel, date\n\n"
"---\n"
"JSON schema: {\"claims\":[{\"claim\":str,\"support\":[{\"video_id\":str,\"start\":float,\"end\":float}]}]}\n"
)
def call_claude(goal: str, passages: list[dict]):
passages_str = "\n\n".join(
f"[rank {p['rank']} | score {p['score']:.3f}] (vID={p.get('video_id','?')}, {p.get('start',0):.1f}-{p.get('end',0):.1f})\n{p['text']}"
for p in passages
)
msg = client.messages.create(
model="claude-3-5-sonnet-20240620",
max_tokens=1800,
temperature=0.2,
system=SYSTEM_PROMPT,
messages=[
{"role": "user", "content": USER_TEMPLATE.format(goal=goal, passages=passages_str)}
])
return msg.content[0].text
Claude Code で YouTube リサーチエージェントを構築する際のプロンプトのヒント:
  • 人間が読める形式と機械が読める形式の両方で構造化された出力を要求する
  • タイムスタンプ付きの引用を強制する
  • 不確実性の開示と矛盾を促す

ステップ 6: すべてをまとめる

クエリ → 検索 → トランスクリプト → チャンク → 埋め込み → 検索 → 合成を接続しましょう。
# file: run_agent.py
from yt_search import search_youtube
from transcripts import fetch_transcript
from chunking import transcript_to_docs
from embeddings import VectorStore
from orchestrator import call_claude
from datetime import datetime
def build_corpus(query: str, max_videos=8):
results = search_youtube(query, max_results=max_videos)
corpus_docs = []
for r in results:
tx = fetch_transcript(r["video_id"]) or []
if not tx:
continue
docs = transcript_to_docs(tx)
for d in docs:
d.update({
"video_id": r["video_id"]
"title": r["title"]
"channel": r["channel"]
"url": r["url"]
})
corpus_docs.extend(docs)
return corpus_docs
def research(query: str, k=12):
corpus = build_corpus(query)
if not corpus:
return "No transcripts available."
vs = VectorStore
vs.add(corpus)
passages = vs.search(query, k=k)
md = call_claude(query, passages)
timestamp = datetime.utcnow.isoformat
return f"<!-- generated {timestamp} UTC -->\n\n" + md
if __name__ == "__main__":
print(research("LLM agents for YouTube research"))
Claude Code を使用した YouTube リサーチエージェントのこのベースラインバージョンは、引用を使用して複数動画からの洞察を検索、取得、および合成します。埋め込みをアップグレードし、キャッシュを追加して、本番環境に対応できるようにします。

優れたものにするための 7 つのアップグレード

  1. より良い埋め込みとハイブリッド検索
  • 高品質の埋め込みに交換し、BM25 キーワード検索を追加します。ハイブリッドにより、ニッチな用語でのリコールが向上し、抽象的なトピックでの精度が向上します。
  1. より豊富なメタデータのためのツールを拡張
  • コメント、いいね/低評価の比率、およびチャンネルの権限を取得します。上位 100 件の候補に対して、再ランカー(クロスエンコーダー)を追加します。
  1. 複数ターンのリサーチ計画
  • Claude Code を使用して、リサーチ計画を提案します。サブ質問、仮説、およびカバレッジチェック。カバレッジのしきい値が満たされるまで反復的に実行します。
  1. 証拠の追跡と反証
  • 各主張について、支持および矛盾するスニペットをログに記録します。両方をレポートに表示します。信頼スコアを追加します。
  1. 長編動画の戦略
  • 字幕または Whisper の単語タイミングを介してシーン検出を使用します。コンテキストの希薄化を避けるために、グローバル合成の前にセクションごとに要約します。
  1. キャッシュと永続化
  • クエリごとにトランスクリプト、埋め込み、およびレポートを保存します。ユーザーがフィルターを調整するときに再利用します。動画 ID で重複排除を追加します。
  1. エクスポート形式と配信
  • Markdown、PDF、および JSON をエクスポートします。メールまたは Slack で配信します。タイムスタンプを ?t=mmss のクリック可能なリンクとしてレンダリングします。

再利用できるプロンプト

Claude Code で YouTube リサーチエージェントを構築する際は、これらのテンプレートを使用してください。
システム: あなたは細心の注意を払うリサーチエージェントです。複数の YouTube トランスクリプトにわたって合成します。[vID @ mm:ss] でインラインで引用し、URL を含むソースセクションを含めます。タイムスタンプ付きのサポートを含むクレームの Markdown ブリーフと JSON ペイロードの両方を返します。
ユーザー: リサーチの目標: {topic}
制約: {audience or scope} に焦点を当てます。{date range} 内のソースを優先します。意見の不一致を含めます。
候補となるパッセージ (ランク付け):
{retrieved_passages}
出力: 要約 → 主な洞察 (箇条書き) → 注目すべき引用 (タイムスタンプ付き) → 矛盾とギャップ → ソース。次に JSON {"claims": ...}

ガードレールと倫理

  • クリエイターの権利を尊重する: 元の動画へのリンクを貼り、大きな逐語的なトランスクリプトの公開は避けてください。
  • 透明性を確保する: タイムスタンプと動画 ID を使用して、クレームの出典を示します。
  • 過度の要約は避ける: ニュアンスを保持します。キャプションが自動生成されており、ノイズが多い可能性が高い場合はフラグを立てます。
  • 機密性の高いトピックは慎重に扱う: 不確実性を強調し、多様なソースを探します。

トラブルシューティング: よくある問題と修正

  • "トランスクリプトが見つかりません"
  • Whisper にフォールバックします。別の言語を試してください。動画が地域でブロックされているかどうかを確認してください。
  • 検索品質が悪い
  • 埋め込みをアップグレードします。BM25 を追加します。チャンクのオーバーラップを増やします。上位 K 件のパラメーターを調整します。
  • 幻覚の引用
  • 厳密な引用スキーマを強制します。サポートされていないクレームにペナルティを科します。取得されたチャンクに存在する正確なタイムスタンプを要求します。
  • API クォータ制限
  • 積極的にキャッシュします。max_results を減らします。リクエストをバッチ処理します。tenacity でバックオフを追加します。
  • 長文のドリフト
  • セクションごとに要約します。最大トークンを制約します。明示的なアウトラインを含む計画プロンプトを使用します。

品質の測定

  • ラベル付きセットに対する、取得されたチャンクの Precision@K
  • 忠実度: 検証可能なタイムスタンプ付きのサポートがあるクレームの割合
  • カバレッジ: 引用された一意の関連動画の数
  • レイテンシ: クエリからレポートまでの時間

例: "ベクターデータベースの説明" のリサーチ

  • クエリ: "開発者向けベクターデータベースの説明 2025"
  • フィルター: 2023 年以降の動画、期間 6〜30 分
  • 結果: エージェントは 6 本の動画を引用し、HNSW と IVF-PQ のトレードオフを強調し、コスト/リコールについて議論し、ベンチマークにリンクします。矛盾セクションでは、ベンダーの主張とオープンソースの結果を比較します。

ところで: ワークフロー内での自動化

ドキュメントとコードをまたいで作業する場合は、最後のマイルを自動化する価値があります。小さな CLI で毎晩クエリを実行し、Markdown ブリーフをナレッジベースにドロップできます。スプリントリサーチのために、課題テンプレートに接続することもできます。
注目すべき点: ワークフローがすでにブラウザのサイドバーまたは AI アシスタントに存在する場合、Sider.AI のようなツールを使用すると、リサーチのループを効率化できます。トピックを選択し、検索を実行し、トランスクリプトをキャプチャし、作業場所で Claude を利用した要約をドラフトできます。これにより、コンテキストの切り替えを節約し、チームにとって Claude Code で YouTube リサーチエージェントを構築することがさらに実用的になります。

主な注意点

  • Claude Code で YouTube リサーチエージェントを構築することは、動画を実行可能なブリーフに変えるための影響力の高い方法です。
  • 最小限のスタック: YouTube API + トランスクリプト + チャンク化 + 埋め込み + FAISS + Claude 合成。
  • アップグレードパス: ハイブリッド検索、再ランキング、計画ループ、および厳密な引用追跡。
  • シンプルに始めて、忠実度を測定し、信頼性に向けて反復します。

次のステップ

  • 実際的な埋め込みモデルとハイブリッド検索を実装する
  • 再ランキングステップと品質メトリックを追加する
  • トピックを毎週更新するスケジュールされたジョブを作成する
  • CLI および軽量な Web UI としてパッケージ化する

FAQ

Q1:Claude Code で YouTube リサーチエージェントの構築を開始するにはどうすればよいですか? YouTube 検索から始め、トランスクリプトを取得し、コンテンツをチャンク化し、ベクターストアに埋め込み、Claude Code を使用して結果を合成します。上記のガイドでは、動作するパイプラインを組み立てるためのステップバイステップのコードを提供しています。
Q2:YouTube リサーチエージェントに最適なライブラリは何ですか? 検索には YouTube Data API、キャプションには youtube-transcript-api、ベクトル検索には FAISS、Claude Code の呼び出しには Anthropic SDK を使用します。OpenAI、Nomic、または BGE で埋め込みを交換できます。
Q3:正確な引用とタイムスタンプを保証するにはどうすればよいですか? チャンク化中に開始/終了タイムスタンプを保持し、Claude Code に [video_id @ mm:ss] を引用するように要求します。公開する前に、引用されたタイムスタンプが取得されたチャンクに存在することを確認します。
Q4:このエージェントを非公開または非表示の動画に使用できますか? はい、アクセス権があり、トランスクリプトを取得するか、ローカル ASR (例: Whisper) を実行できる場合。常に許可を尊重し、著作権で保護されたコンテンツの配布は避けてください。
Q5:この YouTube リサーチエージェントをチーム向けに拡張するにはどうすればよいですか? キャッシュ、共有ベクターストア、ジョブキュー、およびスケジュールされた実行を追加します。Slack または Wiki と統合し、Sider.AI のようなブラウザベースのアシスタントを検討して、リサーチ担当者のワークフローを効率化します。

最近の記事
ChatPDFを使いこなす方法:膨大な文書から素早く洞察を得る

ChatPDFを使いこなす方法:膨大な文書から素早く洞察を得る

高速かつ正確なドキュメントのための最適なX自動翻訳代替ツール

高速かつ正確なドキュメントのための最適なX自動翻訳代替ツール

イランでSamsung AI翻訳が利用できない?実用的な対処法

イランでSamsung AI翻訳が利用できない?実用的な対処法

ペルシャ語翻訳ツール:より速く正確に作業するための実践ガイド

ペルシャ語翻訳ツール:より速く正確に作業するための実践ガイド

深く引用されたリサーチに最適なGrokの代替ツール

深く引用されたリサーチに最適なGrokの代替ツール

実際に使うAI画像生成のトップ15機能

実際に使うAI画像生成のトップ15機能