Паттерны и fan-out

Опубликованные шаблоны композиции и примеры решений от TypeSafe.

TypeSafe описывает четыре схемы композиции: speculative fan-out, маршрутизацию с порогом уверенности, составное оценивание и маршрутизацию по намерению. Во всех них поток управления остаётся в коде. Документация учит мыслить атомарными решениями, которые можно объединять. Сначала прочтите страницы о примитивах и уверенности. Здесь собраны эти четыре схемы и карта сценариев программных решений, в которые можно встроить Jev: от маршрутизации обращений и обработки претензий до защитных механизмов, поиска и игр. Начните с fan-out.

Четыре опубликованных шаблона

Спекулятивный fan-out: отправьте множество вопросов одним вызовом, в том числе заданных на опережение, а код сам определит, какие из них уместны. По данным TypeSafe, преимущества такого подхода — стоимость и скорость. Пошаговый пример приведён в демо умного дома. Для команды «Выключи весь свет в доме» вопросы о категории, области, устройстве и действии всё равно задаются вместе, причём вопрос о действии — ещё до того, как станет известно, что речь идёт об освещении. Последовательные вызовы потребовали бы ожидания. Суть подхода — в параллельной оценке и последующей фильтрации в коде.

Маршрутизация по порогу уверенности: используйте уверенность как вторую координату при принятии решения о действии. Преимущества — надёжность и безопасность. Метка без порога уверенности сработает даже при равномерном распределении. Дополните Choice или Score порогами, ужесточающимися с ростом риска, а Noul оставьте отдельной координатой.

Составная оценка: разбейте суждение на атомарные оценки и объедините их в коде с весами. Преимущества — стоимость, надёжность и скорость. Не просите Jev выдать одну общую оценку качества от 1 до 100. Отдельно оцените через Score доказательства, соответствие политике и серьёзность, а затем сложите результаты. Маршрутизация по намерению: определите намерение и направьте запрос в логику, LLM или человеку. Преимущества — стоимость и скорость. Jev выбирает обработчик, но не становится обработчиком, который пишет ответ.

Four published TypeSafe patterns: fan-out, confidence routing, composite scoring, intent routing
Разветвление, маршрутизация по уверенности, составная оценка и маршрутизация по намерению.

Спекулятивный fan-out

делает
Отправляйте множество вопросов, включая предварительные, одним вызовом.
выгоды
Стоимость, скорость

Маршрутизация по порогу уверенности

делает
Используйте уверенность как вторую ось при выборе, следует ли действовать.
выгоды
Надёжность, безопасность

Составная оценка

делает
Разбейте суждение на элементарные оценки и объедините их веса в коде.
выгоды
Стоимость, надёжность, скорость

Маршрутизация по намерению

делает
Определите намерение и направьте запрос логике, LLM или человеку.
выгоды
Стоимость, скорость
РешениеСемействоЧто оценивает Jev
Поддержка клиентовautomationКлассифицируйте заявки, выявляйте срочность и запросы на возврат, распределяйте по очередям.
Страховые требованияautomationКлассифицируйте первичные уведомления об убытке и передавайте требования с высоким риском на рассмотрение.
Финансовые преступленияautomationПрименяйте Score к описаниям оповещений и направляйте неоднозначные случаи KYC.
Маркетплейсы электронной коммерцииautomationНормализуйте объявления и отмечайте признаки запрещённых или поддельных товаров.
Модерация, доверие и безопасностьautomationПрименяйте корпоративные критерии модерации с учётом серьёзности.
РекламаautomationПроверяйте безопасность бренда и соответствие рекламы целевой странице.
ИгрыautomationМодерируйте чат, оценивайте раздражение и направляйте игроков в поддержку.
Подбор персоналаautomationПрименяйте Score к резюме по явным критериям, связанным с вакансией.
Поиск потенциальных клиентовautomationСопоставляйте профили с ICP и направляйте намерение совершить покупку.
Маршрутизация моделейautomationВыбирайте, какая LLM получит каждый промпт.
Защитные ограничения LLMautomationВыявляйте джейлбрейки, инъекции и нарушения правил.
Поиск и извлечениеautomationПрименяйте Score к релевантности кандидатов запросу и меняйте их ранжирование.
Извлечение признаковautomationПреобразуйте язык в вероятностные признаки для классического машинного обучения.
Оценка рисковautomationПреобразуйте описания инцидентов в вероятностные показатели риска.
Графы и графы знанийautomationКлассифицируйте отношения и выявляйте противоречия.
Семантический анализ кодаautomationЗапускайте в CI семантические проверки, заданные командой.
Прогнозирование спросаautomationИзвлекайте признаки намерения и срочности для прогнозов.

Примеры решений из карты сценариев

На карте сценариев TypeSafe перечислены отраслевые примеры, а не второй набор примитивов. Служба поддержки классифицирует заявки, выявляет срочность и запросы на возврат, распределяет очереди. В страховании классифицируют первичные уведомления об убытке и эскалируют дела с высоким риском. При борьбе с финансовыми преступлениями оценивают описания предупреждений и направляют неоднозначные случаи KYC. Юридические службы и комплаенс выявляют отсутствующие пункты и запрещённые заявления. Торговые площадки нормализуют карточки товаров и отмечают признаки подделок.

Модерация применяет правила конкретной компании с учётом серьёзности. В рекламе проверяются безопасность бренда и соответствие объявления целевой странице. В играх модерируется чат, оценивается недовольство и маршрутизируются обращения игроков. В подборе персонала резюме оцениваются по явным критериям вакансии. При привлечении лидов профили сопоставляются с ICP. Маршрутизация моделей выбирает, какая LLM получит промпт. Ограничители LLM выявляют взлом промпта, инъекции и нарушения правил.

Поиск и извлечение оценивают соответствие кандидата запросу. Извлечение признаков превращает язык в вероятностные признаки для классического ML. Оценка рисков преобразует заметки об инцидентах в индикаторы. Графы классифицируют связи и выявляют противоречия. Семантический линтинг кода выполняет в CI проверки по правилам команды. Прогнозирование спроса извлекает признаки намерения и срочности. Каждая строка описывает форму решения, а не готовый размещённый процесс. Код, выполняющий действия, по-прежнему остаётся за вами.

Создавайте композицию в коде, а не в одном промпте

В продакшене разветвление обычно сочетают с маршрутизацией по уверенности: задают больше вопросов, чем нужно, отбрасывают нерелевантные Nouls и автоматически действуют лишь тогда, когда уверенность Choice превышает высокий порог. Если один Score скрыл бы три разных суждения, ниже используется составная оценка. Маршрутизация по намерению служит входной точкой и определяет, кто обработает остальную часть запроса: Jev, LLM или человек.

На evals.typesafe.ai опубликованы семейства тестов Security Incidents, Agent Trace Observability, Invoice Processing и Customer Service. Показатели 193.6x / 444.6x на главной странице TypeSafe получены в этих тестах рабочих процессов при сравнении со средними результатами Astra и Fable. Используйте их как опубликованное сравнение TypeSafe, а не как результат повторного теста этой вики.

Если нужного паттерна нет среди четырёх, примитивы всё равно можно комбинировать. Новую логику управления потоком оставляйте в своём репозитории. Если хотите добавить её в индекс документации, отправьте заметку в TypeSafe. Дополнительные комбинации остаются в коде приложения, пока TypeSafe не опубликует новый именной паттерн.

Выбор паттерна для рабочего процесса

Начинайте с speculative fan-out, если несколько вопросов используют одно состояние, но часть из них может оказаться неприменимой. Это стандартный вариант для ассистентов, ботов обработки заявок и любых систем, похожих на коммутатор. Как только ответ может запустить побочный эффект — возврат средств, блокировку, перевод денег или развёртывание, — добавьте маршрутизацию с порогом уверенности.

Используйте составную оценку, если один Score смешивал бы несопоставимые измерения. Качество доказательств, соответствие правилам и серьёзность проблемы клиента — это три Scores, после которых рассчитывается заданная вами взвешенная сумма. Маршрутизацию по намерению используйте на входе в смешанную систему, где также есть LLM или очередь для людей: пусть Jev выбирает исполнителя, а не выполняет его работу.

18 примеров решений на этой странице — карта TypeSafe, а не дополнительные конечные точки. Поддержка клиентов, страховые требования, защитные ограничения, поиск и игры по-прежнему вызывают POST /v1/systemone с Choice, Score и Noul. Скопируйте структуру решения, а критерии составьте по тексту своих правил, а не по универсальной библиотеке промптов.

По умолчанию используйте разветвление. Если метка может привести к расходу денег или блокировке пользователя, добавьте пороги уверенности. Разделяйте Scores, если одна шкала смешивала бы несопоставимые оси. Размещайте маршрутизацию по намерению на границе с LLM. Этими четырьмя предложениями исчерпывается опубликованный набор паттернов.

Карта сценариев содержит восемнадцать структур решений, а не восемнадцать API. Каждая строка всё равно превращается в один или несколько вопросов для POST /v1/systemone. Перенесите структуру в свою предметную область, а критерии составьте по своим правилам. Универсальный промпт модерации, не отражающий ваши правила, этой карте не соответствует.

Спекулятивный fan-out — паттерн, название которого вынесено в H1 этой страницы, поскольку именно с него начинает TypeSafe. Остальные три описывают способы обработки ответов после завершения единственного вызова.

Восемнадцать примеров решений объединены одним названием семейства — automation, поскольку это программные суждения, а не вторая линейка продуктов.

Источники