Первый вопрос любого заказчика — «сколько это будет стоить и когда будет готово». Чтобы ответить честно, нужно разобрать задачу: понять тип проекта, вытащить из описания требования, прикинуть интеграции и роли. Делать это вручную на каждую заявку долго, а ответ «зависит от деталей» заказчика не устраивает.
Нужен был Telegram-бот, который по описанию задачи в свободной форме за минуту даёт обоснованную вилку цены и сроков, собирает черновик ТЗ и помогает заказчику не попасться на демпинговую смету другого подрядчика.
Сделал бота на Python и aiogram 3.
Пользователь пишет задачу одним сообщением. Бот определяет тип проекта — всего 22 вида: Telegram-бот, интернет-магазин, лендинг, парсер, интеграция с 1С и другие — и вытаскивает из текста требования: платежи, админку, уведомления, импорт и экспорт, интеграции, роли, срочность. По ним сам заполняет уточняющие ответы, чтобы не мучить человека анкетой.
Смета считается по матрице: базовые часы категории, коэффициенты за сложность, интеграции и доступы, буфер на риски, вилка цены и сроков в рабочих днях. Черновик ТЗ собирается по шаблону категории, краткий бриф выгружается в PDF.
Отдельная функция — проверка сметы подрядчика: бот находит в тексте предложения цену и срок, сравнивает с ориентиром и перечисляет риски и вопросы, которые стоит задать до предоплаты. Есть чеклист перед стартом проекта и отчёт для владельца в Excel по команде /report.
Локальная нейросеть через Ollama подключается только как помощник: уточняет тип проекта, когда правила не уверены. Ответ модели проверяется по строгой схеме, а если модель недоступна или ответила мусором — бот спокойно работает на правилах. Для сервера есть systemd-юнит с проверкой готовности модели.
Перед публикацией доработал классификацию смешанных описаний («бот с админкой» больше не считается админ-панелью) и перенос строк в PDF. Логика закрыта 45 автотестами.
Вместо долгого разбора каждой заявки — ответ за минуту: вилка цены, сроки, черновик ТЗ и бриф в PDF, который можно сразу переслать. Проверка чужой сметы показывает заказчику, где цена нереальная и что спросить у подрядчика до предоплаты.
Бот работает и без нейросети, а с ней точнее определяет нестандартные задачи. Код открыт, запуск одной командой, все настройки — в одном файле с примером.