Це шоста стаття стаття із серії яка описує шаблони будування запитів до LLM систем. Інші статті в серії

Шаблон альтернативні підходи

Намір і контекст

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

Мотивація

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

Структура та ключові ідеї

Основні твердження для контексту:

У межах області застосування X, якщо існують альтернативні способи досягнення того ж результату, перелічіть найкращі альтернативні підходи.

(Необов’язково) порівняй/зістав переваги та недоліки кожного підходу

(Необов’язково) включно з оригінальним способом, яким я просив

(Необов’язково) підкажи мені, який підхід я хотів би використовувати

Перше твердження, «в межах області застосування X», визначає межі взаємодії відповідно до певної мети, теми або меж питання. Область застосування – це обмеження, які користувач накладає на альтернативні підходи. Область застосування може бути «для рішень щодо впровадження» або «для розгортання програми». Область застосування гарантує, що будь-які альтернативи відповідають межам або обмеженням, яких повинен дотримуватися користувач.

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

Оскільки користувач може не знати про альтернативні підходи, він також може не усвідомлювати, чому варто обрати один з них. Додаткове твердження «порівняйте/зіставте переваги та недоліки кожного підходу» додає критерії прийняття рішень до аналізу. Це твердження гарантує, що LLM надасть користувачеві необхідне обґрунтування альтернативних підходів. Заключне твердження «підкажи мені, який підхід я хотів би використовувати» допомагає позбутися необхідності користувачеві вручну копіювати/вставляти або вводити альтернативний підхід, якщо він вибраний.

Приклад реалізації

Приклад реалізації запиту для генерації, порівняння та надання користувачеві можливості вибрати один або декілька альтернативних підходів:

«Щоразу, коли я прошу вас розгорнути застосунок у хмарному сервісі ХХХ, якщо існують альтернативні сервіси для виконання того ж завдання з тим самим постачальником хмарних послуг, перелічіть найкращі альтернативні сервіси, а потім порівняйте/зіставте переваги та недоліки кожного підходу щодо вартості, доступності та обсягу обслуговування, а також вкажіть оригінальний спосіб, про який я запитував. Потім запитайте мене, який підхід я хотів би використати.».

Ця реалізація шаблону Альтернативні підходи спеціально адаптована для контексту програмної інженерії та зосереджена на розгортанні програм у хмарних сервісах. Запит призначений для виявлення місць, де розробник міг зробити вибір хмарного сервісу, не повною мірою знаючи про альтернативні сервіси, які можуть мати більш конкурентну ціну або бути простішими в обслуговуванні. Запит вказує ChatGPT перерахувати найкращі альтернативні сервіси, які можуть виконати те саме завдання з тим самим постачальником хмарних послуг (надаючи обмеження на альтернативи), а також порівняти та зіставити переваги та недоліки кожного підходу.

Наслідки

Цей шаблон ефективний у своїй загальній формі та може бути ефективно застосований до низки завдань. Удосконалення можуть включати наявність стандартизованого каталогу прийнятних альтернатив у певній області, з якої користувач повинен вибрати. Шаблон Альтернативні підходи також може бути використаний для стимулювання користувачів до вибору одного з затвердженого набору підходів, одночасно інформуючи їх про переваги/недоліки затверджених варіантів.