|

Карпати создал видеосайт за два часа: 6 шагов и 3 подводных камня при воссоздании с Opus 5.5

Карпати создал видеосайт за два часа: 6 шагов и 3 подводных камня при воссоздании с Opus 5.5

За выходные Andrej Karpathy примерно за два часа создал видеосайт HackerTube. С помощью Claude он отобрал из 43 миллионов комментариев на Hacker News за 20 лет 6 454 видео на YouTube, которые пользователи рекомендовали неоднократно. Почти весь процесс свёлся к диалогу с Claude. Вот что сам Karpathy написал в X 1 ноября 2026 года: «~2 hours with Opus 5.5».

На основе оригинального поста Karpathy, сайта HackerTube и публичных пересказов участников сообщества мы разобрали эту историю на 6 шагов, которые может повторить обычный разработчик, и выделили 3 места, где проще всего столкнуться с трудностями.

Главное: в статье вы найдёте процесс из 6 шагов с чётким распределением задач между человеком, программой и моделью, оценку затрат с указанием допущений и кратчайший путь к подключению Claude Code через APIYI apiyi.com.

karpathy-hackertube-opus-5-5-6-steps-3-pitfalls-ru-image-0


Что именно сделал Karpathy с HackerTube

Если коротко: он собрал рекомендации участников сообщества HN за 20 лет — те самые «это видео обязательно нужно посмотреть» — и превратил их в сайт с каталогом видео.

Полный текст публикации Karpathy в X (2026-11-01 18:14 UTC):

«Weekend hack: HackerTube. I was annoyed with YouTube’s recommendations so I had Claude filter down 43M comments over 20 years of HN to 6,454 videos that keep being recommended. Significantly better viewing experience, ~2 hours with Opus 5.5»

Описание сайта hackertube.org гласит: «The YouTube videos that Hacker News keeps telling each other to watch.» То есть в его основе лежит не алгоритм рекомендаций, а семантический отбор уже существующих обсуждений сообщества.

Деталь Публичная информация Источник
Объём данных Около 43 млн комментариев HN за 20 лет, в итоге отобрано 6 454 видео Публикация Karpathy (2026-11-01)
Время и модель Около 2 часов, использовалась Opus 5.5 Публикация Karpathy (2026-11-01)
Рабочая среда Десктопная версия Claude Code Со слов участников сообщества
Действия вручную Всего три: получить API-ключ YouTube, подготовить сервер и купить домен Со слов участников сообщества
Формат сайта Около 150 тем, период с 2007 по 2026 год, вход не требуется По подсчётам сообщества

Как работает HackerTube: главное

По словам участников сообщества, Karpathy говорил: «Я только общаюсь с Claude и поручаю ему всё». Иными словами, загрузку данных, написание скриптов для отбора, вызовы модели для оценки и создание страниц в основном выполнил Claude в Claude Code. Человек же формулировал требования и занимался тем, для чего нужны аккаунты или оплата.

Это совсем не то же самое, что «ИИ написал шаблон веб-страницы». Настоящая сложность здесь — в данных: 43 млн комментариев невозможно поместить в контекстное окно за один раз, а появление ссылки ещё не означает, что видео рекомендуют. Поэтому этот проект скорее похож на конвейер обработки данных с очень простым фронтендом.


Как воссоздать HackerTube с помощью Opus 5.5 за 6 шагов

Главный принцип: сначала программа сокращает объём данных, а затем модель выполняет только те задачи, для которых нужно понимать контекст. Шесть шагов ниже расположены в порядке выполнения. Для каждого указано, кто за него отвечает и как проверить результат.

karpathy-hackertube-opus-5-5-6-steps-3-pitfalls-ru-image-1

Шаг Что сделать Кто делает Как проверить результат
1 Получить API-ключ YouTube, подготовить сервер и купить домен Человек Есть доступ ко всем трём ресурсам, ключ возвращает информацию об одном видео
2 Загрузить все комментарии HN Программа (написанная Claude) Локально есть файлы с разбивкой по годам, количество записей соответствует ожидаемому порядку величины
3 Извлечь комментарии со ссылками на YouTube с помощью регулярного выражения Программа Проверить выборку из 50 записей: каждая содержит действительную ссылку на видео
4 Пакетами передать комментарии модели, чтобы она определила, содержат ли они рекомендацию, и вернула результат в JSON Модель JSON можно сразу разобрать; выборочная ручная проверка подтверждает правильность ответов
5 Сгруппировать записи по videoId и подсчитать упоминания, добавить тематические теги, названия видео и каналов Программа + модель У каждого видео заполнены все поля, количество тем остаётся управляемым
6 Создать фронтенд и развернуть сайт Claude пишет код, человек привязывает домен Домен открывается в браузере, видео можно просматривать по темам и воспроизводить

Шаги 1–2: подготовка ресурсов и загрузка данных HN

Шаг 1 выполняет человек. Создайте проект в консоли Google Cloud, включите YouTube Data API и получите API-ключ. В качестве сервера подойдёт любой облачный хостинг или сервис статического хостинга. Домен можно заранее купить у регистратора. Для всего этого нужны учётные записи или оплата — по пересказам сообщества, именно эту часть Karpathy сделал сам.

На шаге 2 программу пишет Claude. Данные HN доступны из двух открытых источников: официальный Firebase API позволяет получать записи по одной, используя item ID, а публичный набор данных HN в BigQuery — выполнять запросы напрямую через SQL. Для полной загрузки лучше выбрать BigQuery и экспортировать данные по годам. При проверке достаточно убедиться, что файлы разбиты по времени, а общее число записей исчисляется десятками миллионов.

Шаги 3–4: предварительный отбор по правилам и семантическая оценка с помощью Opus 5.5

Шаг 3 — ключ к экономии, его можно полностью доверить программе. С помощью регулярных выражений найдите ссылки формата youtube.com/watch, youtu.be/ и другие, затем сохраните только комментарии со ссылками на видео. Для контекста добавьте ID и время комментария, а также заголовок родительского поста. Достаточно описать задачу в Claude Code, например: «Напиши скрипт, который извлечёт комментарии со ссылками на YouTube и сохранит их в JSONL».

На шаге 4 к оценке подключается модель. Передавайте Opus 5.5 по несколько тысяч комментариев за раз и попросите выводить только структурированные результаты с полями videoId, признак рекомендации, тема и показательная цитата из комментария. В промпте нужно чётко указать, что фразы «это видео ужасное» и «не смотрите это» не считаются рекомендацией: засчитываются только высказывания вроде «стоит посмотреть». Для проверки случайным образом выберите часть результатов и вручную оцените, приемлема ли доля ошибок.

Шаги 5–6: агрегация, разметка и развёртывание фронтенда

На шаге 5 сначала применяем правила, затем модель. Программа подсчитывает, сколько раз рекомендовали каждое видео, по videoId, а затем получает название и канал через YouTube Data API. Объединение тематических меток поручаем модели, чтобы избежать слишком раздробленных категорий вроде «машинное обучение», «ML» и «введение в глубокое обучение». По подсчётам сообщества, в HackerTube получилось около 150 тем — на это число можно ориентироваться при выборе степени детализации.

На шаге 6 отделяем данные от страницы. На выходе получаем JSON-файл с данными и статический фронтенд, который его читает. Видео встраиваются через YouTube iframe и сортируются по темам и популярности. При обновлении данных достаточно заново сгенерировать JSON — код страницы менять не нужно. Развернуть фронтенд можно на статическом хостинге или собственном сервере, а затем вручную настроить DNS для домена.

🚀 Быстрый старт: на шагах 4 и 5 придётся часто вызывать модель. Подключив Claude Code через APIYI apiyi.com, можно переключаться между Opus и Sonnet с одним и тем же API-ключом. Сначала проверьте весь процесс на небольшой выборке, а затем решите, какую модель использовать для полной обработки.


Три проблемы, которые действительно могут застопорить создание копии HackerTube

Начнём с главного: почти все сложности связаны с данными, а не с созданием сайта. Ниже три проблемы в том порядке, в котором вы с ними столкнётесь.

karpathy-hackertube-opus-5-5-6-steps-3-pitfalls-ru-image-2

Проблема Как проявляется Решение
Данные не помещаются в контекстное окно Модель просят «прочитать все комментарии», но она выдаёт ошибку из-за превышения лимита или обрезает ответ Разбить данные по годам и месяцам, по несколько тысяч записей в каждой части, и запрашивать только структурированный JSON
Ссылка ≠ рекомендация Ссылки из критических, ироничных или исправляющих комментариев принимаются за рекомендации Поручить модели оценивать контекст комментария и выборочно проверять результаты вручную
Разные форматы ID и квота Разные ссылки на одно видео, удалённые видео, исчерпанная квота API Сначала привести videoId к единому формату и сгруппировать записи, затем запросить метаданные только для уникальных ID

Проблема 1: 43 миллиона комментариев не помещаются в контекстное окно Opus 5.5

Самая частая ошибка новичков — просто попросить модель: «Прочитай все комментарии HN и найди рекомендованные видео». Каким бы большим ни было контекстное окно модели, текст объёмом более миллиарда токенов за один раз в него не поместится. Правильный подход — попросить Claude написать скрипт для разбиения данных по годам или месяцам, оставить в каждой части по несколько тысяч записей и потребовать от модели возвращать только JSON, без пояснений.

Также стоит предусмотреть возможность продолжить обработку после сбоя: сохранять результаты каждой части отдельно и записывать номера уже обработанных частей. Если на середине работы возникнет ошибка, достаточно будет повторно обработать только те части, на которых произошёл сбой, а не начинать всё заново.

Проблема 2: ссылка на YouTube не обязательно означает рекомендацию

Ссылка на YouTube в комментарии HN может указывать на рекомендацию, а может приводиться как контрпример, повод для критики или означать: «В этом видео всё объяснили неправильно». Простой поиск URL добавит в результаты много шума. Здесь нужно поручить модели прочитать контекст — это тот этап процесса, где действительно нужна большая языковая модель.

В промпте стоит привести положительные и отрицательные примеры, а к каждому решению попросить добавить цитату из комментария, которая его обосновывает. Так при выборочной проверке будет проще понять, почему модель отнесла ссылку к той или иной категории. А на сайте эту цитату можно использовать в карточке видео как раздел «Что говорят на HN».

Проблема 3: разные форматы videoId и квота YouTube API

Одно и то же видео может встречаться в виде youtube.com/watch?v=, youtu.be/, ссылки для мобильных устройств или ссылки с параметром временной метки. Если сначала не привести их к 11-символьному videoId, рекомендации одного видео будут учтены отдельно, а сортировка окажется неточной. Кроме того, за 20 лет многие видео были удалены или стали приватными — их нужно отдельно отмечать и отфильтровывать.

У YouTube Data API есть ограничение на количество запросов в день, поэтому сначала нужно удалить дубликаты и только потом пакетно запросить метаданные, а не делать запрос для каждого комментария. Пакетный интерфейс позволяет за один раз получить данные по нескольким ID и значительно сократить расход квоты.


Сколько примерно стоит воспроизвести HackerTube

Коротко: если передать все данные Opus 5.5, стоимость составит тысячи долларов; если сначала отобрать данные по правилам — от нескольких десятков до сотен долларов. Все цифры ниже — оценки, а не фактические расходы.

Начнём с цен. Таблица составлена по прайс-листу моделей APIYI на 2026-10-27 14:50 (UTC+8). Цены указаны в долларах за миллион токенов.

Модель Вход Выход Чтение из кеша Доступные платформы
opus-5-5 $4 $20 $0.2 APIYI apiyi.com, официальный API
sonnet-5-5 $2 $10 $0.1 APIYI apiyi.com, официальный API

karpathy-hackertube-opus-5-5-6-steps-3-pitfalls-ru-image-3

Предположения для расчёта: 43 миллиона комментариев, в среднем по 30 токенов в каждом — всего около 1,3 миллиарда токенов; в каждом пакете — 50 тысяч входных и 5 тысяч выходных токенов, всего около 26 тысяч пакетов. «500 тысяч оставшихся комментариев» после предварительного отбора — условное число для демонстрации расчёта, а не реальная статистика HN. Фактическое количество станет известно только после выполнения шага 3.

Вариант Входные токены Выходные токены Оценка для opus-5-5 Оценка для sonnet-5-5
Передать все данные модели напрямую Около 1,3 млрд Около 130 млн Около $5,200 + $2,600 ≈ $7,800 Около $2,600 + $1,300 ≈ $3,900
Сначала отобрать по правилам (предположительно останется 500 тыс. записей) Около 15 млн Около 1,5 млн Около $60 + $30 ≈ $90 Около $30 + $15 ≈ $45

Как видно из таблицы, предварительный отбор по правилам на шаге 3 определяет порядок затрат на весь проект. Кроме того, системный промпт и положительные и отрицательные примеры повторяются в каждом запросе. Благодаря низкой цене чтения из кеша расходы на них можно дополнительно сократить. Есть и пример из сообщества: пользователь X @thisiskp_ рассказал, что создал демоверсию видеосайта Show HN с помощью Opus 5.5 примерно за 19 минут и около 2 долларов. Это всего лишь один пример: масштаб проекта и объём данных другие, поэтому напрямую сравнивать их нельзя.

💰 Совет по расчёту затрат: прежде чем запускать обработку всех данных, проверьте весь процесс на данных за один месяц. Запишите фактический расход токенов и умножьте его на число месяцев, чтобы оценить общий объём. На APIYI apiyi.com действует оплата по факту использования, без фиксированной ежемесячной платы. Это удобно, если вы хотите сначала попробовать на небольшой выборке, а затем определить масштаб.


Запускаем процесс HackerTube в Claude Code через APIYI

Коротко: достаточно задать две переменные окружения, и Claude Code сможет вызывать Opus 5.5 через APIYI. С одним и тем же ключом можно переключаться между opus-5-5 и sonnet-5-5.

[Место для скриншота: документация APIYI по подключению Claude Code]

Согласно документации APIYI по подключению Claude Code (docs.apiyi.com/scenarios/programming/claude-code), в терминале нужно задать две переменные:

  • ANTHROPIC_BASE_URL=https://api.apiyi.com
  • ANTHROPIC_AUTH_TOKEN=<你的 APIYI Key>

После этого запустите Claude Code и выберите в настройках модели opus-5-5 или sonnet-5-5. На практике можно разделить задачи по принципу «мощная модель планирует, экономичная — выполняет»:

  1. Для планирования и написания кода используйте opus-5-5: поручите ей разработать схему разбиения на части, написать скрипты сбора данных и предварительного отбора, а также создать фронтенд. Токенов на это уйдёт немного, но требования к качеству высокие.
  2. Для пакетной оценки сравните обе модели: обработайте одну и ту же выборку из нескольких сотен записей с помощью opus-5-5 и sonnet-5-5, вручную сравните точность их оценок и решите, какую модель использовать для 26 тысяч пакетов или пакетов после предварительного отбора.
  3. Для объединения тем вернитесь к opus-5-5: чтобы свести воедино около 150 тем, нужен взгляд на общую картину. Вызовов будет немного, поэтому надёжнее использовать мощную модель.

🎯 Технический совет: после создания ключа в консоли APIYI на apiyi.com можно установить отдельный лимит расходов для этого проекта. Это поможет избежать неконтролируемых затрат, если скрипт пакетной обработки зациклит вызовы. Бесплатного тестового лимита для новых пользователей хватит, чтобы обработать выборку данных за месяц.


Для каких ещё данных подойдёт метод Karpathy из HackerTube

Коротко: этот конвейер можно применить везде, где среди множества обсуждений сообщества встречаются рекомендации ресурсов.

  • Технические разделы Reddit: отбирайте книги, курсы или репозитории с открытым кодом, которые рекомендуют снова и снова. Структура конвейера почти не изменится — достаточно заменить регулярное выражение для ссылок.
  • GitHub Issues и обсуждения: извлекайте ссылки на статьи в блогах или решения, которые цитируют несколько раз, и собирайте список обязательных материалов по проекту.
  • Внутренние чаты и комментарии к документам: контент-команда может найти в старых обсуждениях материалы, которыми коллеги неоднократно делились. Главное — убедиться, что у вас есть право использовать эти данные.
  • Рекомендации подкастов и научных статей: замените регулярное выражение для ссылок на формат arXiv или платформ для подкастов — и получите список статей и выпусков, которые действительно рекомендует сообщество.

При переносе метода нужно изменить только две вещи: правила предварительного отбора на шаге 3 и положительные и отрицательные примеры в промпте на шаге 4. Конвейер данных, пакетные вызовы модели, структуру JSON и статический фронтенд можно использовать повторно.


Частые вопросы FAQ

Q1: Можно ли сделать сайт вроде HackerTube без API-ключа YouTube?

Основную часть — да. videoId извлекается из ссылок в комментариях, а видео встраивается через iframe: для этого API-ключ не нужен. Но без него не получить метаданные, например названия видео и каналов. Сначала можно попросить модель сгенерировать описания на основе контекста комментариев HN, а ключ добавить позже.

Q2: Как получить данные комментариев Hacker News?

Есть два способа. Официальный Firebase API HN (github.com/HackerNews/API) позволяет получать данные по item ID и подходит для инкрементального обновления. Публичный набор данных HN в BigQuery удобен для разового полного экспорта. Если хотите полностью воспроизвести проект, лучше начать со второго варианта.

Q3: Почему бы просто не сделать рекомендательный алгоритм?

Всё началось с того, что Karpathy был недоволен рекомендациями YouTube. HackerTube опирается на коллективную оценку сообщества за 20 лет: ему не нужны данные о поведении пользователей, у него нет проблемы холодного старта, а сделать его можно за два часа. Рекомендательному алгоритму, напротив, нужны длительное накопление данных и постоянная настройка.

Q4: За «2 часа» всё было сделано автоматически?

Не полностью. По словам участников сообщества, Karpathy вручную получил API-ключ YouTube, подготовил сервер и купил домен. Остальную работу он выполнил в диалоге с Claude. За человеком всё равно остаются постановка задачи, приёмка результата и действия, для которых нужны аккаунты. При самостоятельном повторении проекта также стоит заложить время на настройку промптов и выборочную ручную проверку.

Q5: Не выйдут ли расходы на этот метод из-под контроля?

Если пропустить предварительный отбор и сразу передать модели все данные, расходы могут достигнуть нескольких тысяч долларов. Чтобы этого избежать, сначала отберите данные по правилам, затем обработайте выборку за один месяц для оценки затрат и установите лимит расходов для API-ключа на APIYI apiyi.com. Актуальные модели и цены смотрите в списке моделей на платформе.


Итоги

HackerTube от Karpathy доказывает: с помощью Claude Code и Opus 5.5 один человек может за выходные превратить миллионы обсуждений сообщества в работающий продукт. Но ключевую роль здесь сыграло не «автоматическое создание сайта с помощью ИИ», а проектирование конвейера обработки данных.

  • Процесс: подготовка ресурсов → загрузка данных → предварительная фильтрация по правилам → оценка моделью → агрегирование и разметка → развёртывание. Задачи чётко распределены между человеком, программой и моделью.
  • Сложности: выделение фрагментов контекста, определение того, является ли упоминание рекомендацией, нормализация videoId и квоты API.
  • Стоимость: обработка всего массива обойдётся в несколько тысяч долларов, а после предварительной фильтрации — от нескольких десятков до нескольких сотен. В обоих случаях ориентироваться нужно на результаты собственного теста на небольшой выборке.
  • Начало работы: достаточно двух переменных окружения, чтобы Claude Code вызывал opus-5-5 и sonnet-5-5 через APIYI.

Если хотите применить этот подход к своим данным, начните с небольшой выборки за один месяц. Пройдите весь процесс с помощью бесплатного лимита на APIYI apiyi.com, а затем решите, какой масштаб вам нужен.


Источники

  1. Оригинальный пост Karpathy (2026-11-01): объявление о запуске HackerTube
  2. Ссылка: x.com/karpathy/status/2116957135661945283
  3. Описание: первоисточник данных о масштабе, затраченном времени и модели

  4. Сайт HackerTube: готовый проект

  5. Ссылка: hackertube.org
  6. Описание: тематические категории и примеры страниц

  7. Документация APIYI по подключению Claude Code: настройка переменных окружения

  8. Ссылка: docs.apiyi.com/scenarios/programming/claude-code
  9. Описание: шаги подключения Claude Code

  10. Полный список цен на модели APIYI: стоимость моделей

  11. Ссылка: docs.apiyi.com/models
  12. Описание: актуальные модели и цены

  13. Официальная документация Hacker News API: получение данных

  14. Ссылка: github.com/HackerNews/API
  15. Описание: структура item и способы получения данных

Читайте также

Похожие записи