Практические разборы l3_builders

Nightly research radar: как не плодить дубли тем

Практический case debug CodeVibers: как сделать nightly research radar идемпотентным, чтобы повторный запуск не создавал дубли тем и не ломал video pipeline.

Видео по теме

Практический case debug CodeVibers: как сделать nightly research radar идемпотентным, чтобы повторный запуск не создавал дубли тем и не ломал video pipeline.

Таймкоды

  • 00:00 Брендовая заставка
  • 00:06 Кто такой CodeVibers
  • 00:23 Что разбираем
  • 00:38 Что забрать из выпуска
  • 00:52 Плохой повторный запуск
  • 01:09 Dedupe config
  • 01:29 Registry upsert
  • 01:46 Граница пайплайнов
  • 02:02 Smoke tests
  • 02:16 Planner gate
  • 02:34 Что делать дальше

Shorts

Источники выпуска

  • CodeVibers internal material research radar documentation
  • CodeVibers internal pipeline scripts
  • CodeVibers internal pipeline scripts

Суть темы

Практический case debug CodeVibers: как сделать nightly research radar идемпотентным, чтобы повторный запуск не создавал дубли тем и не ломал video pipeline.

Что важно забрать

  • После просмотра зритель сможет добавить idempotency key, semantic fingerprint, registry boundary и smoke tests в свой контентный или агентный пайплайн.
  • Показать разработчику, как проектировать nightly research radar так, чтобы повторный запуск был безопасным и проверяемым.
  • Это не обзор AI-контента и не разговор про публикации. Выпуск разбирает конкретный production-class дефект: один и тот же инфоповод попадает в систему несколько раз и начинает ломать планирование.
  • После выпуска про MCP workflow дать applied-разбор собственной контентной фабрики: не tools, а надежность повторяемого ночного процесса.

Как применять на практике

Используйте материал как отправную точку: сформулируйте задачу, ограничьте область применения, выберите метрику качества и проверьте результат на небольшом сценарии до внедрения в production.

Практические шаги

  1. Показать failing case: два похожих candidates от разных источников создают два planned materials.
  2. Добавить normalized_source_key и semantic_fingerprint.
  3. Перевести registry write из append в upsert by material_id.
  4. Разделить boundary: radar promotes, planner selects, video factory publishes.
  5. Запустить smoke tests: repeat run, tracking params, same claim, partial failure.

Рекомендации

  • Считайте idempotency key из нормализованного source URL, canonical title и date bucket.
  • Добавьте semantic fingerprint: topic cluster, main claim, affected tool/model, audience level.
  • Храните registry update как upsert, а не append.
  • Разделите статусы: candidate, promoted, selected, in_production, published, rejected_duplicate.
  • Запускайте smoke tests на повторном запуске до публикации, а не после появления дубля в YouTube.

Требования и ограничения

  • Radar не должен выбирать выпуск напрямую; он только обогащает registry/backlog.
  • Planner не должен брать материал без stable material_id и duplicate check.
  • Video factory не должен выполнять enrichment как основной шаг.
  • Повторный запуск за тот же день обязан давать тот же набор promoted materials или explicit update.
  • Любой partial failure должен оставлять machine-readable run report.

Примеры

  • Один и тот же релиз модели пришел из blog post и GitHub release: это один material с двумя sources, а не две темы.
  • Название новости изменилось, но main claim тот же: registry обновляет title/description, но material_id сохраняется.
  • Появился benchmark спустя день: это follow-up update, если меняет вывод, и duplicate, если просто повторяет пресс-релиз.

Антипримеры

  • Каждый запуск radar добавляет новую строку, потому что title немного изменился или источник пришел из другого канала.
  • Video factory ночью видит свежий candidate и начинает выпуск без проверки semantic overlap с опубликованными роликами.

Как проверить готовность

  • Повторный запуск одного fixture не меняет количество promoted materials.
  • Same source URL with tracking params maps to the same material_id.
  • Different source URL with same main claim becomes additional source, not new material.
  • Partial failure can be resumed without duplicate append.

Навигация по выпуску

  • 00:00 Брендовая заставка
  • 00:06 Кто такой CodeVibers
  • 00:23 Что разбираем
  • 00:38 Что забрать из выпуска
  • 00:52 Плохой повторный запуск
  • 01:09 Dedupe config
  • 01:29 Registry upsert
  • 01:46 Граница пайплайнов
  • 02:02 Smoke tests
  • 02:16 Planner gate
  • 02:34 Что делать дальше