Покроково: Створення агента для дослідження YouTube з використанням коду Claude
Якщо ви коли-небудь витрачали день на занурення у YouTube, лише щоб забути, які відео варто було зберегти, ви не самотні. А тепер уявіть собі невтомного помічника, який може швидко знаходити найкращі відео, витягувати резюме, вибирати ключові цитати, відмічати інсайти за часом і повертати джерела на вимогу. Це саме те, що може робити агент для дослідження YouTube. У цьому покроковому посібнику ми створимо практичного агента для дослідження YouTube з використанням коду Claude, розробленого для творців, аналітиків, студентів і завзятих учнів, які хочуть отримувати більше важливої інформації замість шуму.
Ми оберемо практичний і прямий шлях: архітектура, код, підказки та запобіжники. По дорозі ми зробимо вибір на основі наших міркувань, який ви зможете змінити пізніше. До кінця ви матимете робочого агента, який зможе шукати на YouTube, збирати розшифровки, аналізувати кілька відео та створювати чіткі дослідницькі звіти.
Що ми створюємо (і чому це важливо)
- Мета: Агент для дослідження YouTube, який може:
- Шукати на YouTube за запитом
- Ранжувати результати за релевантністю/залученістю
- Отримувати розшифровки (автоматичні субтитри або від сторонніх розробників)
- Розбивати та вбудовувати контент для пошуку
- Використовувати код Claude для синтезу інсайтів з кількох відео
- Виводити структуровані нотатки: резюме, твердження, мітки часу, цитати та посилання
- Основне ключове слово: "Створення агента для дослідження YouTube з використанням коду Claude"
- Формат: Покроковий посібник з кодом і підказками, які можна запустити
- Результати: Дослідницький звіт у форматі Markdown + JSON для програмного використання
Чому це важливо: YouTube — це найбільша публічна база знань, що містить доповіді, уроки, демонстрації та дебати. Але в ній багато шуму. Створення агента для дослідження YouTube з використанням коду Claude дає вам перевагу: ви можете збирати інсайти з десятків відео за лічені хвилини, а не години.
Архітектура в двох словах
Ми зробимо першу версію простою та надійною.
- Вхідні дані: дослідницький запит (наприклад, "архітектури агентів LLM 2025"), необов'язкові обмеження (діапазон дат, канал, тривалість)
- Пошук на YouTube: YouTube Data API v3 (або резервний SerpAPI)
- Розшифровки: YouTube Transcript API; резервний варіант ASR (наприклад, Whisper), якщо недоступно
- Розбиття на частини: Сегментація з урахуванням речень (приблизно 800–1200 токенів)
- Вбудовування: Використовуйте локальну або розміщену модель вбудовування (наприклад,
text-embedding-3-large, nomic-embed-text або bge-large)
- Векторне сховище: Локальний
FAISS для швидкості; можна замінити на Pinecone, Weaviate або Qdrant
- Міркування: Код Claude для оркестрування, використання інструментів, синтезу та виконання коду всередині контрольованого циклу
- Результати: Звіт у форматі Markdown + JSON-індекс із посиланнями, мітками часу та оцінками
Потік даних: Запит → Пошук → Отримання метаданих → Розшифровка → Розбиття на частини → Вбудовування → Отримання Top-K → Синтез кодом Claude → Звіт.
Передумови та налаштування
- API keys:
YOUTUBE_API_KEY, ANTHROPIC_API_KEY (для коду Claude)
- Необов'язково:
OPENAI_API_KEY або локальні вбудовування
google-api-python-client, youtube-transcript-api
faiss-cpu, numpy, pandas, tiktoken (або sentencepiece)
requests, pydantic, tenacity
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
Підказки щодо підказок при створенні агента для дослідження YouTube з використанням коду Claude:
- Запитуйте структуровані вихідні дані як у зручному для читання людиною, так і в машинозчитному форматі
- Забезпечте цитування з мітками часу
- Заохочуйте розкриття невизначеностей і суперечностей
Крок 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"))
Ця базова версія агента для дослідження YouTube з використанням коду Claude буде шукати, отримувати та синтезувати інсайти з кількох відео з посиланнями. Оновіть вбудовування та додайте кешування, щоб підготувати його до виробництва.
Сім покращень, щоб зробити його чудовим
- Кращі вбудовування та гібридний пошук
- Замініть високоякісними вбудовуваннями та додайте пошук за ключовими словами BM25. Гібридний пошук забезпечує краще відкликання для нішевих термінів і кращу точність для абстрактних тем.
- Розширюйте інструменти для збагачення метаданих
- Отримуйте коментарі, співвідношення лайків/дизлайків і авторитет каналу. Додайте повторний ранжувальник (крос-енкодер) для топ-100 кандидатів.
- Багатоетапне планування досліджень
- Використовуйте код Claude, щоб запропонувати план дослідження: підпитання, гіпотези та перевірки охоплення. Виконуйте ітеративно, доки не буде досягнуто пороги охоплення.
- Відстеження доказів і контрдоказів
- Для кожного твердження реєструйте підтверджуючі та суперечливі фрагменти. Представляйте обидва у звітах; додавайте оцінки впевненості.
- Стратегії для довгих відео
- Використовуйте виявлення сцен за допомогою субтитрів або таймінгів слів Whisper. Підсумовуйте по розділах перед глобальним синтезом, щоб уникнути розмивання контексту.
- Зберігайте розшифровки, вбудовування та звіти для кожного запиту. Використовуйте повторно, коли користувачі змінюють фільтри. Додайте дедуплікацію за ідентифікатором відео.
- Формати експорту та доставка
- Експортуйте Markdown, PDF і JSON. Доставка електронною поштою або Slack. Відображайте мітки часу як клікабельні посилання
?t=mmss.
Підказки, які ви можете використовувати повторно
Використовуйте ці шаблони під час створення агента для дослідження YouTube з використанням коду Claude.
Система: Ви — ретельний дослідницький агент. Синтезуйте кілька розшифровок YouTube. Цитуйте вбудовано за допомогою [vID @ mm:ss] і включіть розділ "Джерела" з URL-адресами. Повертайте як звіт у форматі Markdown, так і корисне навантаження JSON тверджень із підтримкою міток часу.
Користувач: Мета дослідження: {topic}
Обмеження: зосередьтесь на {audience or scope}; віддавайте перевагу джерелам у межах {date range}; включайте розбіжності.
Кандидатські уривки (ранжовані):
{retrieved_passages}
Вихід: Підсумок → Ключові висновки (маркери) → Помітні цитати (з мітками часу) → Суперечності та прогалини → Джерела. Потім JSON {"claims": ...}
Запобіжники та етика
- Поважайте права творців: Посилайтеся на оригінальні відео та уникайте публікації великих дослівних розшифровок.
- Будьте прозорими: Показуйте, звідки беруться твердження, використовуючи мітки часу та ідентифікатори відео.
- Уникайте надмірного узагальнення: Зберігайте нюанси; позначайте, коли субтитри створено автоматично і, ймовірно, містять багато помилок.
- Обережно поводьтеся з чутливими темами: Підкреслюйте невизначеність і шукайте різноманітні джерела.
Усунення несправностей: поширені проблеми та виправлення
- "Розшифровку не знайдено"
- Перейдіть на Whisper; спробуйте інші мови; перевірте, чи відео заблоковано за регіоном.
- Оновіть вбудовування; додайте BM25; збільште перекриття частин; параметризуйте top-K.
- Застосуйте строгу схему цитування; карайте непідтримувані твердження; вимагайте точних міток часу, присутніх у отриманих частинах.
- Агресивно кешуйте; зменште
max_results; пакетні запити; додайте відкат за допомогою tenacity.
- Підсумовуйте по розділах; обмежуйте максимальну кількість токенів; використовуйте підказки планування з явним планом.
Вимірювання якості
- Точність@K отриманих частин у порівнянні з позначеним набором
- Рівень вірності: частка тверджень із підтвердженою підтримкою міток часу
- Охоплення: кількість унікальних відповідних відео, на які є посилання
- Затримка: час від запиту до звіту
Приклад: Дослідження "Пояснення векторних баз даних"
- Запит: "векторні бази даних пояснено для розробників 2025"
- Фільтри: відео після 2023 року, тривалість 6–30 хвилин
- Результат: Агент цитує 6 відео, висвітлює компроміси HNSW проти IVF-PQ, обговорює вартість/відкликання та посилається на еталонні показники. Розділ "Суперечності" порівнює заяви постачальників із результатами з відкритим кодом.
До речі: автоматизація цього у вашому робочому процесі
Якщо ви працюєте з документами та кодом, варто автоматизувати останню милю. Невеликий CLI може запускати нічні запити та розміщувати звіти Markdown у вашій базі знань. Ви також можете підключити його до шаблонів проблем для дослідження спринту.
Варто зазначити: якщо ваш робочий процес уже існує на бічній панелі браузера або в AI-помічнику, такі інструменти, як Sider.AI, можуть спростити цикл дослідження — виберіть тему, виконайте пошук, отримайте розшифровки та створіть резюме на основі Claude прямо там, де ви працюєте. Це може заощадити перемикання контексту та зробити створення агента для дослідження YouTube з використанням коду Claude ще більш практичним для команд. Ключові висновки
- Створення агента для дослідження YouTube з використанням коду Claude — це високоефективний спосіб перетворити відео на практичні звіти.
- Мінімальний стек: YouTube API + розшифровки + розбиття на частини + вбудовування + FAISS + синтез Claude.
- Шляхи оновлення: гібридний пошук, повторне ранжування, цикли планування та суворе відстеження цитат.
- Почніть з простого, вимірюйте вірність і ітеруйте до надійності.
Наступні кроки
- Реалізуйте реальну модель вбудовування та гібридне отримання
- Додайте крок повторного ранжування та показники якості
- Створіть заплановане завдання для оновлення тем щотижня
- Упакуйте як CLI та легкий веб-інтерфейс
FAQ
Q1:Як почати створювати агента для дослідження YouTube з використанням коду Claude?
Почніть із пошуку на YouTube, отримайте розшифровки, розбийте контент на частини, вбудуйте у векторне сховище та використовуйте код Claude для синтезу результатів. Наведений вище посібник містить покроковий код для складання робочого конвеєра.
Q2:Які бібліотеки найкраще підходять для агента дослідження YouTube?
Використовуйте YouTube Data API для пошуку, youtube-transcript-api для субтитрів, FAISS для векторного пошуку та Anthropic SDK для виклику коду Claude. Ви можете замінити вбудовування на OpenAI, Nomic або BGE.
Q3:Як забезпечити точні цитати та мітки часу?
Зберігайте мітки часу початку/закінчення під час розбиття на частини та вимагайте від коду Claude цитування [video_id @ mm:ss]. Перевірте, чи існують цитовані мітки часу в отриманих частинах перед публікацією.
Q4:Чи можу я використовувати цього агента для приватних або неперелічених відео?
Так, якщо у вас є доступ і ви можете отримувати розшифровки або запускати локальний ASR (наприклад, Whisper). Завжди поважайте дозволи та уникайте розповсюдження контенту, захищеного авторським правом.
Q5:Як я можу масштабувати цього агента дослідження YouTube для команд?
Додайте кешування, спільне векторне сховище, черги завдань і заплановані запуски. Інтегруйтеся зі Slack або вікі та розгляньте можливість використання помічника на основі браузера, як-от Sider.AI, щоб спростити робочі процеси дослідників.