Langkah demi Langkah: Membangun Agen Riset YouTube dengan Kode Claude
Jika Anda pernah menghabiskan sore hari terlarut dalam YouTube, hanya untuk melupakan video mana yang layak disimpan, Anda tidak sendirian. Sekarang bayangkan asisten tanpa lelah yang dapat menemukan video terbaik, mengekstrak ringkasan, mengambil kutipan penting, memberi stempel waktu pada wawasan, dan mengembalikan sumber sesuai permintaan—dengan cepat. Itulah yang dapat dilakukan oleh agen riset YouTube. Dalam panduan langkah demi langkah ini, kita akan membangun agen riset YouTube praktis dengan Kode Claude, yang dirancang untuk kreator, analis, pelajar, dan pembelajar obsesif yang menginginkan sinyal daripada kebisingan.
Kita akan mengambil rute praktis & langsung: arsitektur, kode, perintah, dan pagar pembatas. Sepanjang jalan, kita akan membuat pilihan bernada yang dapat Anda ubah nanti. Pada akhirnya, Anda akan memiliki agen yang berfungsi yang dapat mencari YouTube, mengumpulkan transkrip, bernalar di berbagai video, dan menghasilkan riset yang bersih.
Apa yang Akan Kita Bangun (dan Mengapa Ini Penting)
- Tujuan: Agen riset YouTube yang dapat:
- Mencari YouTube dengan kueri
- Memeringkat hasil berdasarkan relevansi/
- Mengambil transkrip ( atau pihak ketiga)
- Memecah dan menyematkan konten untuk pengambilan
- Menggunakan Kode Claude untuk mensintesis wawasan multi-video
- Menghasilkan catatan terstruktur: ringkasan, klaim, stempel waktu, kutipan, dan sitasi
- Kata kunci utama: "Membangun agen riset YouTube dengan Kode Claude"
- Format: Tutorial langkah demi langkah dengan kode dan perintah yang dapat dijalankan
- Output: riset Markdown + JSON untuk penggunaan terprogram
Mengapa ini penting: YouTube adalah basis pengetahuan publik terbesar yang berisi pembicaraan, pelajaran, demo, dan debat. Tetapi berisik. Membangun agen riset YouTube dengan Kode Claude memberi Anda keunggulan: Anda dapat mengagregasi wawasan dari lusinan video dalam hitungan menit, bukan jam.
Sekilas Arsitektur
Kita akan menjaga versi pertama tetap sederhana dan kuat.
- Input: kueri riset (misalnya, "arsitektur agen LLM 2025"), batasan opsional (rentang tanggal, saluran, durasi)
- Pencarian YouTube: YouTube Data API v3 (atau SerpAPI)
- Transkrip: YouTube Transcript API; ke ASR (misalnya, Whisper) jika tidak tersedia
- Chunking: Segmentasi sadar kalimat (kira-kira 800–1.200 token)
- Embedding: Gunakan model lokal atau (misalnya,
text-embedding-3-large, nomic-embed-text, atau bge-large)
- Vector Store:
FAISS lokal untuk kecepatan; dapat ditukar ke Pinecone, Weaviate, atau Qdrant
- Penalaran: Kode Claude untuk orkestrasi, penggunaan alat, sintesis, dan eksekusi kode di dalam yang terkontrol
- Output: Laporan Markdown + indeks JSON dengan sitasi, stempel waktu, dan skor
Alur data: Kueri → Pencarian → Ambil metadata → Transkrip → → → Ambil top-K → Sintesis Kode Claude → Laporan.
Prasyarat dan Pengaturan
- Kunci API:
YOUTUBE_API_KEY, ANTHROPIC_API_KEY (untuk Kode Claude)
- Opsional:
OPENAI_API_KEY atau lokal
google-api-python-client, youtube-transcript-api
faiss-cpu, numpy, pandas, tiktoken (atau sentencepiece)
requests, pydantic, tenacity
pip install google-api-python-client youtube-transcript-api faiss-cpu numpy pandas requests pydantic tenacity anthropic tiktoken
Variabel lingkungan:
export YOUTUBE_API_KEY=YOUR_YT_KEY
export ANTHROPIC_API_KEY=YOUR_ANTHROPIC_KEY
Langkah 1: Pencarian YouTube dengan Filter
Kita akan mencari YouTube dan mengembalikan metadata terstruktur: judul, saluran, tanggal publikasi, durasi, jumlah penayangan (jika tersedia), dan 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
Tips perintah saat membangun agen riset YouTube dengan Kode Claude:
- Minta terstruktur dalam format yang dapat dibaca manusia dan mesin
- Terapkan sitasi dengan stempel waktu
- Dorong pengungkapan ketidakpastian dan kontradiksi
Langkah 6: Menyatukan Semuanya
Mari hubungkan kueri → pencarian → transkrip → → → ambil → sintesis.
# 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"))
Versi dasar agen riset YouTube dengan Kode Claude ini akan mencari, mengambil, dan mensintesis wawasan multi-video dengan sitasi. Tingkatkan dan tambahkan agar siap produksi.
Tujuh Peningkatan untuk Membuatnya Hebat
- yang lebih baik dan pencarian hibrida
- Tukar dengan berkualitas tinggi dan tambahkan pencarian kata kunci BM25. Hibrida memberikan lebih banyak pada istilah khusus dan presisi yang lebih baik pada topik abstrak.
- Perluas alat untuk metadata yang lebih kaya
- Tarik komentar, rasio suka/tidak suka, dan otoritas saluran. Tambahkan () untuk 100 kandidat teratas.
- Perencanaan riset multi-giliran
- Gunakan Kode Claude untuk mengusulkan rencana riset: sub-pertanyaan, hipotesis, dan pemeriksaan cakupan. Jalankan secara iteratif hingga ambang cakupan terpenuhi.
- Pelacakan bukti dan kontra-bukti
- Untuk setiap klaim, catat cuplikan pendukung dan yang bertentangan. Sajikan keduanya dalam laporan; tambahkan skor kepercayaan.
- Gunakan deteksi adegan melalui subtitel atau pengaturan waktu kata Whisper. Ringkas per bagian sebelum sintesis global untuk menghindari pengenceran konteks.
- Simpan transkrip, , dan laporan per kueri. Gunakan kembali ketika pengguna mengubah filter. Tambahkan deduplikasi berdasarkan ID video.
- Format ekspor dan pengiriman
- Ekspor Markdown, PDF, dan JSON. Pengiriman melalui atau Slack. Render stempel waktu sebagai tautan
?t=mmss yang dapat diklik.
Perintah yang Dapat Anda Gunakan Kembali
Gunakan templat ini saat membangun agen riset YouTube dengan Kode Claude.
Sistem: Anda adalah agen riset yang cermat. Sintesis di berbagai transkrip YouTube. Kutip sebaris dengan [vID @ mm:dd], dan sertakan bagian Sumber dengan URL. Kembalikan Markdown dan JSON dari klaim dengan dukungan stempel waktu.
Pengguna: Tujuan riset: {topic}
Batasan: fokus pada {audience or scope}; lebih suka sumber dalam {date range}; sertakan ketidaksepakatan.
Cuplikan kandidat (diperingkat):
{retrieved_passages}
Output: Ringkasan → Wawasan Utama (poin-poin) → Kutipan Penting (dengan stempel waktu) → Kontradiksi & Kesenjangan → Sumber. Kemudian JSON {"claims": ...}
Pagar Pembatas dan Etika
- Hormati hak kreator: Tautkan ke video asli dan hindari menerbitkan transkrip verbatim yang besar.
- Bersikap transparan: Tunjukkan dari mana klaim berasal menggunakan stempel waktu dan ID video.
- Hindari perangkuman berlebihan: Pertahankan nuansa; tandai ketika dibuat secara otomatis dan kemungkinan berisik.
- Tangani topik sensitif dengan hati-hati: Soroti ketidakpastian dan cari sumber yang beragam.
Pemecahan Masalah: Masalah Umum dan Perbaikan
- "Tidak ada transkrip ditemukan"
- ke Whisper; coba bahasa yang berbeda; periksa apakah video diblokir wilayah.
- Kualitas pengambilan buruk
- Tingkatkan ; tambahkan BM25; tingkatkan tumpang tindih ; parameter-tune top-K.
- Paksa skema sitasi yang ketat; hukum klaim yang tidak didukung; memerlukan stempel waktu yang tepat yang ada dalam yang diambil.
- Cache secara agresif; kurangi
max_results; permintaan batch; tambahkan back-off dengan tenacity.
- Ringkas per bagian; batasi token maks; gunakan perintah perencanaan dengan kerangka yang eksplisit.
Mengukur Kualitas
- Presisi@K dari yang diambil vs. himpunan berlabel
- Tingkat kesetiaan: proporsi klaim dengan dukungan stempel waktu yang dapat diverifikasi
- Cakupan: jumlah video relevan unik yang dikutip
- Latensi: waktu dari kueri ke laporan
Contoh: Meneliti "Basis Data Vektor Dijelaskan"
- Kueri: "basis data vektor dijelaskan untuk pengembang 2025"
- Filter: video setelah 2023, durasi 6–30 menit
- Hasil: Agen mengutip 6 video, menyoroti HNSW vs. IVF-PQ, membahas biaya/, dan menautkan ke . Bagian kontradiksi membandingkan klaim vendor vs. hasil .
Ngomong-ngomong: Mengotomatiskan Ini di Dalam Alur Kerja Anda
Jika Anda bekerja di berbagai dokumen dan kode, ada baiknya mengotomatiskan langkah terakhir. CLI kecil dapat menjalankan kueri malam dan menjatuhkan Markdown ke basis pengetahuan Anda. Anda juga dapat menghubungkannya ke templat masalah untuk riset sprint.
Perlu dicatat: jika alur kerja Anda sudah ada di bilah sisi atau asisten AI, alat seperti Sider.AI dapat merampingkan riset—pilih topik, jalankan pencarian, ambil transkrip, dan buat draf ringkasan bertenaga Claude tepat di tempat Anda bekerja. Ini dapat menghemat peralihan konteks dan membuat pembangunan agen riset YouTube dengan Kode Claude menjadi lebih praktis bagi tim. Poin-Poin Penting
- Membangun agen riset YouTube dengan Kode Claude adalah cara berdaya ungkit tinggi untuk mengubah video menjadi yang dapat ditindaklanjuti.
- Tumpukan minimal: YouTube API + transkrip + + + FAISS + sintesis Claude.
- Jalur peningkatan: pencarian hibrida, , perencanaan, dan pelacakan sitasi yang ketat.
- Mulai sederhana, ukur kesetiaan, dan berulang menuju keandalan.
Langkah Berikutnya
- Implementasikan model nyata dan pengambilan hibrida
- Tambahkan langkah dan metrik kualitas
- Buat pekerjaan terjadwal untuk menyegarkan topik setiap minggu
- Kemas sebagai CLI dan UI web yang ringan
FAQ
Q1:Bagaimana cara memulai membangun agen riset YouTube dengan Kode Claude?
Mulai dengan pencarian YouTube, ambil transkrip, pecah konten, sematkan ke dalam , dan gunakan Kode Claude untuk mensintesis hasil. Panduan di atas memberikan kode langkah demi langkah untuk merakit yang berfungsi.
Q2:Pustaka apa yang terbaik untuk agen riset YouTube?
Gunakan YouTube Data API untuk pencarian, youtube-transcript-api untuk , FAISS untuk pencarian vektor, dan Anthropic SDK untuk memanggil Kode Claude. Anda dapat menukar dengan OpenAI, Nomic, atau BGE.
Q3:Bagaimana cara memastikan sitasi dan stempel waktu yang akurat?
Simpan stempel waktu mulai/berakhir selama dan minta Kode Claude untuk mengutip [video_id @ mm:dd]. Validasi bahwa stempel waktu yang dikutip ada dalam yang diambil sebelum diterbitkan.
Q4:Dapatkah saya menggunakan agen ini untuk video pribadi atau tidak terdaftar?
Ya, jika Anda memiliki akses dan dapat mengambil transkrip atau menjalankan ASR lokal (misalnya, Whisper). Selalu hormati izin dan hindari mendistribusikan konten berhak cipta.
Q5:Bagaimana cara menskalakan agen riset YouTube ini untuk tim?
Tambahkan , bersama, antrean pekerjaan, dan menjalankan terjadwal. Integrasikan dengan Slack atau wiki, dan pertimbangkan asisten berbasis seperti Sider.AI untuk merampingkan alur kerja peneliti.