Vaihe vaiheelta: YouTube-tutkimusagentin rakentaminen Claude Codella
Jos olet koskaan viettänyt iltapäivää uppoutuen YouTubeen vain unohtaaksesi, mitkä videot olivat tallentamisen arvoisia, et ole yksin. Kuvittele nyt väsymätön avustaja, joka voi löytää parhaat videot, poimia tiivistelmiä, kerätä keskeisiä lainauksia, aikaleimata oivalluksia ja palauttaa lähteet pyynnöstä – nopeasti. Juuri sen YouTube-tutkimusagentti voi tehdä. Tässä vaiheittaisessa oppaassa rakennamme käytännöllisen YouTube-tutkimusagentin Claude Codella, joka on suunniteltu sisällöntuottajille, analyytikoille, opiskelijoille ja pakkomielteisille oppijoille, jotka haluavat löytää oleellisen tiedon.
Valitsemme käytännöllisen ja suoran reitin: arkkitehtuuri, koodi, kehotteet ja suojakaiteet. Matkan varrella teemme mielipiteellisiä valintoja, jotka voit vaihtaa myöhemmin. Lopputuloksena sinulla on toimiva agentti, joka voi etsiä YouTubesta, kerätä transkriptioita, tehdä päätelmiä useista videoista ja tuottaa selkeitä tutkimustiivistelmiä.
Mitä olemme rakentamassa (ja miksi sillä on merkitystä)
- Tavoite: YouTube-tutkimusagentti, joka pystyy:
- Etsimään YouTubesta hakukyselyn perusteella
- Järjestämään tulokset relevanssin/sitoutumisen perusteella
- Hakemaan transkriptioita (automaattiset tekstitykset tai kolmannen osapuolen)
- Pilkkomaan ja upottamaan sisällön hakua varten
- Käyttämään Claude Codea useiden videoiden oivallusten syntetisoimiseen
- Tuottamaan jäsenneltyjä muistiinpanoja: yhteenveto, väitteet, aikaleimat, lainaukset ja viittaukset
- Ensisijainen avainsana: "YouTube-tutkimusagentin rakentaminen Claude Codella"
- Muoto: Vaiheittainen opas, jossa on suoritettavaa koodia ja kehotteita
- Tulosteet: Markdown-muotoinen tutkimustiivistelmä + JSON ohjelmallista käyttöä varten
Miksi sillä on merkitystä: YouTube on suurin julkinen tietokanta puheista, oppitunneista, demoista ja keskusteluista. Mutta se on täynnä kohinaa. YouTube-tutkimusagentin rakentaminen Claude Codella antaa sinulle etulyöntiaseman: voit koota oivalluksia kymmenistä videoista minuuteissa, ei tunneissa.
Arkkitehtuuri yhdellä silmäyksellä
Pidämme ensimmäisen version yksinkertaisena ja vankkana.
- Syötteet: tutkimuskysely (esim. "LLM-agenttiarkkitehtuurit 2025"), valinnaiset rajoitukset (päivämääräväli, kanava, kesto)
- YouTube-haku: YouTube Data API v3 (tai SerpAPI-varajärjestelmä)
- Transkriptiot: YouTube Transcript API; varajärjestelmänä ASR (esim. Whisper), kun se ei ole saatavilla
- Pilkontaa: Lausekeskeinen segmentointi (noin 800–1 200 tokenia)
- Upotukset: Käytä paikallista tai isännöityä upotusmallia (esim.
text-embedding-3-large, nomic-embed-text tai bge-large)
- Vektorivarasto: Paikallinen
FAISS nopeutta varten; voidaan vaihtaa Pineconeen, Weaviateen tai Qdrantiin
- Päättely: Claude Code orkestrointiin, työkalujen käyttöön, synteesiin ja koodin suorittamiseen kontrolloidussa silmukassa
- Tulosteet: Markdown-raportti + JSON-hakemisto viittauksineen, aikaleimoineen ja pisteineen
Tietovirta: Kysely → Haku → Metatietojen nouto → Transkriptio → Pilkontaa → Upotus → Hae top‑K → Claude Code -synteesi → Raportti.
Edellytykset ja asennus
- API-avaimet:
YOUTUBE_API_KEY, ANTHROPIC_API_KEY (Claude Codea varten)
- Valinnainen:
OPENAI_API_KEY tai paikalliset upotukset
google-api-python-client, youtube-transcript-api
faiss-cpu, numpy, pandas, tiktoken (tai sentencepiece)
requests, pydantic, tenacity
pip install google-api-python-client youtube-transcript-api faiss-cpu numpy pandas requests pydantic tenacity anthropic tiktoken
Ympäristömuuttujat:
export YOUTUBE_API_KEY=YOUR_YT_KEY
export ANTHROPIC_API_KEY=YOUR_ANTHROPIC_KEY
Vaihe 1: YouTube-haku suodattimilla
Etsimme YouTubesta ja palautamme jäsenneltyjä metatietoja: otsikko, kanava, julkaisupäivä, kesto, katselukerrat (jos saatavilla) ja videoId.
# tiedosto: 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
Vinkkejä kehotteisiin rakennettaessa YouTube-tutkimusagenttia Claude Codella:
- Pyydä jäsenneltyjä tulosteita sekä ihmiselle että koneelle luettavassa muodossa
- Pakota aikaleimatut viittaukset
- Kannusta epävarmuuden paljastamista ja ristiriitoja
Vaihe 6: Kaiken yhdistäminen
Yhdistetään kysely → haku → transkriptiot → palat → upotukset → haku → synteesi.
# tiedosto: 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"))
Tämä YouTube-tutkimusagentin perusversio Claude Codella etsii, hakee ja syntetisoi useiden videoiden oivalluksia viittauksilla. Päivitä upotukset ja lisää välimuisti, jotta se on valmis tuotantoon.
Seitsemän parannusta, jotka tekevät siitä loistavan
- Paremmat upotukset ja hybridihaku
- Vaihda korkealaatuiset upotukset ja lisää BM25-avainsanahaku. Hybridi antaa paremman palautuksen niche-termeillä ja paremman tarkkuuden abstrakteissa aiheissa.
- Laajenna työkaluja rikkaampiin metatietoihin
- Hae kommentteja, tykkäysten/ei-tykkäysten suhde ja kanavan auktoriteetti. Lisää uudelleenjärjestäjä (ristiinkooderi) 100 parhaan ehdokkaan joukkoon.
- Monivaiheinen tutkimussuunnittelu
- Käytä Claude Codea tutkimussuunnitelman ehdottamiseen: ala-kysymykset, hypoteesit ja kattavuustarkastukset. Suorita iteratiivisesti, kunnes kattavuuskynnysarvot täyttyvät.
- Todisteiden seuranta ja vastatodisteet
- Kirjaa jokaiselle väitteelle tukevat ja ristiriitaiset otteet. Esitä molemmat raporteissa; lisää luottamusarvot.
- Pitkien videoiden strategiat
- Käytä kohtauksen tunnistusta tekstitysten tai Whisper-sanojen ajoitusten avulla. Tee yhteenveto jaksoittain ennen globaalia synteesiä, jotta vältät kontekstin heikkenemisen.
- Tallenna transkriptiot, upotukset ja raportit kyselyä kohden. Käytä uudelleen, kun käyttäjät muokkaavat suodattimia. Lisää duplikaattien poisto video ID:n perusteella.
- Vie Markdown-, PDF- ja JSON-muodossa. Toimita sähköpostilla tai Slackissa. Renderöi aikaleimat napsautettavina
?t=mmss -linkkeinä.
Kehotteet, joita voit käyttää uudelleen
Käytä näitä malleja rakentaessasi YouTube-tutkimusagenttia Claude Codella.
Järjestelmä: Olet huolellinen tutkimusagentti. Syntetisoi useiden YouTube-transkriptioiden pohjalta. Viittaa tekstissä [vID @ mm:ss] -muodossa ja sisällytä Lähteet-osio URL-osoitteineen. Palauta sekä Markdown-tiivistelmä että JSON-hyötykuorma, joka sisältää väitteitä ja aikaleimoilla varustettuja tukitietoja.
Käyttäjä: Tutkimustavoite: {topic}
Rajoitukset: keskity {audience or scope}; suosi lähteitä, jotka ovat {date range} -aikaväliltä; sisällytä eriävät mielipiteet.
Ehdokkaat kohdat (järjestettynä):
{retrieved_passages}
Tuloste: Yhteenveto → Keskeiset oivallukset (luettelomerkeillä) → Huomattavia lainauksia (aikaleimoilla) → Ristiriidat ja puutteet → Lähteet. Sitten JSON {"claims": ...}
Suojakaiteet ja etiikka
- Kunnioita sisällöntuottajien oikeuksia: Linkitä alkuperäisiin videoihin ja vältä suurten sanasta sanaan -transkriptioiden julkaisemista.
- Ole avoin: Näytä, mistä väitteet tulevat, käyttämällä aikaleimoja ja video ID:itä.
- Vältä liiallista tiivistämistä: Säilytä vivahteet; merkitse, kun tekstitykset on luotu automaattisesti ja ovat todennäköisesti kohinaisia.
- Käsittele arkaluonteisia aiheita huolellisesti: Korosta epävarmuutta ja etsi monipuolisia lähteitä.
Vianmääritys: Yleiset ongelmat ja korjaukset
- "Transkriptiota ei löytynyt"
- Siirry varajärjestelmänä Whisperiin; kokeile eri kieliä; tarkista, onko video alueellisesti estetty.
- Päivitä upotukset; lisää BM25; lisää palojen päällekkäisyyttä; parametroi top‑K.
- Hallusinoidut viittaukset
- Pakota tiukka viittausskeema; rankaise perusteettomista väitteistä; vaadi tarkat aikaleimat, jotka ovat olemassa haetuissa paloissa.
- Välimuistita aggressiivisesti; vähennä
max_results; eräpyynnöt; lisää back‑off tenacitylla.
- Tee yhteenveto jaksoittain; rajoita maksimitokenit; käytä suunnittelukehotteita, joissa on selkeä hahmotelma.
Laadun mittaaminen
- Tarkkuus@K haettujen palojen vs. merkitty joukko
- Uskollisuusaste: todennettavissa olevalla aikaleimatulla tuella varustettujen väitteiden osuus
- Kattavuus: viitattujen yksilöllisten asiaankuuluvien videoiden määrä
- Latenssi: aika kyselystä raporttiin
Esimerkki: "Vektoridatabseja selitettynä" -tutkimus
- Kysely: "vektoridatabaset selitettynä kehittäjille 2025"
- Suodattimet: videot vuoden 2023 jälkeen, kesto 6–30 minuuttia
- Lopputulos: Agentti viittaa 6 videoon, korostaa HNSW:n ja IVF‑PQ:n kompromisseja, käsittelee kustannuksia/palautusta ja linkittää vertailuarvoihin. Ristiriidat-osio vertaa toimittajien väitteitä avoimen lähdekoodin tuloksiin.
Muuten: Tämän automatisoiminen työnkulun sisällä
Jos työskentelet dokumenttien ja koodin parissa, viimeisen mailin automatisointi on sen arvoista. Pieni CLI voi suorittaa yöllisiä kyselyjä ja pudottaa Markdown-tiivistelmiä tietokantaasi. Voit myös yhdistää sen ongelmamalleihin sprinttutkimusta varten.
Huomionarvoista: jos työnkulkusi on jo olemassa selainin sivupalkissa tai tekoälyavustajassa, Sider.AI:n kaltaiset työkalut voivat virtaviivaistaa tutkimussilmukkaa – valitse aihe, suorita haku, kaappaa transkriptiot ja laadi Claude-pohjainen yhteenveto suoraan siellä, missä työskentelet. Tämä voi säästää kontekstin vaihtamista ja tehdä YouTube-tutkimusagentin rakentamisesta Claude Codella entistä käytännöllisempää tiimeille. Keskeiset huomiot
- YouTube-tutkimusagentin rakentaminen Claude Codella on tehokas tapa muuttaa videot toimintakelpoisiksi tiivistelmiksi.
- Minimaalinen pino: YouTube API + transkriptiot + pilkontaa + upotukset + FAISS + Claude-synteesi.
- Päivityspolut: hybridihaku, uudelleenjärjestys, suunnittelusilmukat ja tiukka viittausten seuranta.
- Aloita yksinkertaisesti, mittaa uskollisuutta ja iteratiivisesti kohti luotettavuutta.
Seuraavat vaiheet
- Ota käyttöön todellinen upotusmalli ja hybridihaku
- Lisää uudelleenjärjestysvaihe ja laatumittarit
- Luo ajoitettu työ päivittääksesi aiheet viikoittain
- Paketoi CLI:ksi ja kevyeksi verkkokäyttöliittymäksi
UKK
K1:Miten aloitan YouTube-tutkimusagentin rakentamisen Claude Codella?
Aloita YouTube-haulla, nouda transkriptioita, pilko sisältöä, upota vektorivarastoon ja käytä Claude Codea tulosten syntetisoimiseen. Yllä oleva opas tarjoaa vaiheittaisen koodin toimivan putkilinjan kokoamiseksi.
K2:Mitkä kirjastot ovat parhaita YouTube-tutkimusagentille?
Käytä YouTube Data API:a hakua varten, youtube-transcript-api:a tekstityksiä varten, FAISS:a vektorihakua varten ja Anthropic SDK:ta Claude Coden kutsumiseen. Voit vaihtaa upotuksia OpenAI:n, Nomicin tai BGE:n kanssa.
K3:Miten varmistan tarkat viittaukset ja aikaleimat?
Säilytä alku-/loppuaikaleimat pilkkomisen aikana ja vaadi Claude Codea viittaamaan [video_id @ mm:ss]. Vahvista, että viitatut aikaleimat ovat olemassa haetuissa paloissa ennen julkaisemista.
K4:Voinko käyttää tätä agenttia yksityisille tai piilotetuille videoille?
Kyllä, jos sinulla on pääsy ja voit noutaa transkriptioita tai suorittaa paikallisen ASR:n (esim. Whisper). Kunnioita aina käyttöoikeuksia ja vältä tekijänoikeudella suojatun sisällön jakamista.
K5:Miten voin skaalata tämän YouTube-tutkimusagentin tiimeille?
Lisää välimuisti, jaettu vektorivarasto, työjonot ja ajoitetut ajot. Integroi Slackiin tai wikiin ja harkitse selainpohjaista avustajaa, kuten Sider.AI:ta, virtaviivaistaaksesi tutkijoiden työnkulkuja.