Антиспам в форуме, защита абузы.
Планируемые трудозатраты: 114 часов
Проектируемый бюджет: 224 000 руб.
Оценка трудозатрат приведена для одного разработчика среднего уровня (middle) с опытом работы с веб‑приложениями, базами данных и базовыми NLP‑решениями. Учтены этапы проектирования, разработки, тестирования и документирования.
Основные блоки и их сложность
1. Система стоп‑слов (базовая функциональность)
Проектирование схемы БД — 2 ч
API для проверки текста — 4 ч
Админ‑панель (список, добавление, удаление) — 6 ч
Механизм замены на *** — 2 ч
Кэширование списка в памяти — 3 ч
Тестирование и отладка — 4 ч
Итого: 21 ч (≈2,6 рабочих дня)
2. Интеграция NLP‑модели (анализ промтов)
Выбор и тестирование модели (RuBERT/другие) — 4 ч
API для инференса — 4 ч
Логика принятия решений (Pspam) — 3 ч
Обработка тайм‑аутов и ошибок — 2 ч
Интерфейс для разметки данных — 5 ч
Механизм дообучения — 6 ч
Тестирование с реальными данными — 6 ч
Итого: 30 ч (≈3,8 рабочих дня)
3. Дополнительные механизмы
Капча (интеграция ReCAPTCHA v3) — 4 ч
Рейтинговая система пользователей — 6 ч
Чёрный список IP/аккаунтов — 4 ч
Логирование действий — 3 ч
Итого: 17 ч (≈2,1 рабочих дня)
4. Админ‑интерфейс (расширенный)
Фильтры и поиск — 6 ч
Экспорт в CSV — 3 ч
Раздел ИИ‑анализа (графики, примеры) — 5 ч
Верстка и UX — 8 ч
Тестирование интерфейса — 4 ч
Итого: 26 ч (≈3,3 рабочих дня)
5. Интеграция и оптимизация
Соединение всех модулей — 6 ч
Нагрузочное тестирование (1000 запросов/сек) — 4 ч
Оптимизация запросов к БД — 4 ч
Документирование API и админ‑панели — 6 ч
Итого: 20 ч (≈2,5 рабочих дня)
Итоговая оценка
Суммарно: 114 часов
(≈14,3 рабочих дней при 8‑часовом рабочем дне)
Факторы, влияющие на сроки
Готовая NLP‑модель
Если использовать облачный API (например, YandexGPT с антиспам‑промтом) — экономия 15–20 ч.
Если обучать свою модель с нуля — +20–40 ч.
Используемый фреймворк
Django/Rails: быстрее за счёт готовых админок (+10–15% к скорости).
Чистый Node.js/PHP: дольше из‑за ручной реализации CRUD (+20–30%).
Требования к производительности
Для форума с 1000+ постов/день: +10 ч на шардирование БД и очередь задач (RabbitMQ/Kafka).
Тестирование
Автотесты (unit/integration) — +12–16 ч, но экономия на отладке.
gef — Ручное тестирование — риск пропущенных багов.
Дизайн админ‑панели
Использование готовых UI‑библиотек (Ant Design, Bootstrap) — -6–8 ч.
Индивидуальная верстка — +8–12 ч.
Рекомендации по снижению трудозатрат
Итеративная разработка
Этап 1: стоп‑слова + базовая админка (21 ч).
Этап 2: NLP‑модель (30 ч).
Этап 3: дополнительные механизмы (17 ч).
Этап 4: оптимизация и документирование (20 ч).
Использование готовых решений
Антиспам‑API (SpamAssassin, Akismet) — сокращение сроков на 30–40%.
Готовые админки (icmsAdmin) — -10 ч.
Аутсорсинг NLP
Передача обучения модели сторонним специалистам — -20 ч, но +бюджет.
-------------
Такое ощущение, что к реальному ТЗ вряд-ли кто готов к складчине 😉🤣
