Пошаговая инструкция: создание агента для исследования YouTube с помощью Claude Code
Если вы когда-нибудь тратили полдня, проваливаясь в кроличью нору YouTube, только чтобы забыть, какие видео стоило сохранить, вы не одиноки. А теперь представьте себе неутомимого помощника, который может быстро находить лучшие видео, извлекать резюме, вытаскивать ключевые цитаты, добавлять отметки времени для важных моментов и предоставлять источники по запросу. Именно это и может делать агент для исследования YouTube. В этом пошаговом руководстве мы создадим практичного агента для исследования YouTube с помощью Claude Code, предназначенного для авторов контента, аналитиков, студентов и одержимых учеников, которые хотят получать только полезную информацию, а не шум.
Мы пойдем практичным и прямым путем: архитектура, код, подсказки и меры предосторожности. Попутно мы будем делать обоснованные выборы, которые вы сможете изменить позже. К концу руководства у вас будет работающий агент, который сможет искать на YouTube, собирать расшифровки, анализировать несколько видео и создавать четкие исследовательские отчеты.
Что мы создаем (и почему это важно)
- Цель: агент для исследования YouTube, который может:
- Искать на YouTube по запросу
- Ранжировать результаты по релевантности/вовлеченности
- Получать расшифровки (автоматические субтитры или сторонние)
- Разбивать и встраивать контент для поиска
- Использовать Claude Code для синтеза информации из нескольких видео
- Выводить структурированные заметки: резюме, утверждения, отметки времени, цитаты и ссылки
- Основной ключевой запрос: "Создание агента для исследования YouTube с помощью Claude Code"
- Формат: пошаговое руководство с запускаемым кодом и подсказками
- Выходные данные: краткий отчет об исследовании в формате Markdown + JSON для программного использования
Почему это важно: YouTube — это крупнейшая общедоступная база знаний, содержащая доклады, уроки, демонстрации и дебаты. Но в ней много шума. Создание агента для исследования YouTube с помощью Claude Code дает вам преимущество: вы можете агрегировать информацию из десятков видео за минуты, а не часы.
Архитектура вкратце
Мы сделаем первую версию простой и надежной.
- Входные данные: исследовательский запрос (например, "архитектуры 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 Code для оркестровки, использования инструментов, синтеза и выполнения кода внутри контролируемого цикла
- Выходные данные: отчет в формате Markdown + индекс JSON со ссылками, отметками времени и оценками
Поток данных: Запрос → Поиск → Получение метаданных → Расшифровка → Разбиение на части → Встраивание → Получение топ‑K → Синтез Claude Code → Отчет.
Необходимые условия и настройка
- Ключи API:
YOUTUBE_API_KEY, ANTHROPIC_API_KEY (для Claude Code)
- Необязательно:
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.
# файл: 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 Code:
- Запрашивайте структурированные выходные данные как в удобочитаемом, так и в машиночитаемом форматах
- Требуйте цитаты с указанием времени
- Поощряйте раскрытие неопределенностей и противоречий
Шаг 6: Соединяем все вместе
Давайте соединим запрос → поиск → расшифровки → фрагменты → встраивания → извлечение → синтез.
# файл: 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 Code будет искать, извлекать и синтезировать информацию из нескольких видео со ссылками. Обновите встраивания и добавьте кэширование, чтобы подготовить его к производству.
Семь улучшений, чтобы сделать его отличным
- Улучшенные встраивания и гибридный поиск
- Замените высококачественные встраивания и добавьте поиск ключевых слов BM25. Гибридный поиск обеспечивает больший охват нишевых терминов и лучшую точность абстрактных тем.
- Расширьте инструменты для получения более богатых метаданных
- Получите комментарии, соотношение лайков/дизлайков и авторитет канала. Добавьте повторное ранжирование (cross-encoder) для 100 лучших кандидатов.
- Многоэтапное планирование исследований
- Используйте Claude Code для предложения плана исследования: подвопросы, гипотезы и проверки охвата. Выполняйте итеративно, пока не будут достигнуты пороговые значения охвата.
- Отслеживание доказательств и контрдоказательств
- Для каждого утверждения записывайте подтверждающие и противоречащие фрагменты. Представляйте и то, и другое в отчетах; добавьте оценки достоверности.
- Стратегии для длинных видео
- Используйте обнаружение сцен с помощью субтитров или временных меток слов Whisper. Суммируйте каждую секцию перед глобальным синтезом, чтобы избежать размытия контекста.
- Храните расшифровки, встраивания и отчеты для каждого запроса. Повторно используйте их, когда пользователи изменяют фильтры. Добавьте дедупликацию по ID видео.
- Форматы экспорта и доставка
- Экспортируйте в Markdown, PDF и JSON. Доставка по электронной почте или Slack. Отображайте отметки времени как кликабельные ссылки
?t=mmss.
Подсказки, которые вы можете повторно использовать
Используйте эти шаблоны при создании агента для исследования YouTube с помощью Claude Code.
Система: Вы — дотошный исследовательский агент. Синтезируйте информацию из нескольких расшифровок YouTube. Ссылайтесь на источники в тексте с помощью [vID @ mm:ss] и включите раздел «Источники» с URL-адресами. Возвращайте как краткий отчет в формате Markdown, так и JSON-данные с утверждениями и подтверждающими отметками времени.
Пользователь: Цель исследования: {topic}
Ограничения: сосредоточьтесь на {audience or scope}; предпочитайте источники в пределах {date range}; включите разногласия.
Кандидатные фрагменты (ранжированные):
{retrieved_passages}
Вывод: Резюме → Ключевые выводы (маркированные списки) → Примечательные цитаты (с отметками времени) → Противоречия и пробелы → Источники. Затем JSON {\"claims\": ...}
Меры предосторожности и этика
- Уважайте права авторов: Ссылайтесь на оригинальные видео и избегайте публикации больших дословных расшифровок.
- Будьте прозрачны: Показывайте, откуда взяты утверждения, используя отметки времени и ID видео.
- Избегайте чрезмерного обобщения: Сохраняйте нюансы; отмечайте, когда субтитры созданы автоматически и, вероятно, содержат много ошибок.
- Осторожно обращайтесь с деликатными темами: Подчеркивайте неопределенность и ищите разнообразные источники.
Устранение неполадок: распространенные проблемы и исправления
- Переключитесь на Whisper; попробуйте другие языки; проверьте, не заблокировано ли видео по регионам.
- Обновите встраивания; добавьте BM25; увеличьте перекрытие фрагментов; настройте параметры top-K.
- Принудительно используйте строгую схему ссылок; наказывайте за неподдерживаемые утверждения; требуйте точные отметки времени, присутствующие в извлеченных фрагментах.
- Агрессивно кэшируйте; уменьшите
max_results; пакетные запросы; добавьте отсрочку с помощью tenacity.
- Суммируйте каждую секцию; ограничьте максимальное количество токенов; используйте подсказки планирования с явным планом.
Измерение качества
- Точность@K извлеченных фрагментов по сравнению с помеченным набором
- Показатель достоверности: доля утверждений с проверяемой поддержкой отметок времени
- Охват: количество уникальных релевантных процитированных видео
- Задержка: время от запроса до отчета
Пример: исследование «Объяснение векторных баз данных»
- Запрос: «векторные базы данных объяснение для разработчиков 2025»
- Фильтры: видео после 2023 года, продолжительность 6–30 минут
- Результат: Агент цитирует 6 видео, выделяет компромиссы между HNSW и IVF-PQ, обсуждает стоимость/отзыв и ссылки на тесты. Раздел «Противоречия» сравнивает заявления поставщиков с результатами с открытым исходным кодом.
Кстати: автоматизация этого внутри вашего рабочего процесса
Если вы работаете с документами и кодом, стоит автоматизировать последнюю милю. Небольшой CLI может запускать ночные запросы и помещать краткие отчеты Markdown в вашу базу знаний. Вы также можете подключить его к шаблонам задач для спринтерских исследований.
Стоит отметить: если ваш рабочий процесс уже находится на боковой панели браузера или в AI-помощнике, такие инструменты, как Sider.AI, могут упростить цикл исследований — выберите тему, запустите поиск, запишите расшифровки и составьте сводку на основе Claude прямо там, где вы работаете. Это может сэкономить переключение контекста и сделать создание агента для исследования YouTube с помощью Claude Code еще более практичным для команд. Ключевые выводы
- Создание агента для исследования YouTube с помощью Claude Code — это эффективный способ превратить видео в действенные отчеты.
- Минимальный стек: YouTube API + расшифровки + разбиение на части + встраивания + FAISS + синтез Claude.
- Пути обновления: гибридный поиск, повторное ранжирование, циклы планирования и строгое отслеживание ссылок.
- Начните с простого, измерьте достоверность и итеративно двигайтесь к надежности.
Следующие шаги
- Реализуйте реальную модель встраивания и гибридный поиск
- Добавьте этап повторного ранжирования и метрики качества
- Создайте запланированное задание для еженедельного обновления тем
- Упакуйте как CLI и легкий веб-интерфейс
FAQ
Q1:Как начать создавать агента для исследования YouTube с помощью Claude Code?
Начните с поиска на YouTube, получите расшифровки, разделите контент на части, встройте в векторное хранилище и используйте Claude Code для синтеза результатов. В приведенном выше руководстве представлены пошаговые инструкции по сборке рабочего конвейера.
Q2:Какие библиотеки лучше всего подходят для агента для исследования YouTube?
Используйте YouTube Data API для поиска, youtube-transcript-api для субтитров, FAISS для векторного поиска и Anthropic SDK для вызова Claude Code. Вы можете заменить встраивания на OpenAI, Nomic или BGE.
Q3:Как обеспечить точные ссылки и отметки времени?
Сохраняйте отметки времени начала/окончания во время разбиения на части и требуйте, чтобы Claude Code ссылался на [video_id @ mm:ss]. Перед публикацией убедитесь, что указанные отметки времени существуют в извлеченных фрагментах.
Q4:Могу ли я использовать этого агента для частных или незарегистрированных видео?
Да, если у вас есть доступ и вы можете получить расшифровки или запустить локальный ASR (например, Whisper). Всегда соблюдайте разрешения и избегайте распространения контента, защищенного авторским правом.
Q5:Как масштабировать этого агента для исследования YouTube для команд?
Добавьте кэширование, общее векторное хранилище, очереди заданий и запланированные запуски. Интегрируйтесь со Slack или вики и рассмотрите возможность использования помощника на базе браузера, такого как Sider.AI, для оптимизации рабочих процессов исследователей.