Токени, контекст і галюцинації: чому модель помиляється

Коли модель ШІ поводиться дивно, за цим зазвичай стоїть одне з трьох явищ: ліміт токенів, обмежений контекст або галюцинація.
Токен: одиниця, якою рахує модель
Модель читає не літери й не цілі слова, а токени, тобто шматки тексту. Токен буває цілим словом, його частиною або окремим символом. В англійській мові це приблизно три чверті слова, а в багатьох інших мовах, зокрема й в українській, токенів на слово виходить більше. Ліміти довжини та вартість послуг зазвичай рахують саме в токенах.
Вікно контексту: робоча пам’ять
Модель бачить лише те, що вміщується в її вікно контексту: ваші запити, попередні відповіді та вставлені файли. Коли розмова дуже довга, найстаріші фрагменти можуть бути відрізані або втрачають вагу. Наслідок: модель «забуває» домовленості з початку, повторює помилки або змінює стиль коду.
- Починайте нову розмову для нового завдання.
- Нагадуйте найважливіші обмеження.
- Вставляйте лише ті фрагменти коду, які потрібні.
- Під час довгої роботи попросіть короткий підсумок домовленостей і почніть з нього нову розмову.
Галюцинація: впевнена неправда
Модель генерує відповідь, яка звучить добре, навіть коли за нею немає підстав. У програмуванні типові приклади — функція, якої немає в цій бібліотеці, неіснуючий параметр, вигаданий пакет або синтаксис з іншої версії інструмента. Так відбувається, бо модель має створювати правдоподібний текст, а не перевіряти факти.
Як захиститися:
- запускайте код, а не вірте на слово,
- перевіряйте назви функцій і бібліотек в офіційній документації,
- попросіть модель вказати припущення, на яких вона ґрунтувала відповідь,
- щодо важливих висновків запитайте ще раз у новій розмові або в іншому інструменті.
Чому добрий промпт допомагає
Чіткий контекст зменшує простір для вгадування, а менше вгадування — це менше галюцинацій. Про те, як це робити, пишемо в посібнику про написання промптів для коду.


