1. Со 100% точностью - невозможно.
2. Что в вашем понимании Яндекс.Бот? У Яндекса с десяток различных сервисов, которые самостоятельно лазят по сайтам с разными ЮзерАгентами, исполняют скрипты, применяют стили.
Я.Метрика - это Яндекс.Бот? Яндекс.Директ это Яндекс.Бот?
Определять по User Agent можно только роботов-индексаторов, и то не всех. Для индексации мобильной версии сайта, бот-индексатор приходит с User Agent настоящего мобильного устройства.
И парсеры сайтов часто приходят с Яндексовским или Гугловским юзерагентом.
Вычислять ботов по IP подсетей Яндекса тоже не даст 100% точности - роботы проверки на клоакинг приходят из "левых" подсетей, чаще всего из Корбины. И есть публичные Яндекс.прокси в "яндексовских" диапазонах IP, например, для режима turbo Яндекс-браузеров.