decision-cascade: открытый движок машинных решений против проприетарных System One-моделей
На GitHub появился decision-cascade — локальный движок принятия решений, который возвращает типизированные, калиброванные ответы вместо генерации текста. Автор позиционирует его как открытую альтернативу проприетарным System One-моделям вроде Jev от TypeSafe AI, но с полным контролем над данными и инфраструктурой.
Что это. Вместо авторегрессионной генерации движок превращает состояние (строку-описание ситуации) в признаки через энкодер, а головы решений возвращают строго типизированные вероятностные ответы трёх типов: Noul (да/нет с вероятностью), Choice (выбор из опций) и Score (оценка на шкале). Каждый ответ — датакласс с полем confidence, валидируемым распределением и версией схемы. В режиме cascade локальные головы отвечают сами, а внешняя модель подключается только при уверенности ниже порога (по умолчанию 0.6).
Индивидуальность. Рынок System One-моделей оживился: Cloudflare Clef, Perplexity pplx-decider, ConvAI Laya. decision-cascade отличается тремя вещами. Во-первых, это полный цикл в одном репозитории: обучение голов через SFT, RLCD-калибровка с гейтом «не навреди», метрики ECE/Brier, latency-профилирование и деплой через systemd. Во-вторых, совместимость с протоколом SystemOne (POST /v1/systemone) без облачной зависимости и умение проксировать запросы к Jev/Clef/Laya через DECISION_BACKEND=http — свои данные можно обрабатывать локально, а сложные случаи эскалировать. В-третьих, честная мультимодальность: сервис объявляет поддерживаемые модальности и отклоняет остальные типизированной ошибкой, а не тихо деградирует.
Плюсы. Приватность: данные не покидают машину. Калибруемость: вероятности измеряются на ECE и Brier — на AG News заявлен рост accuracy с 0.425 до 0.884 и снижение ECE с 0.725 до 0.151. Детерминированная задержка: на 8 vCPU без GPU первый запрос ~9 секунд, повторные — миллисекунды за счёт кэша. Гибкость: от hash-энкодера офлайн до gemma на GPU. Экономия: в бенчмарке каскад обратился к внешнему сервису лишь за 1.25% решений (0.913 против 0.915 у local).
Минусы. Нужна своя разметка — головы «из коробки» случайны. Нет SaaS с UI — это открытая beta для контроля, а не «кнопка под ключ». Порог входа: нужно понимать обучение голов и метрики калибровки. Ограниченная мультимодальность: видео требует отдельного декодирования, изображения по умолчанию выключены.
Где использовать. Триаж обращений в поддержку (шесть вопросов одним запросом, пример в examples/quickstart/http_client.py). Маршрутизация в агентных системах через api/sdk/agent.py. Модерация контента: Noul для бинарных проверок, Choice для категоризации, Score для серьёзности. Guardrails перед дорогой LLM: 99% запросов закрываются локально. Оценка рисков в реальном времени.
Проект под Apache-2.0. Готовые паки весов в релизе v0.2.0: шесть наборов с честными метриками. Запуск: scripts/bootstrap-user.sh, затем uvicorn — hash-энкодер работает офлайн.