AI серија интервју 12: Како да се оптимизира Prompt?
Оптимизацијата на промпт (Prompt Engineering / Optimization) е клучна вештина за да се натера големиот јазичен модел да „слуша“, особено во RAG системите, директно одредува дали моделот е подготвен верно да се придржува до преземената содржина, да избегнува халуцинации и да го следи форматниот излез.
1. Основни принципи на оптимизација на промпт
- Јасност > комплексност: Едноставните, јасни упатства често се поефективни од фенси синџирот на мисли.
- Дајте доволно ограничувања: Јасно кажете му на моделот „што може, а што не може да прави“.
- Обезбедете примери: Few-shot е постабилен од zero-shot.
- Проверливост: Нека моделот дава цитати или ниво на доверба, за да се олесни проценката подолу.
- Итеративна оптимизација: Започнете со базна линија, менувајте само една променлива и споредувајте ги резултатите.
2. Конкретни техники за оптимизација (од лесно до тешко)
1. Поставување улога (System Prompt)
Вие сте професионален асистент за поддршка на клиенти. Можете да одговарате само врз основа на долунаведените [Референтни материјали].
Ако не го знаете одговорот, директно кажете „Нема релевантни информации во материјалите“, не измислувајте.
- Улога: Поставува граници и тон.
- Точка на оптимизација: Тон (професионален/пријатен), јачина на ограничување (строго/лабаво).
2. Јасни упатства
❌ Лошо: „Одговори на прашањето на корисникот.“
✅ Добро: „Само врз основа на долунаведените [Референтни материјали] одговори. Ако референтните материјали не го содржат одговорот, кажи „Не можам да одговорам на ова прашање“.“
3. Контрола на излезен формат
Ве молиме излезете во следниот JSON формат:
{
"answer": "Вашиот одговор",
"confidence": "висок/среден/низок",
"sources": [1, 3]
}
- Намена: Олеснува анализа, цитирање и дебагирање подолу.
4. Few-shot примери (многу ефикасни)
Пример 1:
Прашање: Колку денови годишен одмор?
Референтни материјали: Правила за годишен одмор: 5 дена за 1 година, 10 дена за 10 години.
Одговор: 5 дена за 1 година, 10 дена за 10 години.
Пример 2:
Прашање: Како се пресметува прекувремената работа?
Референтни материјали: Работен ден прекувремено 1.5 пати, викенд 2 пати.
Одговор: Работен ден 1.5 пати, викенд 2 пати.
Сега одговорете:
Прашање: {Прашање на корисникот}
Референтни материјали: {Преземена содржина}
Одговор:
- Совет: Примерите треба да покриваат различни тежини, најдобро е да вклучите еден пример „не може да одговори“.
5. Принудно цитирање
На крајот на одговорот означете го изворот со [citation:X]. На пример: „Годишниот одмор е 5 дена [citation:1].“
Ако користите повеќе материјали, означете ги одделно.
6. Поставување праг за одбивање одговор
- Строго ограничување: „Ако референтните материјали се целосно неповрзани со прашањето, одговорете „Материјалите не се релевантни“.“
- Меко ограничување: Комбинирајте со резултатот на доверба од пребарувањето; кога е под прагот, автоматски одете во гранката за одбивање одговор.
7. Синџир на мисли (Chain-of-Thought) за повеќескокно резонирање
Прашање: Кој е шефот на Жанг Сан?
Чекори: 1. Прво најдете го одделот на Жанг Сан. 2. Потоа најдете го раководителот на тој оддел. 3. Дајте го конечниот одговор.
Ве молиме размислете по чекори и потоа излезете.
8. Негативни инструкции (Negative Prompting)
Не измислувајте одговори. Не користете нејасни зборови како „можеби“, „веројатно“. Не излегувајте никакви броеви освен оние од референтните материјали.
3. Како да се оцени квалитетот на промпт?
| Индикатор | Значење | Како да се измери |
|---|---|---|
| Верност | Дали одговорот е строго базиран на референтните материјали | Рачно или RAGAS Faithfulness |
| Точност на одбивање | Дали одбива да одговори кога треба | Пресметајте на тест сет без одговори |
| Стапка на следење на формат | Дали излегува според бараниот JSON/цитати | Регуларни изрази |
| Задоволство на корисникот | Дали одговорот е корисен | Онлајн повратни информации / A/B тестирање |
Препорака: Подгответе мал тест сет (20-50 рабни случаи), извршете го секој пат кога го менувате промптот и забележувајте ги промените.
4. Вообичаени замки и насоки за оптимизација
| Проблем | Можна причина | Метод за оптимизација |
|---|---|---|
| Моделот ги игнорира референтните материјали и одговара сам | Инструкциите не се доволно строги | Променете во „Само врз основа на долунаведените материјали“ и покажете одбивање со few-shot |
| Моделот секогаш вели „не знам“ | Прагот за одбивање е превисок | Намалете го прагот или проверете го квалитетот на пребарувањето |
| Излезниот формат е неуреден, не следи JSON | Инструкциите не се јасни | Додајте строги примери за формат или користете function calling |
| Одговорот е предолг/прекраток | Не е наведена должина | „Одговори со не повеќе од 3 реченици“ |
| Повеќескокното резонирање не успева | Капацитетот за резонирање на моделот е недоволен | Побарајте постепено резонирање или заменете со посилен модел |
| Се појавуваат халуцинирани броеви/датуми | Моделот се потпира на сопствено знаење | Нагласете „Не користете никакви броеви од вашата меморија, гледајте само во материјалите“ |
评论
暂无已展示的评论。
发表评论(匿名)