Промпт як шлюбний контракт із демоном

LLM виконує те, що написано — не те, що мається на увазі. Як literal-wish знищував бажання в казках і чому більшість повторних ітерацій із ШІ — ціна несказаного. Demon-clause review перед кожним Enter.

00:10. Ти вже втретє переписуєш промпт. Не тому що машина помилилася — а тому що вона зробила рівно те, що ти написав. Саме те. Буква в букву. Ти просив «скорочений виклад», і отримав чотири речення без контексту, з якими неможливо нічого зробити. Ти просив «у стилі блогу», і отримав шаблонний заголовок із відра ентузіазму й дрібком буржуазної банальщини. Ти просив «помоги з email до клієнта», і отримав лист — просто не той, який мав на увазі, бо «той» живе лише у твоїй голові, не в тексті промпту. Рука тягнеться стерти все й написати ще раз. Як у старій казці: попросив «щоб золото було скрізь, до чого торкнуся», і ось донька стоїть золотою статуєю, а ти дивишся на свій підпис у контракті й нарешті читаєш його уважно. Пізно — підпис уже стоїть.

Ось гачок із реальності, перш ніж ідеологія: у 2023 році Stanford і DeepMind опублікували аналіз провалів LLM у промисловому використанні — в переважній більшості зафіксованих помилок першопричиною був дефект специфікації, а не збій моделі (Longpre et al., 2023, «Data-centric AI» survey; [VERIFY]). Тобто машина зробила те, що їй сказали. Просто ніхто не поставив правильно питання, що саме їй сказали.

Нотаріус-джин не обманює. Він сидить навпроти тебе з чистим аркушем, акуратним пір'ям і дуже приємною усмішкою людини, яка щойно знайшла в твоєму договорі дірку розміром із твоє намагання. Він виконує бажання — але бажання, яке написане, а не те, яке ти мав на увазі. Жодного обману. Лише буква. І ця різниця між буквою і духом контракту — не красне слівце, а правова категорія, яку суди розрізняють буквально сторіччями: literal vs purposive interpretation (джерело: Oxford Handbook of Comparative Law, [SOURCE-READY]). Різниця в тому, що суддя може запитати про намір автора — LLM не запитає. Вона виконає.

Чому намір — це не твоя юрисдикція

Вчорашнього вечора о 22:30, за столом у слабкому світлі ноута, хтось написав «зроби мені пітч-дек». Не сказав: для кого. Не сказав: яка аудиторія, яка стадія, який тон, яка кількість слайдів. Не сказав: є вже структура чи будувати з нуля. Машина отримала три слова й заповнила прогалини тим, що статистично ймовірно — стартап-шаблон із ринком, командою, трекшном і закликом до дії. Потім людина дивилася на результат і думала: «ні, не те». А те — де?

Намір залишився в голові. У промпті його не було. І от тут починається справа, яку я хочу назвати прямо: Промпт як шлюбний контракт із демоном — literal-wish, ціна несказаного.

Запиши цю фразу на стікер і приклей до монітора — вона економить тобі по годині на день. Коли джин виконує бажання буквально, він не ворог і не дурень — він найчесніша істота на ринку. Він дає рівно те, що в тексті, і ні граму наміру, бо намір — це не його юрисдикція. Твій намір — це пункт, який ти забув включити до контракту. А контракт підписано в момент натискання Enter.

Кожна казка про три бажання — це курс «вимоги до технічного завдання», тільки штраф за пропущений рядок там не «переробимо в наступному спринті», а золота донька. Мідас хотів багатства — отримав золоте все, включно з їжею і дитиною (Ovid, Metamorphoses XI; [SOURCE-READY]). Він сформулював точно. Він не передбачив ціну несказаного: що «золото» без обмеження — це і «все живе».

Анатомія контракту: де ховається несказане

14:20, відкритий ноут, недопита кава лишила коричневе кільце на договорі-чернетці поруч. Ти друкуєш «зроби коротше» і відчуваєш, як у грудях уже лежить готова відповідь — ти ж знаєш, що мав на увазі. Голова твоя в цю секунду — склад контрабанди: там лежить увесь контекст, який на екран так і не виповз. Психологи називають це curse of knowledge: чим краще ти розумієш тему, тим важче тобі уявити, що інший її не розуміє (Camerer et al., 1989, Cognitive Journal; [SOURCE-READY]). Ти знаєш контекст. Ти знаєш нюанс. Ти знаєш, що «скорочення» означає не три речення, а хірургічне видалення води при збереженні аргументу. Машина цього не знає. Ти не написав. Вона виконала — і виконала чесно.

У контракті з демоном є чотири категорії несказаного. Перша — контекст аудиторії: хто читає, навіщо, з яким рівнем фонових знань. Не вказано — демон заповнить середньостатистичним. Друга — стандарт якості: що означає «добре» для цього завдання — «прийнятно» або «відмінно», «швидко» або «точно». Не вказано — демон обере один із варіантів, який статистично зустрічається найчастіше. Третя — обмеження і заборони: чого не робити, яких тонів уникати, що є табу в цьому конкретному контексті. Не вказано — демон не знає. Четверта — критерії «готово»: як виглядає результат, якому ти задоволений. Не вказано — демон вирішить сам.

Ось чому той злощасний email «до клієнта» виходить неправильним: ти не сказав демону, хто цей клієнт, яка ваша передісторія, що ти намагаєшся зберегти чи отримати, який тон прийнятний у вашій конкретній культурі спілкування. «Email до клієнта» — це три слова, в яких живе три сторінки несказаного.

Категорія несказаного Що демон заповнює замість тебе Ціна помилки
Контекст аудиторії Середньостатистичний читач для цього типу тексту Тон і рівень складності — не твої
Стандарт якості «Прийнятно» як дефолт Отримуєш робоче, а не чудове
Обмеження / заборони Нічого не виключає, якщо не сказано Включає те, що ти ненавидиш
Критерій «готово» Статистично часта довжина/структура Завдання «закрите», але не для тебе
Передісторія і роль Нейтральний генеральний виконавець Не твій голос, не твій контекст

Буква проти духу: три способи підписати не той контракт

Ранок, офіс, кава ще не допита. Продуктменеджер просить машину «скласти план для запуску». Машина видає дванадцять пунктів із датами і власниками. Продуктменеджер дивиться й думає: «Чому тут немає нічого про ризики?» — бо він «мав на увазі план із ризиками». Але ж написав «план для запуску». І де в цих словах слово «ризики»?

Перший спосіб підписати не той контракт — апелювати до наміру, не до тексту. Ти знаєш, що мав на увазі. Демон знає лише те, що написано. Кожна думка «він мав зрозуміти» — це злість на власний підпис.

Другий спосіб — не вказувати формат і тон. «Напиши текст» — це як замовити «страву» в ресторані без меню: кухар принесе щось їстівне, але не обов'язково те. «Напиши текст у стилі короткого бізнес-мемо, без вступних фраз, без висновку, лише тіло: три пункти із заголовками» — це специфікація. Різниця між «напиши» і «напиши конкретно що і як» — це різниця між «три бажання» і «три чітко специфіковані умови угоди».

Третій спосіб — не вказувати обмеження. Контракти з демонами відомі тим, що мовчання трактується на його користь. Ти не сказав «без кліше» — значить, кліше можна. Ти не сказав «не більше 200 слів» — значить, можна й 800. Ти не сказав «не використовуй приклад із Fortune 500» — значить, він буде. Все, чого ти не заборонив, дозволено. Несказане — це мовчазна згода.

Механізм: контракт із правильним демоном

Промпт — це не прохання, це специфікація. Різниця та сама, що між «зроби мені щасливим» і документом на дванадцять сторінок із визначеннями термінів і критеріями виконання.

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

Уяви за плечем не помічника, а ворожого юриста — сивого, у м'ятому піджаку, з холодним чаєм у склянці й олівцем, який він слинить перед кожним рядком. Його робота — знайти в твоєму тексті всі місця, де він може означати щось інше, і обвести їх. «До чого ти можеш причепитися?» — це не параноя, це контрактна гігієна. Він не бажає тобі зла. Він просто читає те, що написано, — як демон.

Але є й глибша річ. Після того, як у продакт-менеджмента з'явилася мода на user stories формату «як <роль>, я хочу <дія>, щоб <ціль>», кількість непорозумінь між командою і розробкою впала — не тому що шаблон магічний, а тому що він примушує автора назвати роль, дію і ціль явно. Промпт працює так само: роль (хто говорить і з якої позиції), дія (що конкретно зробити), контекст (що вже відомо), формат (як виглядає результат), обмеження (чого не робити). Це не магія — це проговорений контракт.

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

Дзеркало: це не вони, це ти

Тут де більшість читачів починають ображатися — і правильно роблять, тому що це незручна частина. Коли ти скаржишся на «тупу ШІ», яка зробила не те — ти скаржишся на дзеркало. Дзеркало повернуло твоє формулювання. Воно не думало за тебе, не мало злого умислу, не саботувало твій проєкт. Воно зробило рівно те, що ти попросив. І якщо результат не той, то промпт не той.

Це не означає, що машина досконала або що в неї немає обмежень — звичайно, є, і серйозних. Але більшість щоденних розчарувань із LLM мають іншу адресу. Це як викликати поліцію на пограбування і вимагати, щоб слідчий упіймав злодія за відбитками, яких ти сам стер ганчіркою. Людина приходить із туманним формулюванням, отримує невтішний результат, перезапускає двадцять разів у надії, що «якось воно зрозуміє» — і дивується, що не розуміє. Це не баг моделі. Це ітерація по стертих відбитках.

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

Інструмент: demon-clause review

Перед тим як натиснути Enter — одна хвилина ворожого юриста. Не треба курсів, не треба фреймворків на сторінку. Три запитання:

Перше. Де я сказав буквально не те, що мав на увазі? Пробіжись по промпту і знайди слово чи фразу, яка може означати щось інше, ніж ти хотів. «Коротко» — це скільки? «Детально» — це до якого рівня? «У стилі» — це тон, лексика, структура, або все одразу? Якщо слово двозначне — уточни або замість нього постав конкретний параметр.

Друге. Який рядок я пропустив, бо він «очевидний»? Очевидне демон не читає. Те, що «само собою зрозуміло» для тебе — статистично нейтральне для машини. Якщо ти розраховуєш, що «і так зрозуміло» — воно не зрозуміло. Напиши.

Третє. Що я не заборонив, але не хочу бачити? Це найпропущеніший крок. Ти думаєш про те, що хочеш — і не думаєш про те, чого не хочеш. А демон у просторі «дозволено все, що не заборонено» виробляє дефолтне. Якщо ти ненавидиш bullet points — скажи. Якщо ти не хочеш жодного «у сучасному світі» — скажи. Якщо результат не може містити фразу, яку ти ніколи не вживаєш — скажи.

Це не перфекціонізм. Це контрактна гігієна. Різниця між «перечитай промпт і натискай» і «перечитай промпт як ворожий юрист» — це різниця між підписом наосліп і підписом із розумінням, що саме ти підписуєш.

Як виглядає контракт, де дирки закриті

Порівняємо два промпти для однієї задачі — відмова клієнту, який просить знижку.

Версія A: «Напиши email клієнту, який просить знижку, але ми не даємо знижок».

Версія B: «Ти — B2B-менеджер з продажів в агентстві digital-маркетингу. Клієнт (CMO у виробничій компанії, стосунки 8 місяців, середній чек — 4 000 євро/місяць) просить знижку 20% через «бюджетний перегляд». Наша позиція: знижок не надаємо, але цінність доводимо. Напиши email відмову (не більше 180 слів), без вибачень і без «на жаль», у тоні впевненого партнера, не постачальника. Не використовуй фразу «ми цінуємо вашу лояльність». Закінчи конкретною пропозицією зустрічі або дзвінка».

Версія A отримає шаблонний email із вибаченнями й «ми цінуємо вашу лояльність». Версія B отримає те, що потрібно. Різниця не в розмірі — вона в кількості закритих дирок у контракті.

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

Де насправді втрачається час

Управлінська консультантка у Варшаві, 23:40, ноутбук на кухні. Вона переписує промпт уже в п'яте. Кожна ітерація — «ще одна спроба». Але проблема не в спробах — проблема в тому, що вона ітерує по симптому, а не по причині. Кожен новий промпт ліпший за попередній на одну дрібницю, але структурну дірку — відсутність контексту аудиторії, відсутність критеріїв якості, відсутність заборон — вона не закриває. Тому п'ята ітерація так само розчаровує, як перша, просто трохи в інший бік.

Найдорожча помилка в роботі з LLM — це не поганий промпт. Це ітерація по поганому промпту замість його переосмислення. Кожен перезапуск без зміни структури — це той самий контракт із демоном, передрукований іншим шрифтом. Підпис той самий. Умови ті самі. Результат прогнозований.

Ціна несказаного — не тільки поганий результат. Це ще й час: середній knowledge worker витрачає значну частину своєї взаємодії з LLM на ітерації через не ту специфікацію ([DROP-IF-NO-SOURCE] — якісна оцінка, цифру без верифікованого джерела не ставлю). Але й без числа — подивися на власну роботу за тиждень. Скільки разів ти переписував промпт більше двох разів? І скільки з тих разів причина була в структурі запиту, а не в моделі?

Намір — не твоя юрисдикція, якщо він не в тексті. Ти чув це вже втретє. Демон — жодного разу.

Рахунок

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

Ти злишся на машину. Але машина — нотаріус. Вона посвідчила те, що ти приніс. Якщо в документі дірка — нотаріус не зобов'язаний її бачити. Він зобов'язаний завірити те, що є.

Промпт як шлюбний контракт із демоном — literal-wish, ціна несказаного — це не метафора для красивого фіналу. Це операційний опис того, що відбувається щоразу, коли ти натискаєш Enter без demon-clause review. Ти підписуєш. Демон виконує. Ти дивишся на результат і не розумієш, чому не те.

Тому що «те» так і лишилося в голові. І контракт цього не знав.

(Джерела: Ovid, Metamorphoses, Book XI — Midas myth [SOURCE-READY]; Camerer, Loewenstein, Weber, 1989, «The Curse of Knowledge in Economic Settings», Journal of Political Economy [SOURCE-READY]; literal vs purposive interpretation — Dworkin, «Law’s Empire», 1986; Pepper v Hart [1993] AC 593 [SOURCE-READY]; Longpre et al., 2023, «Data Provenance Collection» та пов’язані LLM failure mode surveys [VERIFY — конкретне число потребує уточнення джерела].)

Питання та відповіді

Що таке «Промпт як шлюбний контракт із демоном» і чому це корисна модель?

Це named mechanism, який описує структурну природу взаємодії з LLM: модель виконує буквально те, що написано, не те, що автор мав на увазі — так само як демон у казці виконує бажання дослівно, ігноруючи намір. Корисна модель тому, що переносить відповідальність за якість результату на специфікацію запиту, а не на «тупість» машини. Якщо підписав не той контракт — претензії до підпису.

Що таке «ціна несказаного» і як вона виявляється на практиці?

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

Що таке demon-clause review і чим він відрізняється від просто «перечитати промпт»?

Demon-clause review — це читання промпту з позиції ворожого юриста, а не автора. Три питання: де я сказав буквально не те, що мав на увазі? який рядок я пропустив, бо він «очевидний»? що я не заборонив, але не хочу бачити? Звичайне «перечитати» перевіряє, чи текст відповідає наміру — demon-clause review перевіряє, чи намір взагалі є в тексті.

Чи не означає це, що треба писати промпти на дві сторінки?

Ні. Орієнтир — не довжина, а кількість закритих дірок, де демон може вставити статистичний дефолт. Іноді досить одного уточнення («без bullet points», «не більше 150 слів», «тон — партнер, не постачальник»), яке закриває головну прогалину. Довгий промпт із незачиненими клаузами гірший за короткий зі специфічними обмеженнями.

Це стілмен: може, проблема в моделі, а не в промпті — і автор просто перекладає провину?

Чесна претензія. Моделі мають реальні обмеження: галюцинації, обрізання контексту, слабкі місця в рідких доменах. Але більшість щоденних розчарувань — не з тих. Коли результат «не той, що я хотів» і причина пояснюється відсутністю контексту, аудиторії, обмежень або формату в запиті — це структурна проблема специфікації. Відрізнити просто: якщо додавання одного уточнення у промпт дає інший результат — значить, проблема була в промпті, не в моделі.

Коментарі

Лише для залогінених читачів — щоб лишалось людським, а не болотом ботів.