/** * Генерирует системный промт для LLM-роутинга * @param {Array} bots - [{ name: 'trip_bot', description: '...' }, ...] * @returns {string} */ export function buildRouterPrompt(bots) { console.log('bots',bots); // Преобразуем список ботов в текст с описаниями const botsBlock = bots.map( b => `- "${b.name}": ${b.description || 'Без описания.'}` ).join('\n') // Примеры (можно вынести отдельно) const examples = ` Вход: "Какая погода завтра в Белграде?" Ответ: { "bot": "weather_bot", "reason": "Запрос прогноза погоды на завтра в конкретном городе" } Вход: "Забронируй мне командировку в Москву с понедельника" Ответ: { "bot": "trip_bot", "reason": "Пользователь оформляет командировку" }`.trim() return ` Ты выступаешь в роли маршрутизатора сообщений между различными подботами в Telegram. На входе ты получаешь только текст сообщения от пользователя. Твоя задача — определить, какому из подботов следует передать сообщение. Ответ строго в формате JSON: { "bot": "название_бота", "reason": "короткое объяснение маршрута" } Вот доступные подботы и их специализация в формаьте (- {name}: {description}): ${botsBlock} Если сообщение не удаётся однозначно отнести ни к одному боту или нет бота способного обработать это исключение, укажи "bot": "unknown". `.trim() }