Krok za krokem: Vytvoření YouTube Research Agenta pomocí Claude Code
Pokud jste někdy strávili odpoledne bezcílným brouzdáním po YouTube a pak jste zapomněli, která videa stojí za uložení, nejste sami. Nyní si představte neúnavného asistenta, který dokáže rychle najít nejlepší videa, extrahovat souhrny, vytáhnout klíčové citáty, časově označit postřehy a na požádání vrátit zdroje – rychle. Přesně to dokáže YouTube research agent. V tomto podrobném průvodci vytvoříme praktického YouTube research agenta s Claude Code, určeného pro tvůrce, analytiky, studenty a posedlé studenty, kteří chtějí spíše signál než šum.
Zvolíme praktickou a přímou cestu: architektura, kód, výzvy a ochranné prvky. Po cestě učiníme subjektivní rozhodnutí, která můžete později změnit. Na konci budete mít funkčního agenta, který dokáže prohledávat YouTube, shromažďovat přepisy, uvažovat napříč více videi a vytvářet čisté výzkumné zprávy.
Co vytváříme (a proč na tom záleží)
- Cíl: YouTube research agent, který dokáže:
- Prohledávat YouTube pomocí dotazu
- Řadit výsledky podle relevance/angažovanosti
- Získávat přepisy (automatické titulky nebo od třetích stran)
- Rozdělovat a vkládat obsah pro vyhledávání
- Používat Claude Code k syntéze postřehů z více videí
- Vytvářet strukturované poznámky: souhrn, tvrzení, časové značky, citáty a citace
- Primární klíčové slovo: "Vytvoření YouTube research aganta pomocí Claude Code"
- Formát: Podrobný tutoriál se spustitelným kódem a výzvami
- Výstupy: Markdown výzkumná zpráva + JSON pro programové použití
Proč na tom záleží: YouTube je největší veřejná znalostní báze přednášek, lekcí, ukázek a debat. Ale je hlučný. Vytvoření YouTube research aganta s Claude Code vám dává náskok: můžete agregovat postřehy z desítek videí během několika minut, ne hodin.
Architektura v kostce
První verzi ponecháme jednoduchou a robustní.
- Vstupy: výzkumný dotaz (např. "architektury LLM agentů 2025"), volitelné omezení (rozsah dat, kanál, trvání)
- Vyhledávání na YouTube: YouTube Data API v3 (nebo SerpAPI fallback)
- Přepisy: YouTube Transcript API; fallback na ASR (např. Whisper), když není k dispozici
- Rozdělování: Segmentace s ohledem na věty (přibližně 800–1 200 tokenů)
- Vkládání: Použijte lokální nebo hostovaný model vkládání (např.
text-embedding-3-large, nomic-embed-text nebo bge-large)
- Vector Store: Lokální
FAISS pro rychlost; lze vyměnit za Pinecone, Weaviate nebo Qdrant
- Uvažování: Claude Code pro orchestraci, použití nástrojů, syntézu a provádění kódu uvnitř řízené smyčky
- Výstupy: Markdown report + JSON index s citacemi, časovými značkami a skóre
Tok dat: Dotaz → Vyhledávání → Získání metadat → Přepis → Rozdělení → Vložení → Načtení top‑K → Syntéza v Claude Code → Report.
Předpoklady a nastavení
- API klíče:
YOUTUBE_API_KEY, ANTHROPIC_API_KEY (pro Claude Code)
- Volitelné:
OPENAI_API_KEY nebo lokální vkládání
google-api-python-client, youtube-transcript-api
faiss-cpu, numpy, pandas, tiktoken (nebo sentencepiece)
requests, pydantic, tenacity
pip install google-api-python-client youtube-transcript-api faiss-cpu numpy pandas requests pydantic tenacity anthropic tiktoken
Proměnné prostředí:
export YOUTUBE_API_KEY=YOUR_YT_KEY
export ANTHROPIC_API_KEY=YOUR_ANTHROPIC_KEY
Krok 1: Vyhledávání na YouTube s filtry
Budeme prohledávat YouTube a vracet strukturovaná metadata: název, kanál, datum zveřejnění, trvání, počet zhlédnutí (pokud jsou k dispozici) a 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
Tipy pro výzvy při vytváření YouTube research agenta s Claude Code:
- Žádejte strukturované výstupy v čitelné i strojově čitelné formě
- Vynucujte citace s časovými značkami
- Podporujte zveřejňování nejistot a protimluvů
Krok 6: Sestavení všeho dohromady
Propojme dotaz → vyhledávání → přepisy → rozdělení → vkládání → načtení → syntetizování.
# 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"))
Tato základní verze YouTube research agenta s Claude Code bude vyhledávat, načítat a syntetizovat postřehy z více videí s citacemi. Upgradujte vkládání a přidejte ukládání do mezipaměti, abyste ji připravili na produkční prostředí.
Sedm upgradů, které ji vylepší
- Lepší vkládání a hybridní vyhledávání
- Vyměňte vysoce kvalitní vkládání a přidejte vyhledávání klíčových slov BM25. Hybridní vyhledávání poskytuje lepší vybavení u specializovaných termínů a lepší přesnost u abstraktních témat.
- Rozšiřte nástroje pro bohatší metadata
- Získejte komentáře, poměr lajků/nelajků a autoritu kanálu. Přidejte re‑ranker (cross‑encoder) pro top 100 kandidátů.
- Vícekruhové plánování výzkumu
- Použijte Claude Code k navržení plánu výzkumu: dílčí otázky, hypotézy a kontroly pokrytí. Provádějte iterativně, dokud nejsou splněny prahové hodnoty pokrytí.
- Sledování důkazů a protidůkazů
- Pro každé tvrzení zaznamenejte podpůrné a protichůdné úryvky. Prezentujte obojí v reportech; přidejte skóre spolehlivosti.
- Strategie pro dlouhá videa
- Použijte detekci scén pomocí titulků nebo časování slov Whisper. Před globální syntézou shrňte jednotlivé sekce, abyste se vyhnuli ředění kontextu.
- Ukládání do mezipaměti a perzistence
- Ukládejte přepisy, vkládání a reporty pro každý dotaz. Opakovaně používejte, když uživatelé upraví filtry. Přidejte deduplikaci podle ID videa.
- Formáty exportu a doručení
- Exportujte Markdown, PDF a JSON. Doručování e‑mailem nebo Slackem. Vykreslujte časové značky jako klikatelné
?t=mmss odkazy.
Výzvy, které můžete znovu použít
Použijte tyto šablony při vytváření YouTube research agenta s Claude Code.
System: Jste pečlivý research agent. Syntetizujte napříč více přepisy YouTube. Citujte inline pomocí [vID @ mm:ss] a zahrňte sekci Sources s URL. Vraťte markdown report a JSON payload s tvrzeními a časově označenou podporou.
User: Research goal: {topic}
Constraints: focus on {audience or scope}; prefer sources within {date range}; include disagreements.
Candidate passages (ranked):
{retrieved_passages}
Output: Summary → Key Insights (bullets) → Notable Quotes (with timestamps) → Contradictions & Gaps → Sources. Then JSON {"claims": ...}
Ochranné prvky a etika
- Respektujte práva tvůrců: Odkazujte na původní videa a vyhněte se publikování velkých doslovných přepisů.
- Buďte transparentní: Ukažte, odkud tvrzení pocházejí, pomocí časových značek a ID videí.
- Vyhněte se přílišnému shrnování: Zachovejte nuance; označte, kdy jsou titulky generovány automaticky a pravděpodobně nekvalitní.
- Zacházejte s citlivými tématy opatrně: Zdůrazněte nejistotu a hledejte různorodé zdroje.
Řešení problémů: Běžné problémy a opravy
- "Nebyl nalezen žádný přepis"
- Fallback na Whisper; vyzkoušejte různé jazyky; zkontrolujte, zda video není blokováno v dané oblasti.
- Upgradujte vkládání; přidejte BM25; zvyšte překrývání chunků; parameter‑tune top‑K.
- Vynucujte přísné schéma citací; penalizujte nepodporovaná tvrzení; vyžadujte přesné časové značky přítomné v načtených chunkech.
- Agresivně ukládejte do mezipaměti; snižte
max_results; dávkové požadavky; přidejte back‑off pomocí tenacity.
- Shrňte po sekcích; omezte max tokenů; používejte plánovací výzvy s explicitním osnovou.
Měření kvality
- Precision@K načtených chunků vs. označená sada
- Faithfulness rate: podíl tvrzení s ověřitelnou časově označenou podporou
- Coverage: počet jedinečných relevantních citovaných videí
- Latency: čas od dotazu k reportu
Příklad: Výzkum "Vysvětlení vektorových databází"
- Dotaz: "vektorové databáze vysvětleny pro vývojáře 2025"
- Filtry: videa po roce 2023, trvání 6–30 minut
- Výsledek: Agent cituje 6 videí, zdůrazňuje kompromisy HNSW vs. IVF‑PQ, diskutuje o nákladech/vybavení a odkazuje na benchmarky. Sekce Contradictions porovnává tvrzení dodavatelů vs. výsledky open‑source.
Mimochodem: Automatizace tohoto procesu ve vašem workflow
Pokud pracujete s dokumenty a kódem, stojí za to automatizovat poslední krok. Malé CLI může spouštět noční dotazy a umisťovat Markdown reporty do vaší znalostní báze. Můžete jej také propojit se šablonami pro sprint research.
Stojí za zmínku: pokud váš workflow již existuje v postranním panelu prohlížeče nebo AI asistenta, nástroje jako Sider.AI mohou zjednodušit výzkumnou smyčku – vyberte téma, spusťte vyhledávání, zachyťte přepisy a vytvořte souhrn pomocí Claude přímo tam, kde pracujete. To může ušetřit přepínání kontextu a učinit vytváření YouTube research agenta s Claude Code ještě praktičtější pro týmy. Klíčové poznatky
- Vytvoření YouTube research agenta s Claude Code je vysoce efektivní způsob, jak proměnit videa v akční reporty.
- Minimální stack: YouTube API + přepisy + rozdělování + vkládání + FAISS + syntéza v Claude.
- Cesty upgradu: hybridní vyhledávání, re‑ranking, plánovací smyčky a přísné sledování citací.
- Začněte jednoduše, měřte věrnost a iterujte směrem ke spolehlivosti.
Další kroky
- Implementujte skutečný model vkládání a hybridní načítání
- Přidejte krok re‑rankingu a metriky kvality
- Vytvořte naplánovanou úlohu pro týdenní obnovování témat
- Zabalte jako CLI a jednoduché webové UI
FAQ
Q1:Jak začnu s vytvářením YouTube research agenta s Claude Code?
Začněte vyhledáváním na YouTube, získáním přepisů, rozdělením obsahu, vložením do vector store a použitím Claude Code k syntetizaci výsledků. Výše uvedený průvodce poskytuje podrobný kód pro sestavení funkčního pipeline.
Q2:Které knihovny jsou nejlepší pro YouTube research agenta?
Použijte YouTube Data API pro vyhledávání, youtube-transcript-api pro titulky, FAISS pro vyhledávání vektorů a Anthropic SDK pro volání Claude Code. Vkládání můžete vyměnit za OpenAI, Nomic nebo BGE.
Q3:Jak zajistím přesné citace a časové značky?
Uchovávejte počáteční/koncové časové značky během rozdělování a vyžadujte, aby Claude Code citoval [video_id @ mm:ss]. Před publikováním ověřte, zda citované časové značky existují v načtených chunkech.
Q4:Mohu tohoto agenta používat pro soukromá nebo neveřejná videa?
Ano, pokud máte přístup a můžete získat přepisy nebo spustit lokální ASR (např. Whisper). Vždy respektujte oprávnění a vyhněte se distribuci obsahu chráněného autorskými právy.
Q5:Jak mohu škálovat tohoto YouTube research agenta pro týmy?
Přidejte ukládání do mezipaměti, sdílený vector store, fronty úloh a naplánované spouštění. Integrujte se Slackem nebo wiki a zvažte asistenta založeného na prohlížeči, jako je Sider.AI, abyste zjednodušili workflow výzkumníků.