Промпт-інжиніринг
OpenAI’s Prompt Engineering Guide: Mastering ChatGPT for Advanced Applications

Understanding Prompt Engineering
Prompt engineering – це мистецтво та наука створення вхідних даних (промптів), щоб отримувати бажані виходи від моделей штучного інтелекту, таких як ChatGPT. Це важливий навик для максимізації ефективності цих моделей.
ChatGPT, побудований на основі архітектур OpenAI’s GPT-3 і GPT-4, значно покращився, став більш реактивним і контекстно-відчутливим. Знання його еволюції є ключем до освоєння інженерії промптів.
Як досвідчений диригент, який керує оркестром, інженерія промптів дозволяє нам спрямовувати ці моделі для виконання складних завдань, від створення детальних технічних документів до генерації творчих і привабливих контентів. Цей гід проведе вас через стратегії та тактики, які перетворюють вашу взаємодію з штучним інтелектом, підвищуючи її з базових обмінів до нюансів і значимих розмов.
Розгляньте різницю між запитами “Як додавати числа в Excel?” та “Як автоматично підсумовувати стовпець доларових сум в Excel, з підсумками, відображеними праворуч у стовпці ‘Загалом’?” Другий, більш детальний промпт, залишає менше місця для інтерпретації штучного інтелекту, що призводить до більш точної та корисної відповіді. Аналогічно, розуміння використання персонажів, роздільників і інструкцій крок за кроком може суттєво вплинути на якість виходу штучного інтелекту, особливо для складних завдань.
Цей гід з інженерії промптів охоплюватиме не тільки теоретичні аспекти, але також надасть практичні, прикладні приклади. Ви дізнаєтеся, як ефективно використовувати тактику надання посилань на тексти для керування штучним інтелектом, щоб він уникав вигадок, або як розбивати складні завдання на простіші субзадачі, щоб отримувати більш точні результати.
1. Ясність і деталізація
Створення ефективних промптів для моделей штучного інтелекту, таких як GPT-4, потребує поєднання точності, контексту та ясності. Різниця між погано створеним промптом і добре продуманим промптом може бути різницею між нечіткою, загальною відповіддю і високо релевантною, конкретною відповіддю.
Приклад 1: Використання мовного розуміння ChatGPT для технічних запитів
- Неефективний промпт: “Як виправити помилку в моєму коді?”
- Вихід штучного інтелекту: “Щоб виправити помилку в вашому коді, вам потрібно спочатку визначити помилку, зрозуміти, чому вона відбувається, і потім змінити код, щоб виправити її.”
- Ефективний технічний запит: “Я програмую на Python і отримую ‘KeyError’, коли намагаюся доступитися до словника. Кодовий фрагмент такий: [кодовий фрагмент]. Що спричиняє цю помилку і як її виправити?”
- Вихід штучного інтелекту: “‘KeyError’ у вашому коді на Python, ймовірно, спричинений спробою доступитися до ключа в словнику, який не існує. Ось як ви можете змінити свій код, щоб виправити цю помилку: [Змінений кодовий фрагмент з поясненням].”
Приклад 2: Творче письмо з імітацією стилю
- Неефективний промпт: “Напишіть коротку історію.”
- Вихід штучного інтелекту: “Колись у далекій землі була королівство, яке зіткнулося з великою небезпекою…”
- Ефективний промпт з імітацією стилю: “Напишіть коротку історію в стилі Ернеста Хемінгуея, зосередившись на розмові між двома старими друзями, які зустрічаються несподівано.”
- Вихід штучного інтелекту: “Сонце палало на пиловому шляху, де Джек і Том, два старих друга, зустрілися випадково. ‘Минуло роки’, – сказав Джек, його голос такий же сухий, як повітря. ‘Роки з часу війни’, – відповів Том. [Історія продовжується в стилі Хемінгуея, лаконічному і діалоговому].”
Приклад 3: Поради з подорожей
- Неефективний промпт: “Що робити в Парижі?”
- Вихід штучного інтелекту: “У Парижі ви можете відвідати пам’ятки, такі як Ейфелева вежа, Лувр та собор Нотр-Дам.”
- Ефективний промпт: “Я відвідую Париж протягом трьох днів цього літа, з акцентом на мистецтво та історію. Чи можете ви порекомендувати детальний маршрут?”
- Вихід штучного інтелекту: “День 1: Відвідайте Лувр вранці, потім пройдіться до собору Нотр-Дам. [Більше детального маршруту].”
Нагадування про створення кращих промптів
- Конкретність: Будьте якомога конкретніші. Чим більш деталізований ваш промпт, тим більш підходящою буде відповідь.
- Контекстна інформація: Включайте всю релевантну контекстну інформацію. Це допомагає штучному інтелекту зрозуміти точну природу вашого запиту.
- Чітка мета: Ясно зазначайте, чого ви очікуєте як виходу. Чи це рецепт, план подорожі чи технічне рішення, робіть свою мету чіткою.
- Уникайте двозначності: Двозначні промпти призводять до загальних відповідей. Уточнюйте свій запит, щоб отримувати точні відповіді.
- Використовуйте відомі формати: Якщо це доречно, запитуйте інформацію в певному форматі, наприклад, у вигляді списку, крок за кроком або діаграми.
2. Покращення відповідей штучного інтелекту за допомогою посилань
Стратегічне використання посилань на тексти в інженерії промптів може суттєво підвищити якість і точність відповідей від моделей штучного інтелекту, таких як GPT-4. Надавши релевантну, довірену інформацію поряд з вашим запитом, ви можете спрямувати штучний інтелект на створення відповідей на основі наданої інформації, роблячи відповіді більш надійними і контекстно точними.
Приклад 1: Наукове пояснення
- Традиційний промпт: “Як утворюється чорна діра?”
- Вихід штучного інтелекту: “Чорна діра утворюється з залишків великої зірки, яка гине внаслідок наднової вибуху. Якщо маса ядра достатня, воно колапсує під власною гравітацією в чорну діру.”
- Покращений промпт з посиланням на текст:
- Текст, наданий для посилання: “[Науковий документ про еволюцію зірок і чорних дір]”
- Промпт: “Використовуючи інформацію з наданого наукового документа, поясніть процес утворення чорної діри.”
- Вихід штучного інтелекту: “На основі наукового документа, наданого, утворення чорної діри відбувається, коли масивна зірка вичерпує свій ядерний паливо і її ядро колапсує. Документ деталізує: [‘Релевантні уривки з документа’].”
Приклад 2: Юридична інтерпретація
- Традиційний промпт: “Які юридичні наслідки крадіжки інтелектуальної власності?”
- Вихід штучного інтелекту: “Крадіжка інтелектуальної власності може привести до юридичних наслідків, таких як судові справи, штрафи та в серйозних випадках, тюремне ув’язнення.”
- Покращений промпт з посиланням на текст:
- Текст, наданий для посилання: “[Юридична стаття про право інтелектуальної власності]”
- Промпт: “Посилаючись на юридичну статтю, надану, поясніть конкретні юридичні наслідки крадіжки інтелектуальної власності.”
- Вихід штучного інтелекту: “Юридична стаття зазначає, що крадіжка інтелектуальної власності може привести до цивільних судових процесів, статутних штрафів та потенційних кримінальних звинувачень. Зокрема, стаття згадує: [‘Прямі цитати зі статті’].”
Нагадування про використання посилань на тексти в промптах
- Виберіть релевантні тексти: Вибирайте тексти, які безпосередньо стосуються вашого запиту.
- Специфікація промпту: Ясно інструктуйте штучний інтелект використовувати наданий текст для формування відповіді.
- Цитування: Запитайте штучний інтелект цитувати конкретні частини наданого тексту в його відповіді для точності та верифікації.
- Поведінка при недостатній інформації: Інструктуйте штучний інтелект чітко зазначати, якщо наданий текст не містить необхідної інформації для відповіді на запит.
3. Упрощення складних завдань шляхом розділення на субзадачі
Ключ до ефективного xửлення складних завдань моделями штучного інтелекту, такими як GPT-4, полягає в розбиванні їх на простіші субзадачі. Цей підхід не тільки спрощує процес, але й підвищує точність і релевантність відповідей штучного інтелекту. Нижче ми демонструємо цю стратегію через конкретні приклади, підкреслюючи переваги використання класифікації намірів, технік підсумовування та структурованих розмов для складних запитів.
Приклад 1: Запит до служби підтримки клієнтів
- Неефективний підхід: Одноразовий промпт, який просить загальну допомогу.
- Промпт користувача: “У мене проблеми з моїм акаунтом.”
- Вихід штучного інтелекту: “Будь ласка, вкажіть природу ваших проблем з акаунтом.”
- Ефективний підхід: Класифікація запиту на категорії та надання цільової допомоги.
- Промпт користувача: “У мене проблеми з доступом до свого акаунту.”
- Директива штучного інтелекту: “Класифікуйте запит на ‘Управління акаунтом’, потім запропонуйте конкретні кроки для вирішення проблем з доступом.”
- Вихід штучного інтелекту: “Здається, у вас проблеми з доступом до акаунту. Давайте почнемо з скидання пароля. [Відповідь продовжується з детальними кроками].”
Приклад 2: Підсумовування довгого документа
- Неефективний підхід: Спроба підсумувати довгий документ за один раз.
- Промпт користувача: “Підсумуйте цю 300-сторінкову книгу для мене.”
- Вихід штучного інтелекту: “Мене не вдається обробити документи довші за мій контекстний вікно.”
- Ефективний підхід: Підсумовування документа по частинах і рекурсивне створення повного підсумовування.
- Директива штучного інтелекту: “Підсумуйте кожну главу окремо, потім створіть підсумовування підсумовувань, рухаючись рекурсивно.”
- Промпт користувача: “Підсумуйте главу 1 цієї книги.”
- Вихід штучного інтелекту: “Глава 1: [Коротке підсумовування глави 1].”
- Поточний процес: Те ж саме робиться для кожної глави, після чого створюється підсумовування всіх окремих підсумовувань.
Переваги розділення на субзадачі та контекстної інженерії промптів
- Збільшення точності: Розбиваючи завдання на окремі частини, штучний інтелект може надавати більш точні та релевантні відповіді.
- Поліпшення ефективності: Розбивка завдань робить їх більш керованими і знижує ймовірність помилок або нерелевантних виходів.
- Кращий досвід користувача: Користувачі отримують цільові, крок за кроком інструкції, які є більш корисними, ніж загальні відповіді.
- Економічна ефективність: Менші, цільові промпти можуть бути більш економічно ефективними порівняно з більшішими, складнішими промптами.
4. Надання часу GPT для “думання”
Стратегія надання моделям часу для “думання” і розбивка складних завдань на керувані кроки суттєво покращує якість відповідей від моделей штучного інтелекту, таких як GPT-4.
Приклад 1: Оцінка математичної задачі
- Неефективний підхід: Прямий запит до моделі щодо оцінки розв’язку студента.
- Промпт користувача: “Чи є розв’язок студента математичної задачі правильним?”
- Вихід штучного інтелекту: “Розв’язок студента здається правильним/неправильним.”
- Ефективний підхід: Інструктування моделі спочатку самостійно розв’язати задачу, а потім порівняти з розв’язком студента.
- Промпт користувача: “Спочатку розв’язайте математичну задачу. Потім порівняйте свій розв’язок з розв’язком студента та оцініть його правильність.”
- Вихід штучного інтелекту: “Мій розв’язок: [Детальний розв’язок]. Порівнюючи з розв’язком студента, я знайшов помилку в його розрахунках [конкретної частини]. Правильний підхід повинен бути [правильний метод].”
Приклад 2: Аналіз документа
- Неефективний підхід: Спроба проаналізувати великий документ за один запит.
- Промпт користувача: “Підсумуйте ключові моменти з усього цього документа.”
- Вихід штучного інтелекту: “Мене не вдається обробити весь документ через його довжину.”
- Ефективний підхід: Послідовне витягування уривків і подальші запити для комплексного аналізу.
- Промпт користувача: “Витягніть ключові уривки з цього документа, пов’язані з [конкретною темою].”
- Вихід штучного інтелекту: “Уривок 1: [Релевантний пасаж]. Уривок 2: [Інший релевантний пасаж].”
- Поточний промпт користувача: “Чи є інші релевантні уривки? Забезпечте, щоб вони містили повний контекст.”
- Вихід штучного інтелекту: “Додатковий уривок: [Додатковий релевантний пасаж].”
Переваги та інсайти
- Глибина аналізу: Роблячи свій власний аналіз спочатку, штучний інтелект може надавати більш точні та глибокі оцінки.
- Навчання під керівництвом: У ситуаціях навчання використання внутрішнього монологу та підказок спонукає учнів до самостійного знаходження розв’язків, підвищуючи їхній навчальний досвід.
- Комплексне покриття: Для аналізу документів послідовні та рекурсивні підходи забезпечують повне покриття без пропуску важливих деталей.
- Уникання упередженості: Генеруючи свій власний розв’язок спочатку, штучний інтелект уникає упередженості, яка могла б виникнути при прямій оцінці даної відповіді.
5. Використання зовнішніх інструментів
Включення зовнішніх інструментів і ресурсів до взаємодії з штучним інтелектом може суттєво покращити точність і релевантність відповідей, генерованих моделями, такими як GPT-4. Ця секція демонструє використання пошукових запитів на основі ембеддінгів для отримання знань, виконання коду для точних обчислень та викликів функцій для розширення можливостей моделей штучного інтелекту.
Приклад 1: Точні розрахунки з виконання коду
- Без виконання коду: Покладаючись лише на здатність моделі до обчислень.
- Промпт користувача: “Обчислити квадратний корінь з 529.”
- Вихід штучного інтелекту: “Квадратний корінь з 529 приблизно дорівнює 23.”
- З виконання коду: Забезпечення точності обчислень.
- Промпт користувача: “Обчислити квадратний корінь з 529.”
- Директива штучного інтелекту: “Напишіть і виконайте код на Python для обчислення цього.”
- Вихід штучного інтелекту: “
python import math math.sqrt(529)Квадратний корінь з 529 точно дорівнює 23.”
Приклад 2: Використання API-дзвінків для динамічних взаємодій
- Без API-дзвінків: Обмеження статичними, попередньо запрограмованими відповідями.
- Промпт користувача: “Надішліть нагадування моєму другові про нашу зустріч завтра.”
- Вихід штучного інтелекту: “Нагадування: Не забудьте надіслати повідомлення вашому другові про зустріч завтра.”
- З API-дзвінками: Взаємодія з зовнішніми системами для дії в реальному часі.
- Промпт користувача: “Надішліть нагадування моєму другові Джону про нашу зустріч завтра.”
- Директива штучного інтелекту: “Використайте API-повідомлення для надсилання нагадування.”
- Вихід штучного інтелекту: “
python import message message.write(to='John', message='Привіт, пам'ятай про нашу зустріч завтра!')Нагадування надіслано Джону про зустріч завтра.”
Переваги та інсайти
- Розширення бази знань: Використовуючи пошук на основі ембеддінгів, штучний інтелект може отримувати доступ до величезної кількості актуальної інформації, підвищуючи релевантність і точність своїх відповідей.
- Точність обчислень: Виконання коду дозволяє штучному інтелекту виконувати точні математичні розрахунки, що особливо корисно в технічних або наукових контекстах.
- Інтерактивні можливості: API-дзвінки дозволяють штучному інтелекту взаємодіяти з зовнішніми системами, забезпечуючи дії в реальному світі, такі як надсилання повідомлень або встановлення нагадувань.
6. Систематичне тестування
Систематичне тестування, або процедури оцінювання (evals), є важливим для визначення ефективності змін у системах штучного інтелекту. Цей підхід включає порівняння виходів моделі з набором попередньо визначених стандартів або “золотих” відповідей для оцінки точності.
Приклад 1: Виявлення суперечностей у відповідях
- Сценарій тестування: Виявлення суперечностей у відповіді моделі порівняно з відповідями експертів.
- Директива системи: Визначити, чи відповідає відповідь моделі будь-якій частині відповіді експерта.
- Вхід користувача: “Ніл Армстронг став другим людиною, яка ступила на Місяць, після Базза Олдріна.”
- Процес оцінювання: Система перевіряє відповідність з відповіддю експерта, яка зазначає, що Ніл Армстронг був першою людиною на Місяці.
- Вихід моделі: Відповідь моделі безпосередньо суперечить відповіді експерта, вказуючи на помилку.
Приклад 2: Порівняння рівня деталізації у відповідях
- Сценарій тестування: Оцінка того, чи відповідає відповідь моделі рівні деталізації відповіді експерта.
- Директива системи: Порівняти глибину інформації між відповіддю моделі та відповіддю експерта.
- Вхід користувача: “Ніл Армстронг вперше ступив на Місяць 21 липня 1969 року о 02:56 UTC.”
- Процес оцінювання: Система оцінює, чи надає відповідь моделі більше, рівну чи менше інформації порівняно з відповіддю експерта.
- Вихід моделі: Відповідь моделі надає додаткову інформацію (точний час), яка відповідає та розширює відповідь експерта.
Переваги та інсайти
- Точність та надійність: Систематичне тестування забезпечує, що відповіді моделі штучного інтелекту точні та надійні, особливо при роботі з фактичною інформацією.
- Виявлення помилок: Це допомагає виявляти помилки, суперечності чи несумісності у відповідях моделі.
- Забезпечення якості: Цей підхід є важливим для підтримання високих стандартів якості контенту, згенерованого штучним інтелектом, особливо в освітніх, історичних або інших контекстах, чутливих до фактів.
Висновок та основне повідомлення
Через розглянуті приклади та стратегії ми побачили, як конкретність у промптах може суттєво змінити вихід, і як розбивка складних завдань на простіші субзадачі може зробити складні завдання керованими. Ми дослідили силу зовнішніх інструментів у розширенні можливостей штучного інтелекту та важливість систематичного тестування для забезпечення надійності та точності відповідей штучного інтелекту. Відвідайте Гід з інженерії промптів OpenAI для отримання основних знань, які доповнюють нашу комплексну експлуатацію передових технік і стратегій для оптимізації взаємодії з штучним інтелектом.












