Промптът е програма
В урок 16 видяхте, че моделът продължава текста по най-вероятния начин. Следствието е просто: това, което получавате, зависи от това, което сте написали. Досега програмирахте с точни инструкции на C# и SQL. Промптът е друг вид програмиране — описвате задачата на естествен език, а моделът я изпълнява по начина, който сметне за най-вероятен. Затова формулировката има толкова голямо значение.
Промпт (prompt)
Целият текст, който подаваме на модела: указания, контекст, примери и самият въпрос.
Градивните части
| Част | За какво служи | Пример |
|---|---|---|
| Роля | задава гледна точка и речник | Ти си администратор на бази от данни. |
| Задача | какво точно да се направи, с глагол | Напиши SQL заявка, която … |
| Контекст | какво знаем за случая | Таблиците са students(id, name, class_id) и marks(student_id, mark). |
| Примери (few-shot) | показват желания изход вместо да го описват | „Иван от Пловдив“ → име: Иван, град: Пловдив |
| Формат | как да изглежда отговорът | Само кодът, без обяснения. Колоните с псевдоними на латиница. |
| Ограничения | какво да не прави | Без функции, специфични за MySQL. Ако нещо липсва — попитай. |
| Слаб промпт | Добър промпт | |
|---|---|---|
| Текст | Напиши заявка за средна оценка по класове | Таблици: classes(id, name), students(id, name, class_id), marks(id, student_id, mark). Напиши SQL заявка (SQLite), която за всеки клас връща името му и средната оценка, закръглена до 2 знака, подредено по средната низходящо. Само кодът. |
| Какво липсва | имена на таблици, колони, диалект, сортиране, формат | — |
| Резултат | измислени имена на колони, обяснения около кода | заявка, която се изпълнява направо |
Похвати, които наистина работят
Примери в самия промпт
Най-силният похват. Вместо да описвате какъв да е изходът, покажете два-три примера — моделът ще продължи по образец. Това се нарича few-shot („с няколко примера“).
Извлечи име и град:
"Иван Петров от Пловдив" → {"ime": "Иван Петров", "grad": "Пловдив"}
"Мария от Варна" → {"ime": "Мария", "grad": "Варна"}
"Георги Иванов, живее в Бургас" →Стъпка по стъпка
За задачи с няколко хода добавете „разсъждавай стъпка по стъпка“. Всеки написан токен е част от контекста за следващия — така моделът си строи опора. Прескочи ли към отговора веднага, шансът за грешка е по-голям. Видяхте го в урок 16 при умножението.
Разрешение за незнание
Добавете изрично: „ако информацията не се съдържа в текста, отговори „не знам“.“ Без това моделът предпочита да измисли отговор, защото вероятностното разпределение винаги предлага нещо.
Изискван формат на изхода
„До 100 думи“, „само JSON, без обяснения“, „таблица с три колони“ — конкретните ограничения намаляват разсейването и правят отговора използваем от програма. В урок 20 това ще стане задължително.
Какво не работи
- „Бъди по-добър“, „бъди точен“, „не греши“ — няма какво да променят: моделът и без това тегли най-вероятното продължение.
- Заплахи и обещания за награда — това е ритуал, не механизъм.
- Много задачи в един промпт — качеството пада; разделете ги.
- Разчитане, че моделът помни предишен разговор — той вижда само това, което е в контекстния прозорец сега.
Промптът като код: версии и критерий
Един промпт рядко става от първия път. Работи се както при програмите: измерване, хипотеза, промяна, ново измерване. За да има измерване, трябва критерий за качество — списък от проверими условия, на които отговорът или отговаря, или не.
- Напишете критерия преди промпта: 3–5 условия с отговор „да/не“.
- Напишете версия 1 и вижте какво излиза.
- Открийте най-дразнещия проблем — измислена колона, обяснения около кода, грешен диалект.
- Добавете едно изречение срещу точно този проблем. Това е версия 2.
- Пуснете всяка версия поне 3 пъти — заради температурата отговорите се различават.
- Запишете таблица „версия → какво промених → ефект“. Пазете версиите като код, не ги презаписвайте.
Какво трябва да запомниш
- Промптът е програма на естествен език: роля, задача, контекст, примери, формат, ограничения.
- Примерите (few-shot) са най-силният начин да зададете формат; „стъпка по стъпка“ помага при задачи с няколко хода.
- Разрешете на модела да каже „не знам“ — иначе ще измисли.
- „Бъди по-добър“ не променя нищо; конкретното изречение срещу конкретния проблем — да.
- Качеството се измерва по предварително записан критерий и при няколко пускания, не по един късметлийски отговор.
- Промптът се пази с версии, като код. Лични данни в него — никога.