Сегодня мы анонсируем предварительную версию нового класса моделей в стиле System One: моделей извлечения. Наша первая модель, Clairic, доступна на платформе Workers AI как @cf/cloudflare/clairic. Вскоре мы планируем открыть веса этой модели. Clairic — это модель извлечения, которая способна извлекать, вычислять, оценивать и прогнозировать значения из неструктурированных входных данных — и всё это со значительно более высокой точностью, меньшей задержкой и меньшей стоимостью по сравнению с традиционными LLM.
Контекст
Когда месяц назад компания TypeSafe анонсировала модели System One, это произвело фурор в индустрии. Как отмечается в блоге TypeSafe и определяется в книге Даниэля Канемана «Думай медленно... решай быстро», модель System One должна быть быстрой и точной, что контрастирует с моделью System Two, способной к осознанному рассуждению (как LLM). Наряду с этим TypeSafe представила Jev — модель, созданную под конкретный сценарий использования и доступную по цене с учетом своей ниши. Она превосходила LLM там, где те терпели неудачу, помогая пользователям принимать решения на основе вероятностей и строго типизированных результатов. Появление Jev побудило специалистов задуматься о новом классе моделей, не являющихся LLM, и о том, как интегрировать их в свои рабочие процессы.
Мы вдохновились концепцией моделей System One и стали думать о других задачах, в которых LLM неэффективны. Сегодня существует множество запросов со структурированным выводом к передовым LLM, которые снова и снова имеют ту же форму: какова общая сумма счета? Когда это было доставлено? На сколько дней это опаздает? Во сколько обойдется этот ремонт? Каким будет трафик в течение следующих 24 часов? Ни на один из этих вопросов нельзя дать ответ заранее, что необходимо для модели принятия решений для расчета вероятностей. Это привело нас к классу моделей, который мы представляем сегодня: моделям извлечения System One.
Представляем модели извлечения System One
До сих пор каждая модель System One была моделью принятия решений: Jev и Clef принимают входное состояние и список вопросов и выдают вероятности для входных данных и перечисленных вами вопросов. Clairic — первая модель в новом классе: моделей извлечения System One. Она по-прежнему быстрая, типизированная и дешевая, но отвечает значениями, непосредственно извлеченными из входных данных, вычисленными на их основе или спрогнозированными за их пределами.
Большинство задач для моделей требуют одного из трех видов вывода: числа, выбора из фиксированного набора или текста произвольной формы. Clairic справляется с первой задачей, возвращая числа с диапазоном 80%, а также извлекает из входных данных типизированные значения, такие как имена, даты и списки. Clef справляется со второй: она выбирает среди вариантов и возвращает вероятность для каждого из них. LLM справляются с третьей. Мы называем Clairic и Clef моделями System One, потому что они отвечают за один проход, без рассуждений или генерации токенов. Они взимают плату только за входные данные и обычно отвечают менее чем за секунду, в то время как LLM, которая рассуждает над тем же шагом, тратит несколько секунд.
Модель извлечения может возвращать:
- Извлеченные значения: текст, скопированный из входных данных, такой как имя, ID заказа или описание. Каждое возвращается в виде фрагмента с его смещениями символов и оценкой уверенности.
- Вычисленные значения: числа, даты, время, дата-время, интервалы и списки, прочитанные из входных данных или выведенные из них. Они подчиняются правилам своего типа (например, два знака после запятой для центов) и сопровождаются оценкой уверенности.
- Оцененные значения: значения, которые входные данные прямо не называют, но дают для них основания. Каждое возвращается в виде распределения в пределах заданных вами границ, на указанной вами сетке, с медианой и 80-процентным интервалом.
- Прогнозируемые значения: будущие значения ряда, по одной оценке на каждый шаг вперед, каждая со своим 80-процентным интервалом.
И поскольку она не генерирует токены, она не может выдать ответ с неправильным типом или «галлюцинировать» так же, как LLM (хотя она может, конечно, совершать ошибки). Результатами являются значение запрошенного вами типа или null, когда модель не может найти ответ во входных данных. Она также поставляется с оценками уверенности для результатов, помогая вам оценить, стоит ли доверять модели или перепроверить ее.
Вот как модели извлечения вписываются в ландшафт моделей System One и System Two:
System One: Извлечение
System One: Принятие решений
System Two
Примеры моделей
Clairic
Jev, Clef
GPT, Claude, Gemini, DeepSeek
Выборка
Один параллельный проход
Один параллельный проход
По одному токену за раз
Назначение
Прогнозирование значений
Принятие решений
Письмо и рассуждение
ML-фрейминг
Регрессия и извлечение
Классификация
Генерация
Режим мышления
System 1: быстрый, один проход
System 1: быстрый, один проход
System 2: медленный, осознанный
Вывод
Типизированные значения: фрагменты, числа, даты, время, списки, распределения с откалиброванными вероятностями
Типизированные решения: варианты с откалиброванными вероятностями
Строки произвольной формы
Пространство выводов
Непрерывное, но типизированное и ограниченное вашей схемой
Конечный набор вариантов, которые вы перечислили
Что угодно
На что отвечает
Какова сумма? Когда это происходит? Какова будет стоимость?
К какой категории это относится? Законно ли это? Какое действие нам предпринять?
Почему это произошло? Как нам подойти к этому? Можете ли вы это исправить?
Вывод всегда является допустимым ответом?
Да: каждый ответ — это значение заявленного типа (или null) в пределах ваших границ
Да: ответы всегда являются одним из ваших вариантов
Нет: строки должны быть разобраны и проверены
Вместе эти модели могут работать в унисон, помогая вам ближе подойти к обработке реальных данных, принятию решений по входным данным и последующему выполнению действий. Модели извлечения преобразуют сырые входные данные в типизированные значения, модели принятия решений превращают значения в решения, а LLM превращают решения в слова.
Как работает запрос
Clairic спроектирована иначе, чем LLM. Подобно модели принятия решений, она обрабатывает входные токены только за один прямой проход, и поэтому плата за выходные токены не взимается. Она намного быстрее, дешевле и точнее LLM для определенных сценариев использования.
Запрос представляет собой состояние (текст для чтения плюс до четырех дополнительных изображений) и карту типизированных полей. Вы называете каждое поле, задаете ему тип и необязательные инструкции на обычном языке и получаете один типизированный ответ на поле за один параллельный проход. Здесь нет рассуждений и выходных токенов — все вычисляется за один прямой проход, что означает быстроту и дешевизну.
Тип
Возвращает
text
Конкретный фрагмент входных данных с его смещениями
number
Число, прочитанное или вычисленное с соблюдением целой и дробной частей
date, time, datetime
Календарные даты и допустимое время в формате ISO
duration
Промежуток времени в выбранной вами единице измерения
list
Соответствующий текст, число или дата в порядке ввода
estimate
Распределение в пределах ваших [min, max] на вашей сетке шагов в линейном или логарифмическом масштабе.
forecast
Одна оценка на каждый будущий шаг серии
Каждый скалярный ответ сопровождается p_null (вероятностью того, что значения нет во входных данных) и оценкой уверенности. Каждое оценочное значение поставляется с медианой и 80-процентным интервалом (от p10 до p90), а также со всеми 99 перцентилями по запросу. Количество полей не ограничено: если они не помещаются рядом с входными данными за один проход, сервер разбивает их на параллельные проходы, каждый из которых видит все входные данные целиком, а затем объединяет ответы.
Вот несколько примеров, иллюстрирующих возможности модели. Разумеется, использование этих функций в рабочем процессе потребует подходящих входных данных.
Пример: извлечение значений
Извлечение — пожалуй, самая распространенная задача, которую сегодня поручают LLM: «верни номер счета, поставщика и срок оплаты в формате JSON». В большинстве случаев это работает, но сбои бывает трудно обнаружить. Выходные данные могут оказаться невалидным JSON, цифра может быть неверно распознана при генерации, а после получения текстового фрагмента невозможно проследить, где именно он находился в исходном источнике. Большинство людей создают конвейеры извлечения, чтобы бороться с этим, используя многоуровневый разбор, проверку схем, повторные попытки и выборочные проверки. Вдобавок к этому вы платите за токены рассуждений и вывода для каждого поля каждого документа.
Clairic работает иначе; она не генерирует текстовые ответы. Вместо этого вы получаете:
- Значения, извлеченные из ваших входных данных, благодаря чему ответ имеет под собой прочную основу.
- Вычисленные значения, позволяющие обрабатывать неструктурированные данные без предварительной очистки.
- Диапазоны смещений символов, чтобы вы могли сослаться на то, где именно во входных данных находились данные.
- Метки уверенности, позволяющие определить, какие значения требуют повторного рассмотрения.
- Строго типизированный вывод, гарантирующий формирование чисел и дат по правилам их типа (например, поле центов имеет два знака после запятой).
- Обработка нулевых (null) значений, при которой отсутствующее поле возвращает null в качестве ответа (наряду с расчетной вероятностью null и предположением).
- Более дешевые и быстрые ответы, так как каждое поле обрабатывается в рамках одного параллельного прохода. Таким образом, запрос тридцати полей стоит примерно столько же, сколько запрос трех.
Давайте рассмотрим пример, иллюстрирующий, как Clairic может извлекать значения из неструктурированных данных и делать оценки. Возьмем письмо в службу поддержки клиентов:
Привет, заказ A-88412 прибыл 28 сентября 2026 г. с треснутым экраном и помятым углом. Я заплатил 649,00 долларов США плюс 52,10 доллара США налога. Сейчас 9 октября 2026 г., и я бы хотел починить это или вернуть деньги. Спасибо, Дана
Из Worker вы отправляете запрос в Clairic для обработки этих данных:
Clairic возвращает извлеченные значения, смещения во входных данных, вероятность того, что значение является нулевым (p_null), и оценку уверенности:
Вот на что стоит обратить внимание:
- amount_paid не указан нигде в письме. В этом примере Clairic сложила цену и налог за один проход и возвращает сумму.
- days_since_delivery также вычисляется на основе двух дат в тексте, а не берется напрямую из входных данных.
- damage перечисляет оба вида повреждений в виде точных диапазонов, так что вы можете выделить их в исходном тексте.
- tracking_number отсутствует в письме, поэтому возвращается как null вместо правдоподобно выглядящего предположения. поле guess показывает, что модель выбрала бы в противном случае.
Clairic также работает с изображениями
Вот реальная фотография чека — текст несовершенен, а угол съемки не способствует читаемости. Мы передали это изображение в Clairic, чтобы посмотреть, что она сможет извлечь:
Как видите, она смогла извлечь все значения с изображений вместе с оценкой уверенности. Она также корректно указала, что в чеке не было скидки, выдав значение null.
Пример: оценка значений
Некоторые значения вообще отсутствуют во входных данных, но во входных данных содержатся косвенные признаки для них. Например, значения могут не быть представлены в виде обычного текста, но их можно определить по окружающим значениям. Если вы запросите у LLM оценку, вы обычно получаете единое число без какого-либо понимания того, насколько модель уверена. Она сделает безопасные предположения, выдаст галлюцинацию или придет к ответу путем рассуждений. Если вы получили какую-то оценку, любая дальнейшая обработка не сможет отличить уверенные $180 от неуверенных $180, поэтому она не поможет вам решить, что именно целесообразно автоматизировать в данных обстоятельствах. Кроме того, выполнять рассуждения с помощью LLM гораздо медленнее и дороже.
Модель принятия решений может приблизить оценку, выбирая среди диапазонов («менее 100 долларов», «100–500 долларов» и т. д.), но такие диапазоны являются грубыми, каждый диапазон добавляет входные токены, а каждая новая категория создает новые источники путаницы для модели в процессе принятия решений.
Clairic возвращает распределение по заданному вами диапазону: точечное значение, медиану, 80-процентный интервал и любой перцентиль по запросу. Оценка спроектирована так, чтобы попадать внутрь ваших границ, поэтому ничего не нужно дополнительно обрезать или округлять. Ширина интервала отражает уверенность в данных: узкий диапазон сигнализирует о высокой определенности, а широкий диапазон указывает на низкую определенность — эту информацию вы можете использовать для направления данных на дополнительную проверку.
Вот еще один пример, где Clairic анализирует исторические цены на жилье и сопоставимые продажи для определения оценки:
Clairic вернет предполагаемое значение:
Значения всегда попадают в заданные вами границы, а ширина интервала показывает, насколько входные данные влияют на прогноз: цена имеет узкий диапазон ($370 000–$470 000), а количество дней на рынке — широкий (24–148). Поскольку количество полей не ограничено и они обрабатываются параллельно, вы можете оценивать множество объектов за один вызов (по одной оценке на каждого кандидата, лид или объект недвижимости) и сортировать их программно.
Пример: прогнозирование значений
Прогнозирование значений временных рядов дается обобщенным моделям довольно сложно — обычно это означает, что вам приходится либо создавать отдельный конвейер для каждой метрики (разбирать данные, подгонять модель, настраивать ее, развертывать), либо вставлять 36 месяцев числовых данных в LLM и запрашивать следующие три. Первый вариант точен, но очень дорог и трудоемок в настройке для каждого нового ряда. Второй прост, но вы получаете точечные прогнозы без интервалов, прогнозы, которые меняются в зависимости от формулировки промпта, и ответы с ограниченной уверенностью.
Clairic занимает промежуточное положение — она не претендует на замену специализированной модели временных рядов, но она немного быстрее и дешевле обычной LLM. Поле прогноза принимает историю в виде простого текста в состоянии и возвращает для каждого шага вперед значение и 80-процентный интервал в пределах заданных вами границ. Она читает историю в том виде, в каком она у вас уже есть (будь то экспорт в CSV, скопированный дашборд или строки, смешанные с примечаниями), и часто может работать без предварительной очистки данных.
Чтобы проверить, как это работает на реальных данных, мы использовали общедоступный ряд: количество людей, которых Администрация транспортной безопасности (TSA) проверяет в контрольно-пропускных пунктах аэропортов США каждый день. Каждое утро в течение 21 дня подряд мы запрашивали у Clairic показатель на следующий день с учетом реальных данных на текущий момент:
Что возвращает:
Фактически TSA в тот день проверила 2 419 474 человека, что очень близко к медианному значению 2 419 283, спрогнозированному Clairic.
Данные: Данные о пассажиропотоке на пунктах досмотра TSA, получены 15 октября 2026 г.
За 21 день прогнозы Clairic ошибались в среднем на 3,3%, а 17 из 21 фактического значения попали в ее 80-процентный интервал, что соответствует тому, как должен работать 80-процентный интервал. Модель уловила недельную цикличность только на основе чисел: более тихие вторники и субботы, более загруженные четверги, пятницы и воскресенья.
Ошибки тоже представляют интерес: три из четырех дней за пределами интервала приходятся на длинные выходные в честь Дня Колумба, когда людей летело больше, чем предполагалось на основе предыдущих недель. Clairic делает прогнозы на основе паттернов в ряду, но не учитывает события, которые не отражены в самом ряду, такие как праздники.
Думай медленно, решай быстро
Эти модели созданы для того, чтобы органично вписываться в ваши существующие рабочие процессы с использованием агентов. Модель извлечения прогнозирует значения, модель принятия решений определяет, что с этими значениями делать, а LLM предпринимает соответствующие действия. Это идеальный союз моделей «Системы 1» и «Системы 2». Он устраняет существующий разрыв, при котором вам либо приходится вручную извлекать данные для LLM, либо заставлять LLM анализировать неструктурированные данные (что дорого, отнимает много времени и может приводить к галлюцинациям). С моделями извлечения «Системы 1» вы можете работать с реальными данными быстрее, эффективнее и точнее.
Вот пример с претензией по поврежденному продукту, рассмотренный ранее, который иллюстрирует совместную работу всех моделей. Мы встроили это в интерактивную демоверсию, которую вы можете попробовать здесь.
Каждый следующий шаг получает более чистые входные данные, чем предыдущий. Clef принимает решение на основе пятистрочной сводки введенных значений, а не свободного текста письма, который также может быть уязвим для внедрения промптов. LLM никогда не видит само письмо, а получает только решение и необходимые ей предсказания, благодаря чему у нее остается меньше цифр, которые она может интерпретировать неверно. Каждый шаг типизирован и поддается проверке, и только один шаг генерирует текст. В версии этого конвейера, полностью построенной на LLM, все три шага являются генеративными вызовами, и каждое значение в ответе приходится проверять вручную.
Мы протестировали этот конвейер в сравнении с версией полностью на LLM, где в обоих случаях ответ генерировался с помощью GLM-5.3. В версии полностью на LLM модель GLM-5.3 также выполняет извлечение данных и принимает решение на основе того же письма, правил и промптов:
Clairic → Clef → GLM-5.3
GLM-5.3 для каждого шага
Задержка, общая
19.3 с
61.7 с
1. Извлечение
Clairic: 0.46 с
GLM-5.3: 16.1 с
2. Принятие решений
Clef: 0.22 с
GLM-5.3: 21.9 с
3. Ответ
GLM-5.3: 18.6 с
GLM-5.3: 16.4 с
Входные токены
701 (184$ на миллион претензий)
390 (546$ на миллион претензий)
Выходные токены
1,329 (5,848$ на миллион претензий)
2,544 (11,194$ на миллион претензий)
Стоимость на миллион претензий
6,032$
11,740$
Каскад завершил работу за 19.3 секунды против 61.7 секунд: на 69% меньше времени, или примерно в 3.2 раза быстрее. Clairic и Clef справились с извлечением данных и принятием решения менее чем за секунду в сумме, в то время как GLM-5.3 потратила 38 секунд на те же два шага. Кроме того, использование каскадного конвейера обходится на 49% дешевле по сравнению с конвейером полностью на LLM. В случае с GLM оба конвейера верно определили факты и приняли правильное решение при каждом запуске, но оценка стоимости ремонта от Clairic каждый раз была абсолютно одинаковой, в то время как оценка GLM-5.3 менялась при каждом запуске (250$, 250$ и 220$, причем каждый раз с разным разбросом значений).
Стоит отметить, что в конвейере полностью на LLM и Gemma 4, и Qwen не справились с этой задачей, поскольку не смогли вывести такие значения, как repair_cost из входных данных, что демонстрирует неспособность LLM эффективно решать задачи по извлечению данных.
Предварительный выпуск
Сегодня мы выпускаем размещенный эндпоинт для Clairic на платформе Workers AI. Вскоре мы планируем выпустить модель с открытыми весами. Сначала мы хотели уделить время представлению концепции модели извлечения «Системы 1», чтобы вы могли начать размышлять о том, как этот класс моделей впишется в подходящие рабочие процессы.
Текущий эндпоинт представляет собой раннюю контрольную точку, и мы ожидаем, что модель будет улучшаться. Вот наши первые впечатления:
- Чтение дается отлично, а многошаговая арифметика — пока не очень. Одно- и двухшаговые вычисления (итоги, разницы, конвертации, вычисления с датами) работают надежно. Более длинные цепочки зависимых шагов сложны для любой однопроходной модели без «черновика». То же самое касается агрегации данных по множеству строк таблицы. По крайней мере пока что: пусть Clairic прогнозирует значение, а вычисления выполняет код.
- Оценкам нужны доказательства. Clairic лучше всего производит оценку на основе сопоставимых данных, истории или описательного текста во входных данных. Если запрашивать значение, для которого нет подтверждающих данных, его точность может быть ограничена.
- Калибровка является измеряемой, но не гарантированной. Интервалы натренированы быть откалиброванными и таковыми являются на большинстве отложенных наборов данных, но на незнакомых данных они могут получаться узкими.
- Прогнозирование носит базовый характер. Модель не предназначена для точной замены или прогнозирования временных рядов, которые обучаются на специфических данных. Ее следует использовать там, где это уместно — например, для некритичного общего сопоставления с образцом, а не для детального долгосрочного прогнозирования.
- Используйте показатель уверенности. Архитектура гарантирует правильность формирования каждого ответа, но не обязательно его фактическую корректность. Используйте уверенность, p_null и интервалы, чтобы решать, что именно следует автоматизировать (в контексте подходящего рабочего процесса), а что отправить на дополнительную проверку.
Мы продолжим работать над аспектами арифметики, оценивания и прогнозирования для каждого нового чекпоинта модели. После дополнительной работы мы планируем выпустить модель с открытыми весами, чтобы каждый мог с ней поэкспериментировать.
Попробуйте в деле
Clairic доступна в предварительной версии на Workers AI под именем @cf/cloudflare/clairic. Вызывайте ее из Worker с помощью env.AI.run() или откуда угоднос помощью REST API. Полная документация по модели доступна здесь, а также новое пояснение к документации о том, как выглядит API модели извлечения.
P.S. Поскольку вам понравилась этимология названия Clef, вот как мы пришли к названию Clairic. Мы хотели, чтобы название модели было тематически и звуково созвучно Clef. На ум пришло слово Clair, разделяющее тот же звук «кл» и имеющее корни в музыке («Clair de Lune» — «Лунный свет»). Что еще важнее, мы хотели, чтобы название отражало суть модели. Модель Clairic должна помогать вам с рутинными задачами (clerical tasks), такими как четкое извлечение данных из массива входных данных и поддержание точности в таких задачах, как ведение учета. Аспект прогнозирования модели отсылает к корню «Clair», позволяя оценивать и предсказывать будущие значения, подобно ясновидению (clairvoyance). Наконец, нам понравилась идея сделать это [Cl]oudflare’s [AI R]egression model (моделью регрессии [AI R] от [Cl]oudflare). Так на свет появилась Clairic. Надеемся, она вам понравится.











