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