Jev проти мовної моделі

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

Одне рішення, записане двома способами

Надіслати тикет підтримки в одну з чотирьох черг. Ось у що кожен бік реально обходиться в коді.

З мовною моделлю

const res = await llm.chat({
  messages: [{ role: "user", content:
    `Route this ticket. Reply with JSON: {"queue": "Billing"|"Technical"|"Account"|"Sales"}
     Ticket: ${ticket}` }],
  response_format: { type: "json_object" }
});

let queue;
try {
  queue = JSON.parse(res.content).queue;        // may not be JSON
} catch {
  return retry();                               // ...so there is a retry
}
if (!QUEUES.includes(queue)) return retry();    // may be a queue you never had
// and no idea how close the call was

З Jev

const { answers } = await jev.systemOne({
  state: ticket,
  model: "jev-latest",
  questions: { queue: { type: "choice", instructions:
    "Which team should own this ticket?", criteria: QUEUES } }
});

const { choice, probabilities, confidence } = answers.queue;
// choice is one of QUEUES. It cannot be anything else.
if (confidence < 0.7) return humanReview(ticket, probabilities);
route(choice);

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

Що бачить друга версія

Той самий тикет, по-справжньому пропущений крізь Jev. Переможець не дивує; друге місце — це та частина, яку гола мітка викинула б.

“Наш вхід через SSO віддає 500 після ранкового релізу 4.2. Ніхто в команді не може увійти. Те саме в Chrome і Safari, на двох різних тенантах.”
Технічна — 87%, із 4 варіантів
87% Технічна

Технічна перемагає з 87%, але Обліковий запис тримає 13% — і це саме та незгода, яка й має бути, бо збій SSO справді лежить на межі між ними. Гола мітка це сховала б. Якщо помилка маршрутизації чогось коштує, поріг треба ставити саме на цих 13%.

Пліч-о-пліч

Що ви надсилаєте
Jev

Один state плюс карту типізованих запитань.

Мовна модель

Промпт, який зазвичай несе схему й правила прозою.

Що повертається
Jev

По одній типізованій відповіді на запитання, з імовірністю для кожного варіанта.

Мовна модель

Текст. JSON, якщо ви ввічливо попросили і режим підтримується.

Ваш наступний рядок коду
Jev

Перемикання за значенням, яке може бути лише одним із ваших.

Мовна модель

Розбір, потім перевірка, потім гілка на випадок, якщо щось із цього не вдалося.

Як він помиляється
Jev

Він може помилитися щодо вашого тексту. Він не може повернути форму, якої ви не задавали.

Мовна модель

Він може помилитися і у формі — відсутнє поле, мітка, якої ви не перелічували, проза навколо JSON.

Спитати десять речей
Jev

Десять запитань в одному запиті, оцінених щодо state паралельно.

Мовна модель

Один перевантажений промпт або десять викликів.

Невизначеність
Jev

Розподіл і значення впевненості в кожного Choice і Score.

Мовна модель

Те, що текст сам заявляє про власну певність.

Цифри

Їх публікує TypeSafe; це дані постачальника, а не наші вимірювання.

70–500 мс

відповідь від початку до кінця проти 3–329 с у передових моделей

40–200×

швидше на запитах форми Системи 1

$0,042

за мільйон вхідних токенів, вивід безкоштовно

Що можемо виміряти ми: на 14 запусках, зроблених через цей сайт, медіанний час оберту — 329 мс, і більшість цих запитів несли дев’ять запитань, а не одне.

Коли мовна модель — правильний інструмент

Майже завжди, якщо вам потрібна мова. У Jev немає думки, яку він міг би пояснити, і нічого сказати.

  • Вам потрібна проза — відповідь, стислий переказ, повідомлення коміту, пояснення рішення замість самого рішення.
  • Вам потрібно написати код або план, або будь-що відкрите, де набір відповідей невідомий до виклику.
  • Набір можливих відповідей справді необмежений. Витягти довільне ім’я — це не Choice по 255 варіантах.
  • Вам потрібен ланцюжок міркувань, який можна оглянути. Jev повертає судження, а не кроки за ним.
  • Обсяг невеликий, форма вільна. Цикл повторів, що виконується двічі на день, не вартий того, щоб проєктувати його геть.

Ці двоє краще складаються, ніж змагаються. Власне формулювання TypeSafe — Система 1 для швидкого структурованого судження і звичайна модель як Система 2 позаду: просійте вхід через Noul, розведіть через Choice і передайте вціліле тій моделі, яка справді вміє писати.

Читати далі

Проведіть це порівняння самі

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

Відкрити майданчик