Защо 2 промпта за ИИ?
Защо използваме 2 промпта (системен и потребителски) вместо един (само системен)? Така рискуваме да дадем противоречиви инструкции и да объркаме модела.
Здравейте, Милена,
Защо се използват 2 промпта
System Message(системно съобщение) задава правилата на поведение на модела.
- каква роля има AI
- какъв стил да използва
- какво да избягва
- какъв формат да връща
User Message(потребителско съобщение) съдържа конкретната задача за текущото изпълнение.
- текстът за обработка
- въпросът
- данните от предишни стъпки в n8n
- конкретната заявка към модела
Защо не само един промпт
Разделянето помага workflow-ът в n8n да е по-подреден:
- в
System Messageдържите постоянните правила - в
User Messageподавате променливата част от автоматизацията
Как да избегнете противоречия
Най-добрата практика е:
- В
System Messageпишете общите правила. - В
User Messageпишете само конкретната задача. - Не повтаряте едни и същи инструкции на двете места.
Така моделът получава по-ясен контекст, а не повече объркване.
Здравейте, Милена! Благодаря за въпроса!
Двата промпта имат различни приложения спрямо целите си.
Системният промпт е място за поставяне на фиксирани инструкции - какво очакваме като формат на отговора, стил на писане, всякакъв вид инструкции. Може да си го представите като първоначално обучение на работа - разказват Ви за правилата на работното място, какво ще се очаква от Вас да вършите принципно и т.н.
Потребителският промпт представлява конкретна задача - свърши Х.
Защо да не ги сливате заедно? В конкретния пример сте права и няма особено голямо значение. Но, в практиката, особено ако се наложи да боравите с по-големи инструкции и/или по-големи количества данни, разделението има огромно значение, поради различната тежест на двете инструкции (промптове). Представете си, че вместо да подаваме набор от 4-5 статии подадем набор от 500. Ако всичко стои в една и съща инструкция, то тогава рискуваме моделът да не разбере правилно кои инструкции са фиксирани и кои са променливи - съответно да забрави части от или цялата системна инструкция. Ако ги разделим - т.к тежестта на системната инструкция е по-висока, модела я пази, не я компресира, за да влезе в token лимити (освен в крайни случаи) и съответно се придържа към нея по-добре отколкото ако инструкцията е една.