В сентябре 2026 года Jev от TypeSafe AI ввёл термин «decision model» в мейнстрим. Две недели спустя, 1 октября, Cloudflare выпустила две сопоставимые модели — Clef и Clef-flash — размещённые на Workers AI и также опубликованные как открытые веса под Apache-2.0 на Hugging Face.
Позиционирование Clef прямолинейно: бросить вызов Jev напрямую и сделать «open-weight + multimodal + self-hostable» своим отличием. Модель содержит 27B параметров, поставляется с vision-энкодером, поддерживает контекстное окно 64k и полностью совместима с API Jev / SystemOne. Для всех, кто занимается технической оценкой, вопрос больше не в том, полезны ли decision-модели, — а в том, что лучше подходит вашей команде: hosted API или self-hosting открытых весов.
Каждый benchmark ниже взят из опубликованных внутренних прогонов Cloudflare. Их достаточно, чтобы отсечь заведомо неподходящие варианты, но они не заменяют повторное тестирование на ваших собственных данных.
Коротко
- Zero-ops, максимальная точность: работают и Jev, и hosted-версии Clef; Clef лидирует в большинстве classification benchmark, а мультимодальный ввод есть только у неё. Быстрее всего начать с hosted API Clef на defapi.
- Ввод изображений или видео: Jev сегодня работает только с текстом. Clef — единственный вариант.
- Self-hosting или data residency: веса Clef под Apache-2.0 дают явное преимущество, когда есть жёсткие требования. Цена — GPU-футпринт на 27B и эксплуатация.
- Крайне низкая задержка: Clef-flash (9B, медиана 38,8 ms) на порядок быстрее Jev (524 ms), но с некоторой потерей точности.
- Просто хотите попробовать: обе стартуют с совместимого API, но никогда не позволяйте публичным benchmark заменить закупочную валидацию.
Если вы уже читали наше сравнение Jev vs Laya, эта статья применяет ту же рамку к третьему кандидату.
Что такое Clef
Clef — это семейство decision-моделей, обученных Cloudflare. Ключевые характеристики:
| Пункт | Clef | Clef-flash |
|---|---|---|
| Backbone | Qwen3.8-27B (с vision-энкодером) | Qwen3.5-9B |
| Ввод | Текст, JSON, изображения, видео | Текст, JSON, изображения, видео |
| Контекст | 64k | 64k |
| Вывод | Один logit на каждый допустимый вариант для каждого вопроса, softmax по вопросу | То же |
| Лицензия | Apache-2.0 | Apache-2.0 |
| Хостинг | Cloudflare Workers AI | Cloudflare Workers AI |
Режим её работы — та же категория, что и Jev, но другая реализация: никакой генерации свободного текста, никакого парсинга вывода. Вы передаёте ей state (текст, JSON, изображения или видео) плюс набор типизированных schema questions, и она возвращает вероятность для каждого допустимого варианта каждого вопроса за один forward pass.
В названии Cloudflare опирается на музыкальную метафору: ключ (clef) в начале нотоносца присваивает названия высот линиям и промежуткам, а decision-модель определяет область контекста, которая определяет последующие действия. «CF» — это также отсылка к Cloudflare.
Архитектура: prefill плюс параллельное скоринг, а не генерация токен за токеном
Ключ к пониманию Clef в том, что она не авторегрессионная:
- Backbone Qwen выполняет только prefill forward pass по всему вводу.
- Небольшая joint schema head читает финальные скрытые состояния backbone, маршрутизирует свидетельства из state к каждому вопросу и оценивает все варианты всех вопросов совместно.
- Каждый вариант получает logit; softmax по вопросу превращает его в вероятности.
Промежуточного сгенерированного текста нет. Там, где LLM генерирует рассуждение и затем форматирует его в JSON, Clef выводит schema choices напрямую из внутренних представлений backbone.
Двухэтапную маршрутизацию внимания Cloudflare стоит запомнить: каждый допустимый выбор сначала извлекает контекст, релевантный ему самому (option-specific evidence routing), затем поля cross-attend друг с другом и обратно к исходной полезной нагрузке (joint cross-field attention) перед schema-bound scoring. Лексический приор (lexical prior) сохраняет семантический замысел между вариантами.
Для обучения Cloudflare заморозила backbone Qwen и совместно оптимизировала routing head вместе с rank-256 LoRA адаптерами:
- label-smoothed cross-entropy (чтобы гарантировать допустимые schema-выходы)
- Brier loss (чтобы улучшить калибровку вероятностей)
- RLCD (Reinforcement Learning for Calibrated Decisions) как вторичную цель, дающую частичный зачёт смежным ординальным вариантам, вознаграждающую полностью точные записи и применяющую reference penalty для предотвращения distribution shift
Здесь есть интересная деталь: Cloudflare опубликовала эксперимент с decision-моделью на базе DiffusionGemma в ту же неделю, когда запустился Jev. Clef — продолжение этой линии, просто с другим backbone. Это не копия архитектуры Jev — она пришла независимым путём через представление logprobs LLM как детерминированных вероятностей.
Совместимость с Jev / SystemOne
Clef полностью совместима. То же тело запроса POST /v1/systemone возвращает ту же структуру model, answers и usage. Ответ choice имеет choice / confidence / probabilities; ответ score имеет ожидаемые score / confidence / legend / probabilities; ответ noul возвращает вероятность истинности утверждения.
Три примитива совпадают с Jev:
| Примитив | Значение | Возвращает |
|---|---|---|
noul | Бинарное утверждение, true/false | Вероятность от 0.0 до 1.0 |
choice | Именованные варианты, выбрать один | Выбор + уверенность + вероятности по вариантам |
score | Упорядоченные варианты, оценить | Ожидаемый балл + уверенность + вероятности по уровням |
Для системы, уже интегрирующей Jev, это означает очень низкую стоимость миграции — можно даже поставить один и тот же клиент за двумя провайдерами для shadow traffic. Но одно предупреждение: совместимость wire-протокола не равна семантической эквивалентности. Лимиты вариантов, формулы уверенности и кривые калибровки могут различаться между моделями, поэтому старые пороги нужно перепроверять на граничных примерах.
Конкретный официальный пример (endpoint Cloudflare Workers AI):
curl https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/run/@cf/cloudflare/clef \
-X POST \
-H "Authorization: Bearer $CLOUDFLARE_AUTH_TOKEN" \
-d '{
"model": "clef",
"state": "Checkout has been failing for every customer for the last hour.",
"questions": {
"urgent": { "type": "noul", "instructions": "Is this support request urgent?" },
"team": {
"type": "choice",
"instructions": "Which team should handle this request?",
"criteria": {
"billing": "Payments, invoices, and refunds",
"technical": "Outages, errors, and configuration",
"sales": "Plans and upgrades"
}
},
"severity": {
"type": "score",
"instructions": "How severe is the customer impact?",
"criteria": ["No impact", "Minor", "Major", "Critical"]
}
}
}'
Мультимодальность: возможность, которая сегодня есть только у Clef
Это самое явное продуктовое отличие Clef от Jev. Jev классифицирует только текст, тогда как Clef поставляется с vision-энкодером и умеет читать изображения и кадры видео.
Использование состоит в том, чтобы добавить images (изображения PIL) или videos (массивы кадров) в запись и передать processor в encode_record; необязательные аргументы processor идут в media_kwargs. Текстовые и мультимодальные записи можно смешивать в одном батче:
from PIL import Image
record = {
"state": {"task": "Review the attached receipt."},
"images": [Image.open("receipt.jpg")],
"questions": {
"legible": {"type": "noul", "instructions": "Is the receipt total legible?"},
},
}
Собственная витрина Cloudflare — это threat intelligence: передайте домен плюс скриншот Browser Run в Clef и позвольте ей выдать мульти-лейбловые вероятности вроде «95% fashion, 85% ecommerce, <1% phishing». Сообщается, что полный рабочий процесс fetch, render и classify занял 2,2 с с Clef против 4,7 с у их самой быстрой универсальной LLM, gpt-oss-120b, которая вернула только две классификации. Это полезное сравнение задержки и покрытия, но обратите внимание: оно измеряет весь рабочий процесс, а не только инференс модели.
Benchmarks: кто где лидирует
К вендорским benchmark стоит относиться скептически. Вот срез официального внутреннего прогона Decision Index 0.2.1 (проценты, больше — лучше):
| Benchmark | Clef | Clef-flash | Jev | Лидер |
|---|---|---|---|---|
| BFCL (case exact) | 98.5 | 98.8 | 95.8 | Семейство Clef |
| ToolRet (nDCG@10) | 69.2 | 66.4 | 65.3 | Clef |
| API-Bank (accuracy) | 91.9 | 93.1 | 88.2 | Семейство Clef |
| BANKING77 (macro-F1) | 94.2 | 90.9 | 79.7 | Clef |
| CLINC150+OOS (macro-F1) | 97.4 | 66.8 | 89.3 | Clef |
| Home appliance (case exact) | 83.0 | 97.7 | 52.3 | Семейство Clef |
| ContractNLI (macro-F1) | 81.4 | 84.3 | 71.7 | Семейство Clef |
| MMLU (accuracy) | 90.3 | 91.8 | 91.7 | Ничья |
| GPQA Diamond (accuracy) | 48.0 | 51.0 | 78.3 | Jev |
| MMLU-Pro (accuracy) | 65.9 | 65.3 | 82.7 | Jev |
| BBH (accuracy) | 73.7 | 68.9 | 92.9 | Jev |
| When2Call MCQ (accuracy) | 72.4 | 65.6 | 81.0 | Jev |
| BRIGHT (nDCG@10) | 45.9 | 39.3 | 47.5 | Jev |
Вывод не в том, что «Clef побеждает по всем пунктам». Более точное прочтение: Clef сильна в классификации, tool calling и структурированном индексировании; Jev впереди в задачах, требующих немного общего рассуждения (GPQA, MMLU-Pro, BBH). Это соответствует их backbone и целям обучения — Clef дообучает backbone Qwen и сохраняет больше общего рассуждения, тогда как Jev вырывается вперёд по некоторым метрикам, специфичным для решений. Выбирайте исходя из того, на какой тип задач похожи ваши.
Задержка (миллисекунды, меньше — лучше):
| Метрика | Clef | Clef-flash | Jev | Laya |
|---|---|---|---|---|
| Медианная задержка | 209.3 | 38.8 | 524.1 | 5.8 |
| p95 задержка | 238.6 | 122.4 | 536.0 | 222.5 |
Laya чрезвычайно быстра по медиане, но явно отстаёт по качественным benchmark выше — позиция «быстро, но в ущерб точности». Семейство Clef занимает разные точки на кривой качество-против-задержки: Clef оптимизирует качество, Clef-flash оптимизирует скорость. Эти числа получены на разном оборудовании и в разных развёртываниях и не могут быть приведены к общему знаменателю между строками — относитесь к ним только как к относительным сигналам.
Workflow evals (сквозные бизнес-потоки от TypeSafe Evals):
| Workflow | Clef | Clef-flash | Jev |
|---|---|---|---|
| Обработка счетов-фактур (exact) | 64.7 | 57.1 | 61.8 |
| Обслуживание клиентов (exact) | 76.3 | 77.0 | 76.0 |
| Инциденты безопасности (exact) | 62.9 | 61.7 | 61.7 |
| Наблюдаемость трассировок агента (primary) | 68.5 | 69.8 | 71.6 |
Формулировка Cloudflare — «выиграли три из четырёх». Справедливости ради, все разрывы невелики — в пределах единиц процентных пунктов, и это Cloudflare прогоняет собственную eval-серию TypeSafe — так что для реальной покупки вам всё равно нужны ваши данные.
Развёртывание и лицензия: что «открытость» действительно даёт
Обе модели Clef поставляются на Hugging Face под Apache-2.0, со стандартными шардированными safetensors, которые можно запустить локально:
- Transformers (пайплайн
image-text-to-text) - vLLM (
vllm serve "Cloudflare/clef") - SGLang
- Docker Model Runner, llama.cpp / Ollama / LM Studio (квантованные сборки)
Структура файлов тоже понятна: веса backbone, joint_head.safetensors + joint_head_config.json (joint schema head) и joint_schema_model.py (кодирование записей, батчинг и обёртка systemone). Cloudflare тестировала на одном H200 с torch 2.11 и transformers 5.10.2.
Здесь и нужно развеять иллюзию, что «open source значит бесплатно»:
- Apache-2.0 отменяет лицензионную плату, но вы платите за GPU. 27B в BF16 — не комфортное размещение для потребительских карт; 9B у Clef-flash куда реалистичнее.
- Эксплуатация на вас. Model serving, резидентная VRAM, обновления версий, security patches и мониторинг — всё это затраты.
- Hosted-версия убирает эти затраты: помимо Cloudflare Workers AI, можно платно использовать hosted API Clef или Clef-flash — ценой перехода на тарифицируемый биллинг.
Cloudflare также подчёркивает один момент, важный для предприятий: по умолчанию она не читает, не хранит и не обучается на ваших запросах и ответах — если только вы не подпишетесь на её продукт fine-tuning. Self-hosting тривиально удовлетворяет требованиям к границам данных. Это ровно заполняет пробел, оставленный сравнением с Jev, где хранение данных hosted API приходилось уточнять у вендора.
Новая платформа RL fine-tuning
Есть раздел запуска Clef, который легко упустить, но он важен: Cloudflare представила сервис RL fine-tuning.
Мотивация — большой набор узкоспециализированных внутренних задач классификации (проверка заявок Trust & Safety, support triage, решение «хороший бот против плохого бота»). В этих сценариях есть годы размеченных данных о решениях. Fine-tuning обменивает часть универсальной производительности на более высокую точность в конкретном домене — а с 15+ годами сетевых данных это как раз сильная сторона Cloudflare.
Технический стек стоит отметить:
- Cloudflare AI Gateway: автоматически собирает AI-трафик в датасет
- Workers AI: генерирует rollout против базовой модели Clef
- Cloudflare Containers: RL-песочница для скоринга и воспроизведения действий агента
- [Новое] Trainer: обновляет дообученные веса Clef
- Workers AI + BYO Model: повторно разворачивает дообученную модель обратно на Workers AI
Сегодня это работает как практическое взаимодействие с командой forward-deployed инженеров (FDE) Cloudflare, а self-serve платформа запланирована позже. Для команд, уже плотно сидящих на Cloudflare, это путь превратить размеченные данные в специализированную decision-модель — то, чему у Jev сегодня нет публичного эквивалента.
Рекомендации: условия, а не лозунги
Выбирайте Clef (или Clef-flash), если
- Ваш ввод включает изображения или видео, и вам нужна мультимодальная классификация.
- Данные не могут покидать ваш контур, и вам нужны веса Apache-2.0 с self-hosting или offline-развёртыванием.
- Вам нужно контекстное окно 64k для более длинного state.
- Вы хотите дообучаться внутри экосистемы Cloudflare, чтобы построить специализированную модель из ваших меток.
- Задержка критична, и вы принимаете компромисс по точности: Clef-flash очень быстра.
- Хотите проверить прямо сейчас: выполните запрос к Clef или Clef-flash на defapi.
Выбирайте Jev, если
- Вам нужны только текстовые решения и zero-ops hosted API.
- Ваши задачи тяготеют к общему рассуждению (GPQA / MMLU-Pro / BBH), где Jev сейчас лидирует.
- У вас уже есть интеграции, пороги и кривые калибровки Jev, и выгода от миграции не покрывает стоимость повторного тестирования.
- У вашей команды нет мощностей для GPU-эксплуатации и планов запускать model serving.
Если работают оба, тогда
- Запустите shadow traffic с вашим реальным распределением state, наборами вариантов и критериями score.
- Измеряйте correct rate, калибровку, p50/p95 задержки, поведение fallback и стоимость вместе.
- Не считайте совместимость API нулевой миграцией — перепроверяйте пороги на граничных примерах.
- Включайте хранение данных, residency, SLA и обязательства по поддержке в закупочный фильтр, а не полагайтесь на публичные benchmark.
FAQ
Действительно ли Clef полностью совместима с Jev?
На уровне wire-протокола — да: то же тело запроса POST /v1/systemone и та же форма ответа answers / usage, с совпадающими примитивами choice / score / noul. Но лимиты вариантов, формулы уверенности и кривые калибровки внутри моделей различаются, поэтому старые пороги нельзя копировать дословно.
Clef — open source, значит, я могу бесплатно запускать её в продакшне?
Бесплатная лицензия — не нулевой TCO. 27B требует серьёзного GPU, плюс model serving, VRAM, мониторинг, обновления и security patches. Clef-flash (9B) или hosted-версия часто экономичнее.
Clef или Clef-flash?
Clef — точная модель, лидирует в большинстве benchmark; Clef-flash — латентностная модель с медианой 38,8 ms, примерно в 5 раз быстрее Clef, с явными просадками точности на задачах вроде CLINC150 и ContractNLI. Используйте flash на горячих путях, а Clef — для критичных суждений. Обе модели hosted и доступны для платного теста на defapi: Clef, Clef-flash.
Можно ли основывать закупочное решение на официальных benchmark?
Нет. Это внутренние прогоны Cloudflare, и Clef сравнивается на собственной eval-серии TypeSafe. Они годятся, чтобы отсечь заведомо неподходящие варианты; окончательное решение требует одного и того же датасета, определения ошибки и порогов уверенности на ваших данных.
Как на практике использовать ввод изображений?
Добавьте images (изображения PIL) или videos (массивы кадров) в запись, поместите необязательные аргументы processor в media_kwargs и передайте processor в encode_record. Текстовые и мультимодальные записи можно смешивать в батче.
Что требует self-hosting Clef?
GPU класса H200, torch 2.11 + transformers 5.10.2 и pillow для изображений/видео. Cloudflare не даёт гарантий по потребительскому оборудованию, поэтому перед продакшном проведите нагрузочный тест p95 на вашем целевом железе.
Заменит ли Clef Jev?
Не обязательно. Они обмениваются победами в benchmark, Jev лидирует в задачах общего рассуждения и остаётся чисто hosted-путём. Что действительно изменилось, так это то, что категория decision-моделей перешла от единственного вендора к конкурентному полю с открытыми весами и мультимодальным вводом — что хорошо для покупателей.
Следующие шаги
Чтобы проверить hosted-путь напрямую, платно используйте Clef на defapi (27B, точность) или Clef-flash (9B, скорость) и сравните через shadow-трафик с Jev API. Если ввод изображений или self-hosting — жёсткое требование, прочитайте карточку модели Clef на Hugging Face и пост Cloudflare о запуске, затем проведите сравнение на собственных данных. Чтобы сначала восполнить основы, см. сравнение Jev vs Laya и введение в System One.