РелизРазбор · На радарHabr AI→ оригинал

Редактор прогнал 30 интервью через Claude: цитаты верны, а вердикт «не смотри» модель не ставит

Журналист Pressfeed взял данные HackerTube Карпатого и поручил Claude Sonnet писать русские карточки к 30 интервью. Код сверял цитаты с расшифровками: 26 совпали точно, 4 почти. Но остальной текст модель местами додумывала, а вердикт «хватит карточки» не поставила ни одному длинному интервью.

AI-обработка оригинала Habr AI; редакция Hamidun News
Редактор прогнал 30 интервью через Claude: цитаты верны, а вердикт «не смотри» модель не ставит
Источник: Habr AI. Коллаж: Hamidun News.
Слушать статью
Паспорт материала и цифры
ПараметрДанные
ПервоисточникHabr AI ↗
Главный редактор
Ключевой факт #1Цитаты и таймкоды проверяются кодом, остальной текст нужно вычитывать
Ключевой факт #2Модель выдумала банкротство героя и перепутала даты
Ключевой факт #3Без размышлений карточка стоит около 1000 токенов и 20 секунд

Андрей Карпатый за выходные собрал HackerTube: витрину из 6454 видео, которые годами советуют друг другу участники Hacker News. Основатель Pressfeed и редактор журнала «Сигнал» решил сделать на тех же данных другой продукт: не ссылку на видео, а русскую карточку, которая читается за минуту и отвечает, стоит ли открывать ролик. Данные лежат под лицензией ODC-By, форки приветствуются.

Задача знакома каждому, кто строил LLM-пайплайн: модель генерирует бодрый текст, а проверить его автоматически можно лишь частично. Самое полезное в этой истории как раз то, где проходит граница проверяемого.

Как устроен конвейер

Из 6454 видео автор оставил интервью и подкасты, получилось 435. После удаления новостных однодневок и роликов, которые лишь упоминали, осталось 310, из них вручную выбрано 30. Всё работает локально на Python, без очередей и баз данных. yt-dlp забирает субтитры, их режут на блоки примерно по минуте с таймкодами. Блоки вместе с комментариями Hacker News уходят в Claude Sonnet, а тот возвращает JSON: кто говорит, три главные мысли, цитата, вердикт. Дальше код проверяет утверждения модели, и Python собирает статические страницы для nginx.

Что проверил код, а что не смог

Главное правило: модель не может просто заявить, что герой это сказал. Английскую цитату код ищет в расшифровке. Совпала символ в символ, статус «точно». Нашёлся очень похожий кусок (ratio не ниже 0,85), статус «почти». Не нашлось ничего, модель получает вторую попытку, а потом цитата просто не показывается. Из 30 цитат 26 совпали точно, 4 почти, выбрасывать не пришлось ни одной. Таймкоды работают так же: принимается только номер блока, реально существующий в транскрипте.

Но остальной текст так не проверишь, и при ручной вычитке нашлось три типа проблем.

Первая: выдуманный факт. Крису Сакке модель приписала личное банкротство, хотя в расшифровке он говорит обратное: от банкротства отказался и выплачивал долг сам. Слова «долг», «миллионы», «ответственность» стояли рядом, и модель договорила историю так, как такие истории обычно кончаются.

Вторая: время. Разговор Карпатого с Лексом Фридманом назван вышедшим «когда ChatGPT только появился», хотя видео загружено 29 октября 2022 года, за месяц до его запуска.

Третья, самая частая: красивые непроверяемые суперлативы вроде «единственное длинное интервью» или «нигде больше не задокументировано». Минимум пять на 30 карточек. Вывод автора стоит запомнить: подозревать надо не странные истории, а гладкие обобщения. История про конфискованный шахматный компьютер Кена Томпсона звучала дико, но оказалась правдой.

Модель не умеет говорить «не смотри»

У каждой карточки есть вердикт: смотреть целиком, смотреть отрезок или хватит карточки. В первом проходе модель выдала 0 «целиком», 25 «отрезок» и 5 «хватит карточки», причём все пять достались роликам короче пяти минут. После ужесточения промпта (отрезок не длиннее 25 минут, «хватит» примерно для каждого третьего видео, перегенерация при нарушении) стало хуже: «хватит карточки» исчезло совсем, а часовые отрезки пережили повторный запрос. Итоговые четыре вердикта «хватит» поставил человек: Гейтсу, Хинтону, Хотцу и Сакке. Автор честно отмечает, что видео целиком никто не пересматривал.

Сколько это стоит

С размышлениями модель тратит 10–20 тысяч выходных токенов и 2–5 минут на карточку, но проверено лишь несколько карточек. Без размышлений карточка стоит около тысячи токенов и 20 секунд. Проход по 30 видео в три потока занимает около 5 минут и около 640 тысяч входных токенов. Автор выбрал второй режим плюс ручную вычитку.

Что из этого вынести

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

И ещё один побочный вывод: смещение исходных данных наследуется. Рейтинг Карпатого награждает давно повторяемые советы, поэтому самому свежему видео три года, а почти половине десять лет и больше. Для классики это не беда, но для актуальных тем нужен другой отбор.

Сюжет

Вопросы и ответы по материалу

Что известно по теме: как устроен конвейер?

Из 6454 видео автор оставил интервью и подкасты, получилось 435. После удаления новостных однодневок и роликов, которые лишь упоминали, осталось 310, из них вручную выбрано 30. Всё работает локально на Python, без очередей и баз данных. yt-dlp забирает субтитры, их режут на блоки примерно по минуте с таймкодами. Блоки вместе с комментариями Hacker News уходят в Claude Sonnet, а тот возвращает JSON: кто говорит, три главные мысли, цитата, вердикт.

Что известно по теме: что проверил код, а что не смог?

Главное правило: модель не может просто заявить, что герой это сказал. Английскую цитату код ищет в расшифровке. Совпала символ в символ, статус «точно». Нашёлся очень похожий кусок (ratio не ниже 0,85), статус «почти». Не нашлось ничего, модель получает вторую попытку, а потом цитата просто не показывается. Из 30 цитат 26 совпали точно, 4 почти, выбрасывать не пришлось ни одной. Таймкоды работают так же: принимается только номер блока, реально существующий в транскрипте.

Что известно по теме: модель не умеет говорить «не смотри»?

У каждой карточки есть вердикт: смотреть целиком, смотреть отрезок или хватит карточки. В первом проходе модель выдала 0 «целиком», 25 «отрезок» и 5 «хватит карточки», причём все пять достались роликам короче пяти минут. После ужесточения промпта (отрезок не длиннее 25 минут, «хватит» примерно для каждого третьего видео, перегенерация при нарушении) стало хуже: «хватит карточки» исчезло совсем, а часовые отрезки пережили повторный запрос.

ЖХ
Жемал Хамидун — CPO Alpina Digital, продакт-менеджер AlpinaGPT. Делает AI-продукты с 2019 года. Hamidun News — pet project, который вырос в production-агрегатор с 6000+ читателей.
✦ Единое AI-пространство · Nomad

Протестируйте новые LLM и мультимодальные модели в одном окне

Платформа Nomad AI (nomadnet.ai) даёт прямой доступ к Claude Opus 5.5, GPT-6, Gemini 3.1, DeepSeek и автономным агентам без VPN, зарубежных карт и зоопарка подписок.

Открыть Nomad AI →Автономный Nomad Agent
Что вы думаете?
Загружаем комментарии…