Патерни і 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Класифікуйте нотатки FNOL і передавайте вимоги з високим ризиком на вищий рівень.
Фінансові злочиниautomationОписуйте сповіщення Score і скеровуйте неоднозначні випадки KYC.
Маркетплейси електронної комерціїautomationНормалізуйте оголошення й позначайте ознаки заборонених або підроблених товарів.
Модерація, довіра та безпекаautomationЗастосовуйте критерії модерації конкретної компанії з урахуванням серйозності.
РекламаautomationПеревіряйте безпечність для бренду та відповідність реклами цільовій сторінці.
ІгриautomationМодеруйте чат, оцінюйте роздратування та спрямовуйте звернення гравців.
Добір персоналуautomationОцінюйте резюме через Score за чіткими критеріями, пов’язаними з посадою.
Залучення потенційних клієнтівautomationЗіставляйте профілі з ICP і маршрутизуйте намір здійснити покупку.
Маршрутизація моделейautomationВибирайте, який LLM отримає кожен запит.
Захисні обмеження LLMautomationВиявляйте джейлбрейки, ін’єкції та порушення політики.
Пошук і отримання данихautomationОцінюйте релевантність кандидатів запиту через Score і змінюйте їхній порядок.
Виділення ознакautomationПеретворюйте мову на ймовірнісні ознаки для класичного машинного навчання.
Оцінювання ризикуautomationПеретворюйте нотатки про інциденти на ймовірнісні показники ризику.
Графи та графи знаньautomationКласифікуйте зв’язки та виявляйте суперечності.
Семантичний аналіз кодуautomationЗапускайте в CI семантичні перевірки, налаштовані для команди.
Прогнозування попитуautomationВиділяйте ознаки наміру й терміновості для прогнозів.

Приклади рішень із карти сценаріїв

Карта сценаріїв TypeSafe містить галузеві приклади, а не другий набір примітивів. У підтримці клієнтів класифікують заявки, виявляють терміновість і запити на повернення коштів та розподіляють черги. У страхуванні класифікують нотатки FNOL і передають справи з високим ризиком на вищий рівень. У протидії фінансовим злочинам оцінюють описи сповіщень і спрямовують неоднозначні 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, бо це програмні судження, а не друга лінійка продуктів.

Джерела