Паттерны и fan-out
Опубликованные шаблоны композиции и примеры решений от TypeSafe.
TypeSafe описывает четыре схемы композиции: speculative fan-out, маршрутизацию с порогом уверенности, составное оценивание и маршрутизацию по намерению. Во всех них поток управления остаётся в коде. Документация учит мыслить атомарными решениями, которые можно объединять. Сначала прочтите страницы о примитивах и уверенности. Здесь собраны эти четыре схемы и карта сценариев программных решений, в которые можно встроить Jev: от маршрутизации обращений и обработки претензий до защитных механизмов, поиска и игр. Начните с fan-out.
Четыре опубликованных шаблона
Спекулятивный fan-out: отправьте множество вопросов одним вызовом, в том числе заданных на опережение, а код сам определит, какие из них уместны. По данным TypeSafe, преимущества такого подхода — стоимость и скорость. Пошаговый пример приведён в демо умного дома. Для команды «Выключи весь свет в доме» вопросы о категории, области, устройстве и действии всё равно задаются вместе, причём вопрос о действии — ещё до того, как станет известно, что речь идёт об освещении. Последовательные вызовы потребовали бы ожидания. Суть подхода — в параллельной оценке и последующей фильтрации в коде.
Маршрутизация по порогу уверенности: используйте уверенность как вторую координату при принятии решения о действии. Преимущества — надёжность и безопасность. Метка без порога уверенности сработает даже при равномерном распределении. Дополните Choice или Score порогами, ужесточающимися с ростом риска, а Noul оставьте отдельной координатой.
Составная оценка: разбейте суждение на атомарные оценки и объедините их в коде с весами. Преимущества — стоимость, надёжность и скорость. Не просите Jev выдать одну общую оценку качества от 1 до 100. Отдельно оцените через Score доказательства, соответствие политике и серьёзность, а затем сложите результаты. Маршрутизация по намерению: определите намерение и направьте запрос в логику, LLM или человеку. Преимущества — стоимость и скорость. Jev выбирает обработчик, но не становится обработчиком, который пишет ответ.
Спекулятивный fan-out
- делает
- Отправляйте множество вопросов, включая предварительные, одним вызовом.
- выгоды
- Стоимость, скорость
Маршрутизация по порогу уверенности
- делает
- Используйте уверенность как вторую ось при выборе, следует ли действовать.
- выгоды
- Надёжность, безопасность
Составная оценка
- делает
- Разбейте суждение на элементарные оценки и объедините их веса в коде.
- выгоды
- Стоимость, надёжность, скорость
Маршрутизация по намерению
- делает
- Определите намерение и направьте запрос логике, LLM или человеку.
- выгоды
- Стоимость, скорость
| Решение | Семейство | Что оценивает Jev |
|---|---|---|
| Поддержка клиентов | automation | Классифицируйте заявки, выявляйте срочность и запросы на возврат, распределяйте по очередям. |
| Страховые требования | automation | Классифицируйте первичные уведомления об убытке и передавайте требования с высоким риском на рассмотрение. |
| Финансовые преступления | automation | Применяйте Score к описаниям оповещений и направляйте неоднозначные случаи KYC. |
| Юридические вопросы и нормативное соответствие | automation | Выявляйте отсутствующие положения и запрещённые утверждения. |
| Маркетплейсы электронной коммерции | automation | Нормализуйте объявления и отмечайте признаки запрещённых или поддельных товаров. |
| Модерация, доверие и безопасность | automation | Применяйте корпоративные критерии модерации с учётом серьёзности. |
| Реклама | automation | Проверяйте безопасность бренда и соответствие рекламы целевой странице. |
| Игры | automation | Модерируйте чат, оценивайте раздражение и направляйте игроков в поддержку. |
| Подбор персонала | automation | Применяйте Score к резюме по явным критериям, связанным с вакансией. |
| Поиск потенциальных клиентов | automation | Сопоставляйте профили с ICP и направляйте намерение совершить покупку. |
| Маршрутизация моделей | automation | Выбирайте, какая LLM получит каждый промпт. |
| Защитные ограничения LLM | automation | Выявляйте джейлбрейки, инъекции и нарушения правил. |
| Поиск и извлечение | 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, поскольку это программные суждения, а не вторая линейка продуктов.
Источники