Korak po korak: Izrada YouTube istraživačkog agenta s Claude Codeom
Ako ste ikada proveli poslijepodne lutajući YouTubeom, da biste zaboravili koji su videozapisi vrijedni spremanja, niste jedini. Sada zamislite neumornog asistenta koji može pronaći najbolje videozapise, izvući sažetke, dohvatiti ključne citate, vremenske oznake uvida i vratiti izvore na zahtjev—brzo. To je upravo ono što YouTube istraživački agent može učiniti. U ovom vodiču korak po korak, izradit ćemo praktični YouTube istraživački agent s Claude Codeom, dizajniran za kreatore, analitičare, studente i opsjednute učenike koji žele signal, a ne buku.
Ići ćemo praktičnim i izravnim putem: arhitektura, kod, upute i zaštitne ograde. Usput ćemo donositi odluke o kojima možete kasnije promijeniti mišljenje. Do kraja ćete imati radnog agenta koji može pretraživati YouTube, prikupljati transkripte, zaključivati iz više videozapisa i izraditi čiste istraživačke sažetke.
Što gradimo (i zašto je to važno)
- Cilj: YouTube istraživački agent koji može:
- Pretraživanje YouTubea po upitu
- Rangiranje rezultata prema relevantnosti/angažmanu
- Dohvaćanje transkripata (automatske titlove ili od treće strane)
- Dijeljenje i ugrađivanje sadržaja za dohvaćanje
- Korištenje Claude Codea za sintetiziranje uvida iz više videozapisa
- Izlaz strukturiranih bilješki: sažetak, tvrdnje, vremenske oznake, citati i reference
- Primarna ključna riječ: "Izrada YouTube istraživačkog agenta s Claude Codeom"
- Format: Vodič korak po korak s pokretljivim kodom i uputama
- Izlazi: Markdown istraživački sažetak + JSON za programsku upotrebu
Zašto je to važno: YouTube je najveća javna baza znanja predavanja, lekcija, demonstracija i rasprava. Ali je bučan. Izrada YouTube istraživačkog agenta s Claude Codeom daje vam prednost: možete prikupiti uvide iz desetaka videozapisa u nekoliko minuta, a ne sati.
Arhitektura na prvi pogled
Prvu verziju ćemo održati jednostavnom i robusnom.
- Ulazi: istraživački upit (npr. "LLM agent architectures 2025"), opcionalna ograničenja (raspon datuma, kanal, trajanje)
- YouTube pretraživanje: YouTube Data API v3 (ili SerpAPI fallback)
- Transkripti: YouTube Transcript API; fallback na ASR (npr. Whisper) kada nije dostupan
- Dijeljenje: Segmentacija svjesna rečenica (otprilike 800–1,200 tokena)
- Ugrađivanje: Koristite lokalni ili hostirani model ugrađivanja (npr.
text-embedding-3-large, nomic-embed-text ili bge-large)
- Vektorska baza: Lokalni
FAISS za brzinu; može se zamijeniti s Pinecone, Weaviate ili Qdrant
- Zaključivanje: Claude Code za orkestraciju, korištenje alata, sintezu i izvršavanje koda unutar kontrolirane petlje
- Izlazi: Markdown izvješće + JSON indeks s referencama, vremenskim oznakama i rezultatima
Protok podataka: Upit → Pretraživanje → Dohvaćanje metapodataka → Transkript → Dijeljenje → Ugrađivanje → Dohvaćanje top‑K → Claude Code sinteza → Izvješće.
Preduvjeti i postavljanje
- API ključevi:
YOUTUBE_API_KEY, ANTHROPIC_API_KEY (za Claude Code)
- Opcionalno:
OPENAI_API_KEY ili lokalni ugradnji
google-api-python-client, youtube-transcript-api
faiss-cpu, numpy, pandas, tiktoken (ili sentencepiece)
requests, pydantic, tenacity
pip install google-api-python-client youtube-transcript-api faiss-cpu numpy pandas requests pydantic tenacity anthropic tiktoken
Varijable okoline:
export YOUTUBE_API_KEY=YOUR_YT_KEY
export ANTHROPIC_API_KEY=YOUR_ANTHROPIC_KEY
Korak 1: YouTube pretraživanje s filtrima
Pretražit ćemo YouTube i vratiti strukturirane metapodatke: naslov, kanal, datum objave, trajanje, broj pregleda (ako je dostupan) i videoId.
# file: yt_search.py
from googleapiclient.discovery import build
import os
YOUTUBE_API_KEY = os.environ — kanal, datum\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
Savjeti za upute pri izradi YouTube istraživačkog agenta s Claude Codeom:
- Zatražite strukturirane izlaze u formatima čitljivim ljudima i strojevima
- Prisilite reference s vremenskim oznakama
- Potaknite otkrivanje neizvjesnosti i proturječnosti
Korak 6: Sastavljanje svega
Povežimo upit → pretraživanje → transkripte → dijelove → ugrađivanja → dohvaćanje → sintetiziranje.
# 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"))
Ova osnovna verzija YouTube istraživačkog agenta s Claude Codeom pretraživat će, dohvaćati i sintetizirati uvide iz više videozapisa s referencama. Nadogradite ugrađivanja i dodajte predmemoriranje kako bi bio spreman za produkciju.
Sedam nadogradnji da bi bio sjajan
- Bolja ugrađivanja i hibridno pretraživanje
- Zamijenite visokokvalitetna ugrađivanja i dodajte BM25 pretraživanje ključnih riječi. Hibrid daje više prisjećanja za nišne pojmove i bolju preciznost za apstraktne teme.
- Proširite alate za bogatije metapodatke
- Dohvatite komentare, omjer lajkova/dislajkova i autoritet kanala. Dodajte ponovno rangiranje (unakrsni koder) za top 100 kandidata.
- Višekratno istraživačko planiranje
- Koristite Claude Code za predlaganje plana istraživanja: pod‑pitanja, hipoteze i provjere pokrivenosti. Izvršavajte iterativno dok se ne ispune pragovi pokrivenosti.
- Praćenje dokaza i protu‑dokazi
- Za svaku tvrdnju zabilježite isječke koji je podupiru i proturječe joj. Prikazujte oboje u izvješćima; dodajte rezultate pouzdanosti.
- Strategije za duge videozapise
- Koristite detekciju scene putem titlova ili Whisper vremenskih oznaka riječi. Sažmite po odjeljku prije globalne sinteze kako biste izbjegli razrjeđivanje konteksta.
- Predmemoriranje i postojanost
- Pohranite transkripte, ugrađivanja i izvješća po upitu. Ponovno upotrijebite kada korisnici prilagode filtre. Dodajte deduplikaciju po video ID-u.
- Formati izvoza i isporuka
- Izvezite Markdown, PDF i JSON. Dostava putem e-pošte ili Slacka. Prikazujte vremenske oznake kao poveznice na koje se može kliknuti
?t=mmss.
Upute koje možete ponovno upotrijebiti
Koristite ove predloške dok gradite YouTube istraživačkog agenta s Claude Codeom.
Sustav: Vi ste pedantan istraživački agent. Sintetizirajte iz više YouTube transkripata. Citirajte inline s [vID @ mm:ss] i uključite odjeljak Izvori s URL-ovima. Vratite i Markdown sažetak i JSON payload tvrdnji s vremenskim oznakama podrške.
Korisnik: Cilj istraživanja: {topic}
Ograničenja: usredotočite se na {audience or scope}; preferirajte izvore unutar {date range}; uključite neslaganja.
Kandidatski odlomci (rangirani):
{retrieved_passages}
Izlaz: Sažetak → Ključni uvidi (točke) → Značajni citati (s vremenskim oznakama) → Proturječnosti i praznine → Izvori. Zatim JSON {"claims": ...}
Zaštitne ograde i etika
- Poštujte prava kreatora: Povežite se s izvornim videozapisima i izbjegavajte objavljivanje velikih doslovnih transkripata.
- Budite transparentni: Pokažite odakle potječu tvrdnje koristeći vremenske oznake i video ID-ove.
- Izbjegavajte prekomjerno sažimanje: Sačuvajte nijanse; označite kada su titlovi automatski generirani i vjerojatno bučni.
- Pažljivo rukujte osjetljivim temama: Istaknite neizvjesnost i tražite različite izvore.
Rješavanje problema: Uobičajeni problemi i popravci
- "Nije pronađen transkript"
- Vratite se na Whisper; pokušajte s različitim jezicima; provjerite je li video regionalno blokiran.
- Loša kvaliteta dohvaćanja
- Nadogradite ugrađivanja; dodajte BM25; povećajte preklapanje dijelova; parametrizirajte top‑K.
- Prisilite strogu shemu citiranja; kaznite nepodržane tvrdnje; zahtijevajte točne vremenske oznake prisutne u dohvaćenim dijelovima.
- Agresivno predmemorirajte; smanjite
max_results; zatražite skupno; dodajte povlačenje s tenacity.
- Sažmite po odjeljku; ograničite maksimalni broj tokena; koristite upute za planiranje s eksplicitnim nacrtom.
Mjerenje kvalitete
- Preciznost@K dohvaćenih dijelova u odnosu na označeni skup
- Stopa vjernosti: udio tvrdnji s provjerljivom podrškom s vremenskom oznakom
- Pokrivenost: broj jedinstvenih relevantnih videozapisa citiranih
- Latencija: vrijeme od upita do izvješća
Primjer: Istraživanje "Objašnjenje vektorskih baza podataka"
- Upit: "vektorske baze podataka objašnjene za programere 2025"
- Filtri: videozapisi nakon 2023., trajanje 6–30 minuta
- Ishod: Agent citira 6 videozapisa, ističe kompromise HNSW vs. IVF‑PQ, raspravlja o troškovima/prisjećanju i povezuje se s benchmarkovima. Odjeljak s proturječnostima uspoređuje tvrdnje dobavljača s rezultatima otvorenog koda.
Usput: Automatizacija ovoga unutar vašeg tijeka rada
Ako radite s dokumentima i kodom, vrijedi automatizirati posljednju milju. Mali CLI može pokretati noćne upite i ubacivati Markdown sažetke u vašu bazu znanja. Također ga možete povezati s predlošcima izdanja za sprint istraživanje.
Vrijedi napomenuti: ako vaš tijek rada već postoji na bočnoj traci preglednika ili AI asistentu, alati poput Sider.AI mogu pojednostaviti istraživačku petlju—odaberite temu, pokrenite pretraživanje, snimite transkripte i nacrtajte sažetak pokretan Claudeom tamo gdje radite. To može uštedjeti prebacivanje konteksta i učiniti izradu YouTube istraživačkog agenta s Claude Codeom još praktičnijim za timove. Ključni zaključci
- Izrada YouTube istraživačkog agenta s Claude Codeom je način s visokom polugom za pretvaranje videozapisa u sažetke koji se mogu upotrijebiti.
- Minimalni stog: YouTube API + transkripti + dijeljenje + ugrađivanja + FAISS + Claude sinteza.
- Putevi nadogradnje: hibridno pretraživanje, ponovno rangiranje, petlje planiranja i strogo praćenje citata.
- Počnite jednostavno, izmjerite vjernost i iterirajte prema pouzdanosti.
Sljedeći koraci
- Implementirajte stvarni model ugrađivanja i hibridno dohvaćanje
- Dodajte korak ponovnog rangiranja i metrike kvalitete
- Napravite zakazani posao za osvježavanje tema tjedno
- Pakirajte kao CLI i lagani web UI
Često postavljana pitanja
P1:Kako započeti s izradom YouTube istraživačkog agenta s Claude Codeom?
Započnite s YouTube pretraživanjem, dohvatite transkripte, podijelite sadržaj, ugradite u vektorsku bazu i upotrijebite Claude Code za sintetiziranje rezultata. Gornji vodič pruža korak po korak kod za sastavljanje radnog cjevovoda.
P2:Koje su biblioteke najbolje za YouTube istraživačkog agenta?
Koristite YouTube Data API za pretraživanje, youtube-transcript-api za titlove, FAISS za vektorsko pretraživanje i Anthropic SDK za pozivanje Claude Codea. Možete zamijeniti ugrađivanja s OpenAI, Nomic ili BGE.
P3:Kako osigurati točne reference i vremenske oznake?
Zadržite početne/krajnje vremenske oznake tijekom dijeljenja i zahtijevajte da Claude Code citira [video_id @ mm:ss]. Provjerite postoje li citirane vremenske oznake u dohvaćenim dijelovima prije objavljivanja.
P4:Mogu li koristiti ovog agenta za privatne ili nenavedene videozapise?
Da, ako imate pristup i možete dohvatiti transkripte ili pokrenuti lokalni ASR (npr. Whisper). Uvijek poštujte dopuštenja i izbjegavajte distribuciju sadržaja zaštićenog autorskim pravima.
P5:Kako mogu skalirati ovog YouTube istraživačkog agenta za timove?
Dodajte predmemoriranje, zajedničku vektorsku bazu, redove poslova i zakazana pokretanja. Integrirajte sa Slackom ili wikijem i razmislite o pomoćniku temeljenom na pregledniku kao što je Sider.AI kako biste pojednostavili tijek rada istraživača.