Перейти до вмісту

AI та ML

Jev на практиці: 3 реальні кейси застосування

Три перевірені кейси застосування Jev від TypeSafe AI в деталях: оцінка 724 рекламних оголошень за 40 секунд, скоринг 700 лідів і запобіжник для кодинг-агента з точними цифрами по 18 000+ перевірених дій.

Опубліковано
24 вересня 2026 р.
Оновлено
24 вересня 2026 р.
Автор
Віталій Шинкаренко
⏱
3 хв

Коротка відповідь: три перевірені кейси в деталях — що саме зробили, які питання поставили Jev і що отримали на виході. Усі цифри з першоджерел, посилання додані.

Головне

  • Кейс 1: 724 рекламних оголошення оцінено за шістьма критеріями кожне — 40 секунд, $0,09
  • Кейс 2: 700 лідів проранжовано за прогнозованою ефективністю аутричу, з детекцією невідповідностей — 40 секунд, $0,09
  • Кейс 3: запобіжник для кодинг-агента звів порушення правил з 6 до 0 у 150 прогонах; окремо перевірено на 18 075 реальних діях
  • Спільний патерн: в усіх трьох Jev ставить кілька структурованих питань про кожен об'єкт одразу — і робить це в масштабі, недоступному звичайній LLM

Кейс 1: оцінка 724 рекламних оголошень за 40 секунд

Matthew Berman зібрав 724 живих рекламних оголошення від 37 брендів і поставив Jev шість питань про кожне. Точна цитата з його допису: «за 40 секунд розібрав 724 живих оголошення від 37 брендів. кожен хук. кожен формат. оффер. cta. стадія обізнаності. невідповідність лендингу. витратив 9 центів токенів». Джерело: X (@TheMattBerman) (відкривається в новій вкладці).

Що саме оцінювалося

  • Хук — перша фраза чи кадр, що зачіпає увагу
  • Формат — тип креативу (відео, статичне зображення, карусель тощо)
  • Оффер — що саме пропонується
  • Заклик до дії (CTA) — яка дія очікується від глядача
  • Стадія обізнаності — наскільки аудиторія вже знайома з проблемою чи продуктом
  • Невідповідність лендингу — чи відповідає сторінка, куди веде реклама, обіцянці в самому оголошенні

Як перевірялася невідповідність лендингу

Для останнього критерію Berman завантажував саму сторінку, куди веде кожне оголошення, і Jev порівнював її текст із обіцянкою в рекламі — за оффером, продуктом, ціною та закликом до дії. Це дозволило автоматично знайти оголошення, які обіцяють одне, а лендинг показує інше.

Чому це змінює робочий процес

До появи дешевої класифікації аналітики зазвичай вибирають невелику вибірку оголошень для ручного розбору — перевірити кожне надто дорого. Коли перший прохід по всьому датасету коштує центи, порядок дій змінюється: спершу класифікується весь масив, а людина дивиться вже на найцікавіші кластери, а не на випадкову вибірку. За словами Berman, ця функція увійде до StealAds і буде доступна через MCP.

Кейс 2: скоринг 700 лідів за прогнозованою ефективністю

Romàn (@romanbuildsaas) узяв 700 «гарячих» лідів разом із персоналізованими повідомленнями для аутричу, підготовленими для кожного. Повна цитата: «дали Jev 700 гарячих лідів і персоналізовані повідомлення для аутричу. за 40 секунд він спрогнозував ефективність кожного повідомлення, присвоїв показник впевненості й виявив невідповідності лід-повідомлення. усе за $0,09». Джерело: X (@romanbuildsaas) (відкривається в новій вкладці).

Що повернув Jev для кожного з 700 лідів

  • Прогноз ефективності повідомлення для конкретного ліда
  • Показник впевненості для кожного прогнозу
  • Виявлення невідповідностей — коли повідомлення явно не пасує до профілю ліда

Що це відкриває для команди

За тим самим постом, той самий підхід можна використати ширше: оцінювати ліди за якістю, аналізувати сигнали готовності купити, підбирати найкраще повідомлення під конкретного проспекта та визначати, які кампанії з найбільшою ймовірністю спрацюють. Замість того щоб надсилати аутрич наосліп і дізнаватися про якість постфактум за відповідями, команда спершу сортує ліди за прогнозом і починає з найперспективніших.

Кейс 3: запобіжник, який ловить те, що не бачить лінтер

pi-warden (відкривається в новій вкладці) — запобіжники для кодинг-агента Pi, які «спрямовують, а не перебивають». Встановлюється командою `pi install npm:pi-warden` (потрібні Pi 0.85+ і Node 22.19+), після чого `/warden enable` активує перевірки через ключ TypeSafe API, а `/warden init` генерує стартовий файл правил.

Як описуються правила

Правила проєкту пишуться простою мовою у файлі `pi-warden.md` — кожен заголовок є окремим правилом. Приклад із реального README:

markdown
# Exported functions must have explicit return types
paths: src/**/**.ts
Every exported function declares its return type.
Такі правила не ловить жоден звичайний лінтер — вони описують намір, а не синтаксис

Серед інших реальних прикладів — «TODO має посилатися на тікет», «коментарі не повинні дублювати код» і «очікування процесу без таймауту» (зафіксовано як порушення під час реального використання). Jev перевіряє кожен запис агента на відповідність цим правилам і цитує порушення у відповідь, замість того щоб просто заблокувати дію.

Що саме ловить запобіжник, крім правил проєкту

  • Незворотні дії — force push, `git reset --hard`, рекурсивний `rm`, SQL `DROP` та подібні команди блокуються окремо від правил проєкту
  • Зациклення агента — коли агент повторює ту саму невдалу дію без прогресу
  • Непідтверджені заяви «готово» — коли агент каже, що завдання виконано, але не запустив тести чи перевірку
  • Завеликий вивід інструментів — контекст-сейвер обрізає надто довгий вивід, зберігаючи повний результат доступним за потреби

Виміряні результати

0
порушень із pi-warden
проти 6 у контрольній групі, 150 парних прогонів
13 952
перевірених випадків
109 циклів нічної перевірки, без жодного відхилення точності
≈0,3%
незворотних дій заблоковано
48 з 18 075 захищених викликів у 315 реальних сесіях
74%
нагадувань «готово?» призвели до реального тесту
47 нагадувань за 4 дні використання
Коли блокування незворотної дії виявлялося хибним спрацюванням, повторна спроба знімала блок у 11 із 13 випадків — тобто запобіжник рідко зупиняє агента даремно. Джерело: GitHub (відкривається в новій вкладці).

Спільний патерн: дешевий фільтр перед дорогою дією

В усіх трьох кейсах Jev не замінює основну роботу — рекламу все одно вигадують люди, повідомлення все одно пише LLM, код все одно пише агент. Jev додає структуроване судження поверх цього: оцінює, ранжує чи перевіряє результат за секунди, перш ніж людина чи система витратять час на щось, що можна було відсіяти раніше.

python
from langchain_typesafe import Noul, TypeSafeClassifier

classifier = TypeSafeClassifier()

def review_agent_write(diff: str, project_rules: str) -> bool:
    response = classifier.invoke(
        state=f"Rules:\n{project_rules}\n\nProposed change:\n{diff}",
        questions={
            "violates_rule": Noul(instructions="Does this change violate one of the listed rules?")
        },
    )
    # High confidence of a violation -> block and explain, instead of letting it through.
    return response.nouls["violates_rule"].noul < 0.5
Ілюстративний приклад того самого принципу, що лежить в основі pi-warden

Часті питання

Чи можна побудувати щось на зразок pi-warden самостійно?

Так, це один із найпоширеніших патернів: Jev перевіряє кожну дію агента на відповідність написаним вами правилам і повертає ймовірність порушення до того, як дія виконається. pi-warden — приклад із відкритим кодом для агента Pi, можна почати з нього.

Чому в кейсі з рекламою знадобилося шість окремих критеріїв, а не один?

Тому що Jev дозволяє поставити кілька питань про один об'єкт в одному запиті майже без додаткової затримки. Замість одного розмитого «наскільки хороша ця реклама» Berman отримав шість окремих, чітких відповідей — і саме тому результат можна відсортувати й порівняти.

Що станеться, якщо впевненість Jev низька?

У всіх трьох кейсах низька впевненість — сигнал для додаткової перевірки людиною, а не привід ігнорувати відповідь. Це те, що відрізняє калібровану модель від звичайного класифікатора: числу впевненості можна довіряти статистично.

Наскільки рідко pi-warden блокує агента даремно?

За виміряними даними — рідко: із 18 075 захищених викликів заблоковано лише 48, і коли блокування виявлялося хибним, повторна спроба знімала його в 11 із 13 випадків.

Обговорити, де Jev підійде у вашому продукті

02 — Контакти

Розкажіть, що вам потрібно

Відповімо з пропозицією.