Радар для GitHub: критерий и граница - у человека
Я написал
Ну, как я… Вместе с помощниками-агентами мы сделали repka.deda - личный радар для GitHub. Оператор описывает область, например «MCP-серверы»; локальная модель-классификатор отсеивает лишнее, а по расписанию в мессенджер приходит короткий дайджест нового и растущего. Мне он нужен, чтобы видеть, какие технологии и идеи появляются, доходят до кода и набирают силу. Мой репо для вас: https://github.com/ast-ashulga/as.repka.deda
Что можно вынести из этой работы
Когда поиск дёшев, у человека должны остаться две вещи - критерий «что считать находкой» и граница того, что инструмент делает сам. В посте «Дёшево находить, дорого проверять» три автора сходились в том, что при дешёвой генерации узкое место - проверка. С поиском то же: найти тысячи репозиториев ничего не стоит, дорого решить, какие из них стоят внимания. На данных repka.deda это хорошо видно.
Критерий
У меня это вопросы к модели, например «меняет ли проект собственный код». Модель отвечает оценкой, а дальше решают два порога: наименьшая вероятность того, что репозиторий относится к области, и наименьший уровень серьёзности проекта. Оба описаны в README, добавляйте свои по мере необходимости. Отбор получается жёстким: в двух моих областях, одна из них - MCP, из почти пяти тысяч оценённых репозиториев проходит около четверти (срез 12 ноября). Три четверти до меня просто не доходят.
Граница
Она частично в коде, частично в инструкции агенту. В коде все флаги по умолчанию выключены: отправка идёт, только если включены оба флага конфигурации, а расписание ставится отдельной командой - итого три выключателя. Агент (Claude Code или другой - он настраивает и запускает repka.deda за вас) по инструкции спрашивает отдельное «да» на каждый выключатель, и прежнее разрешение не переносится. Но инструкция - это текст, а не блокировка.
Как граница работает на деле, показал случай в пятницу 13 ноября: агента она удержала, а от моего собственного решения не защитила. Я велел закоммитить и влить в main безопасные умолчания для публичного репозитория, хотя агент несколько раз предупреждал, что живая настройка уйдёт из каталога, из которого по расписанию запускается repk.deda. Два запланированных прогона не состоялись - хотя бы один остановила проверка перед запуском, — и я заметил пропуск, только когда сам спросил про дайджест. Мой вывод: границе, которую держит человек, нужен сигнал о тихой остановке, а мой вопрос про дайджест - плохой сигнал.
Есть граница и на входе модели. Модель отдаёт числа и выбор из списка, а не текст, поэтому чужой README по замыслу может сдвинуть оценку, но не заставить её что-то написать. На инъекциях я это еще не проверял.
И снова о критерии
Можно ли отдать его часть машине? Нереализованная идея - подключить дайджест к системе, где результат оценивает другой ИИ. Условий два: ручная разметка выборки, иначе оценщику не с чем сверяться, и три выключателя по-прежнему у человека. И оценка не должна зависеть от оцениваемого - об этом был пост недели три назад по ту сторону ИИ
Интересно?
Если идея полезна, поставьте репозиторию звездочку. Попробуйте запустить его на Linux или Windows: мною поддерживается только macOS на Apple Silicon, расписание построено на launchd, однако воркер модели сам выбирает cuda, mps или cpu, но вне macOS я это не проверял. О поломках пишите в issues репозитория. А в комментариях поделитесь: по какому критерию вы отличаете находку от шума? Как узнаёте, что ваш агент молча ничего не запустил? Доверили бы оценку дайджеста другому ИИ - и чем проверили бы его самого?