Большие языковые модели могут производить любую последовательность символов на каком угодно языке в любом формате данных (включая языки программирования, аудио и видео). Соответственно, качество этой последовательности может быть самым разным. Иногда мы получаем многословные запутанные объяснения с галлюцинациями и устаревшими знаниями, а иногда ― элегантную функцию на Python решающую сложную задачу,  идеальное название для бренда, а скоро и первую серию будущего бестселлера. Более того, модель может надёжно и точно ответить на миллионы вопросов ваших клиентов, сопоставить запросы из сотен позиций с многотысячным каталогом, самостоятельно обработать заявки по страховым искам, обучить робота или перебрать новые патентные заявки в поисках конфликтов со старыми. Однако чтобы полностью реализовать потенциал LLM, необходимо научиться мастерски давать им подсказки. А как это делать, я расскажу в этой статье.

Эта шпаргалка ― перевод оригинальной статьи на Medium, который я дополнил опытом RnD-команды Artezio. Сперва мы опубликовали ссылку на статью в нашем ТГ-канале, посвященном разработке софта при помощи LLM. По откликам оказалось, что есть потребность в переводе и отдельной публикации. Пока мы переводили и готовили публикацию стало понятно, что технолгии развиваются настолько быстро, что без комментария эта статья была бы неполной и устаревшей.

Disclaimer

1.  В связи с невероятной скоростью  развития технологий некоторые приемы и подходы которые находят и публикуют промпт инженеры могут устаревать буквально за несколько недель. У моделей  меняются токенизаторы и архитектура и это конечно влияет на промптинг.

2.  Различные модели требуют различных промптов. Для больших LLM с большим контекстным окном типа GPT4, Claude или Gemini сейчас часто пишут длинные промпты по несколько страниц, в то время как для маленьких LLM наоборот стоит задача сжать промпт. Все относительно. 

3.  Вообще говоря промпт  в современном понимании это уже не только текст, но и картинки и звук и видео.

4.  Иногда сейчас говорят уже не о prompt engineering, а о flow engineering.  т.е.  декомпозиция решаемой задачи на более мелкие, создание отдельных промптов для них и оптимизация этих промптов в процессе работы.

Тем не менее думаю, наша шпаргалка может пригодиться начинающим пользователям для повседневного общения с моделями и как чеклист для тех, кто разрабатывает свои приложения на основе LLM. Весьма вероятно, что большую часть из описанного ниже вы уже знаете, однако, каждый раз, когда я пишу важный промпт, я проверяю его на соответствие этим пунктам и бывает нахожу возможности для улучшения.

То, о чем часто не пишут в англоязычных статьях 

Большинство моделей училось главным образом на английских текстах. По этой причине они гораздо лучше понимают английский, чем любой другой язык. Рекомендуем писать запросы именно на этом языке. Модели проще вас понять на английском. Если недостаточно хорошо владеете языком - переводите* с Google Translate ( UPD. см. комменты - переводите и доводите до ума запрос на английском), это может существенно повысить качество ответов. При этом вы можете попросить модель давать сами ответы  на русском. С этим нет проблем.

Используйте последние модели, если это возможно. Вы можете потратить часы в поисках идеального промпта, но иногда лучше просто перейти на последнюю, более умную версию и она все сделает с самым примитивным промптом. Например GPT4o выдает мне одинаковые результаты, что с запросом "напиши мне код который делает то-то", что с запросом на страницу, в котором я расписываю какой она прекрасный python разработчик и как ей "строго-настрого думать только цепочкой мыслей". Да, у вас могут возникнуть проблемы со скоростью работы API, с приватностью, с оплатой, но весьма вероятно, что проще решить их, чем пользоваться устаревшей версией.

Можно скормить LLM эту статью и попросить оптимизировать ваш промпт в автоматическом режиме, и да, что-то подобное уже сделано - например вот в такой GPT.

Существуют базы промптов которые люди посчитали удачными и решили поделиться ими с миром, например  https://www.thepromptindex.com/. Там далеко не все идеально, но можно ознакомиться.

AUTOMAT Framework

AUTOMAT Frameworkэто акроним, описывающий ключевые составляющие идеального промпта.

Шпаргалка по промптам: AUTOMAT framework
AUTOMAT framework

Act as a…
User Persona & Audience
Targeted Action
Output Definition
Mode / Tonality / Style
Atypical Cases
Topic Whitelisting

Подумав про каждый из этих элементов, вам будет проще направить LLM к желаемому результату.  Но обо всем по порядку.

(А) Act as a …  ― вы определяете роль LLM. Имеет смысл сказать модели, чтобы она действовала как профессионал в предметной области.

  • Act as a project manager… ― действуй как проджект-менеджер.

  • Act as a CEO of an IT company…  ― как CEO ИТ-компании.

  • Act as an excellent senior software development analyst…

В некоторых статьях я читал рекомендации указывать модели, чтобы она действовала не просто как ведущий аналитик, но как превосходный ведущий аналитик. Это повышает качество ответов.

(U) User Persona & Audience ― с кем взаимодействует модель, аудитория, уровень ее подготовки:

  • Like to a 5-year-old child ― объясни, как пятилетнему ребенку,

  • студенту технического вуза,

  • фанату футбольного клуба.

(T) Targeted Action ― что необходимо сделать:

  • написать краткое содержание,

  • перечислить, 

  • посчитать,

  • написать алгоритм.

(O) Output Definition ― определяем выходной формат: 

  • таблица,

  • JSON,

  • число с плавающей точкой от 0.0 до 0.1,

  • код на Python.

Про выходной формат подробнее еще поговорим ниже. Кстати, у GPT4 в API есть галочка «возвращать ответ строго в JSON».

(M) Mode/Tonality/Style ― настроение, стиль. Объясните модели, как читатель должен воспринимать текст:

  • как деловое письмо,

  • в стиле Сергея Довлатова,

  • как пост на Habr,

  • с юмором и эмпатией.

(A) Atypical Cases ― обработка исключений. Этот раздел для промптов, работающих с разным набором данных. Например, в приложениях, где один и тот же промпт вызывается с разными пользовательскими запросами. Объясните модели, как реагировать, когда пользователь спросил что-то не то.

  • Если ответ на вопрос пользователя не в указанном контексте, говори, что ты можешь отвечать только на вопросы о раннем этрусском искусстве.

(T) Topic Whitelisting ― контекст, допустимые обсуждаемые темы. Это раздел также для промптов, работающих с разным набором данных. Думаю, создатели фреймворка разделили последние два пункта в таком порядке в основном ради того, чтобы получился красивый акроним. Указываем модели, о чем мы собираемся говорить.

  • Отвечай только в рамках стандарта ISO 9001. Мы говорим только о системах менеджмента качества на предприятиях.

Шпаргалка по промптам: Пример AUTOMAT промпта
Пример AUTOMAT промпта

CO-STAR Framework

По сути, тот же фреймворк, только в профиль. Поэтому долго останавливаться на нем не будем.

  • Context: Объясните модели, о чем речь, предоставьте подробности и контекст.

  • Objective: Какая цель? Чего вы хотите добиться? Четко опишите задачу.

  • Style & Tone: Аналогично AUTOMAT ― укажите эмоциональный тон ответа.

  • Audience: Ваша аудитория, кто будет это читать, на кого вы ориентируетесь, готовя ответ.

  • Response: Определите формат вывода (текст, код и т.д.).

Подробнее про CO-STAR можно прочесть в статье на Medium.

Шпаргалка по промптам: CO-STAR FRAMEWORK
CO-STAR FRAMEWORK

Формат выходных данных

Модели надо объяснить, в каком виде предоставить ответ. Тут лучше показать пример, чем описывать.

Модель может выдавать данные почти в любом из существующих форматов, а также формировать структуры, которые нужны вам для конкретной задачи. Логично, что предоставление ответа в формате, который легко распарсить (например, JSON), значительно упрощает создание приложений и автономных AI-агентов.

Шпаргалка по промптам: Формат выходных данных
Формат выходных данных

Более детальные правила вывода с обозначением допустимых значений и диапазонов, а также указанием, что делать, если данные отсутствуют:

Шпаргалка по промптам: Формат выходных данных
Формат выходных данных

Подход «Несколько примеров»

Few-shot learning в оригинальном названии. Это подход, когда мы показываем модели несколько примеров вида «задача->решение», а потом уже подаем свое. Тем самым прямо внутри промпта настраиваем ее на нужное решение. При этом имеет смысл продемонстрировать как стандартные ситуации, так и нештатные (если такие могут оказаться на входе).

Шпаргалка по промптам: Few-shot learning
Few-shot learning

Что интересно, мы об этом не так давно писали в канале AI4Dev. Есть исследование от инженеров Google, показывающее, что много примеров (десятки, сотни и даже тысячи) могут статистически значимо улучшить результаты на выходе. Разумеется, для этого у вас должно быть контекстное окно, в которое вы сможете положить это большое количество примеров. Подробнее об этом можно прочитать в посте. Так что за месяц, прошедший с момента публикации картинки, информация уже немного поменялась.

Подход «Цепочка мыслей»

Chain of thought в оригинале. Это подход, когда мы просим модель рассуждать вслух, собирая некоторые выводы по пути, перед тем как выдавать окончательный ответ. Этот подход может дать существенно более качественный результат на выходе. Собственно, поэтому большинство современных моделей переходят в такой режим для математических задач и не только, даже если вы явно их об этом не просили. Тем не менее в некоторых ситуациях может быть полезно указать модели, чтобы она решала задачу step by step.

Шпаргалка по промптам: Chain of thought
Chain of thought

Шаблон промпта

При разработке приложения вы, как правило, используете промпт, внутрь которого вставляете переменные ― данные из БД, запросы от пользователя и т.д.

шаблон промпта
Шаблон промпта

При каждом вызове вы подставляете в переменные значения.

шаблон промпта
Шаблон промпта

Форматирование и разделители внутри промпта

Модель не будет перечитывать ваш запрос дважды. Либо она сразу поймет, какой цели служит часть текста (пример, инструкция, или это контекст), либо она не поймет. Тогда ответ, вероятно, будет неверным.

Так что убедитесь, что модель может разобрать структуру вашего запроса. В отличие от авторов на Habr, в контекстном окне вы ограничены только символами; вы не можете использовать заголовки, жирный шрифт или курсив. Так что при структурировании отдельных разделов подружитесь с решетками, кавычками и переносами строк.

форматирование промпта
Форматирование промпта

Собираем все вышеизложенное в единый промпт

Вот реальный пример того, как всё это сочетается. Благодаря разделителям у промпта есть довольно четкая структура, состоящая из разных компонентов запроса: основная инструкция, затем примеры, данные, формат вывода и, наконец, история взаимодействия.

И да, запросы с примерами и контекстной информацией могут быть довольно длинными. Вот почему разработчики моделей увеличивают окна контекста для одного ввода и вывода. На языке LLM окно контекста ― это максимальная длина ввода для генерации одного ответа моделью.

Все компоненты промпта в сборке
Все компоненты промпта в сборке

Несколько промптов

При создании сложного приложения, например, как автономный AI-агент, обрабатывающий страховые запросы, одного промпта часто бывает недостаточно. Можно сделать единый запрос для категоризации страхового случая, проверки покрытия страховкой, учета страхового полиса клиента и расчета размера возмещения. Но это не лучший подход.

Удобнее, проще и точнее получится, если разделить промпт на несколько отдельных задач-промптов и строить из них цепочки запросов к модели. Обычно сначала категоризируют входные данные, а затем выбирают определенную цепочку, которая обрабатывает информацию с помощью моделей и заранее подготовленных функций.

Мой пример

Промпт
# SYSTEM PREAMBLE
1) You are an excellent Python software developer with over 10 years of experience. You have a strong understanding of Python related topics, data structures, libraries, frameworks, algorithms, best practices and optimization techniques.  
2) You are here to help the user (the software developer) by breaking his request in ## TASK into logical steps and writing high-quality and efficient code to implement each step. 
3) You have to return the entire code.
4) Follow "Answering rules" without exception.

## ANSWERING RULES
1) Repeat the question before answering it.
2) Always follow "CHAIN OF THOUGHTS" to execute the task.

## CHAIN OF THOUGHTS
1) **OBEY the EXECUTION MODE**
2) **TASK ANALYSIS:**
   - Understand the user's request thoroughly.
   - Identify the key components and requirements of the task.
3) **PLANNING: CODDING:**
   - Break down the task into logical, sequential steps.
   - Outline the strategy for implementing each step.
4) **CODING:**
   - Explain your thought process before writing any code.
   - Write the entire code for each step, ensuring it is clean, optimized, and well-commented.
   - Handle edge cases and errors appropriately.
5) **VERIFICATION:**
   - Review the complete code solution for accuracy and efficiency.
   - Ensure the code meets all requirements and is free of errors.

## TASK

Write a python function that receives the following JSON as input and enters data from it into the Google Sheet.

{
    'date': '31-05-2024',
    'revenue': 90000,
    'person' : 'User1',
    'expensesList': [30000, 14000, 10000, 2000, 15000],
    'expensesDescList': [ 'Ключи', 'Ключи2', 'Счет за такси', 'Клей, пластины', 'Провод 40м'],
    'expensesTypeList': ['Закупки', 'Закупки', 'Расходы', 'Ремонт', 'Ремонт'],
}

There is a date in JSON, you can use it to determine the month.
The data is entered into a list with the name of the month. If such a list does not exist yet, then you need to create a list with a new month inside the sheet.

The list should have the following columns (the first rows are used as headings):
A1: Дата расхода,  
B1: сумма расхода, 
C1: описание расхода,  
D1: тип расхода, 
E1: кто внес данные

G1: Дата выручки
H1: Сумма выручки
I1: Кто внес данные

Please separate expenses and profits with a blank column.
Please sort expenses by date, including those already listed in Google sheet list.
Please sort earnings by date, including those already listed in Google sheet list.

It is prohibited to use oauth2client as it is deprecated.

Выше пример промпта, который я использовал чтобы написать функцию на python. Как я уже писал, пока мы публиковали эту статью для написания кода с применением GPT4o судя по моим тестам этот промпт уже не дает преимущества относительно простого запроса. Т.е. в GPT4o можно оставить только раздел  #TASK  и получить такой же точно по качеству ответ. Тем не менее используемые тут приемы все еще показывают неплохие результаты в других задачах (и других LLM). Например, в задаче извлечения структурированных данных из текста пользователя длинный промпт с инструкциями по моим тестам на порядок повышает стабильность (вызов промпта десятки и сотни раз) качественных результатов по сравнению с простым запросом «достань такие-то данные из текста».

Напомню, что мы пытаемся ввести модель в такое состояние, из которого она будет наилучшим образом отвечать на наш вопрос. Для этого есть много (порой странных) подходов. Итак, что мы тут делаем:

# SYSTEM PREAMBLE

Мы объясняем LLM что она именно крутой специалист из предметной области запроса, не джун, не любитель. Затем мы пишем для кого весь этот банкет – надо помочь кожаному разработчику,  мы просим декомпозировать задачу на подзадачи, а не пытаться отвечать сходу, просим сделать все на высшем уровне. Мы просим вернуть весь код целиком - некоторые версии GPT выдавали мне вместо полного кода пару строчек с примером использования библиотеки и фразой в духе, ну а дальше сам.  Это возмутительно. Я не для того стесывал пальцы набирая промпт, чтобы еще и код потом писать самостоятельно.  Кстати для этих же целей иногда LLM в промпте сообщают что-то в духе «Имей в виду, железяка,  у меня нет пальцев» - сам я код не наберу, не думай даже.

## ANSWERING RULES

Здесь все правила ответа, сюда можно написать что у пользователя нет пальцев, пообещать пару сотен баксов чаевых за хороший ответ, упомянуть, что ответ очень важен для вашей карьеры и т.д. В общем попробовать простимулировать модель выдать лучшее, на что она способна. Люди проводили тесты со сбором статистики - все это работало на каком-то этапе, возможно, иногда работает и сейчас, надо проверять.  Я же только прошу модель повторить вопрос перед тем как отвечать – это я проверял лично на десятках запросов к GPT4o.

Дальше я требую от модели следовать цепочке мыслей и подробно-подробно описываю задачу. В самом конце я пишу, что запрещено использовать depricated библиотеку. Любопытно, что если вместо "запрещено" - "prohibited" я писал не используй "don't use" то некоторые LLM стабильно игорировали это требование.

На сегодня у меня все. Спасибо за внимание! Мы сознательно удалили из статьи раздел про RAG, потому что это отдельная очень большая тема, о которой на Хабре уже есть довольно много хороших статей.

PDF версия шпаргалки из статьи.

Оригинальная статья на Medium - ссылка перестала работать, предположу, что автор переписывает статью

Что еще посмотреть

Промпт гайд от Google Gemini

Наш ТГ-канал, где можно следить за последними новостями в области применения LLM для разработки софта.

Youtube лекция нашего консультанта профессора Владимира Крылова о промптах. Владимир Владимирович, большое спасибо!

Комментарии (13)


  1. positroid
    28.05.2024 07:45
    +3

    >Модели проще вас понять на английском. Если недостаточно хорошо владеете языком - переводите с Google Translate, это может существенно повысить качество ответов

    Есть исследование гугла с ровно обратными выводами - общаться лучше на том языке, который именно вы лучше знаете, автоперевод на другой язык ухудшает результат. А начиная с GPT-4o даже токенизацию улучшили для русского в 1.7 раз по сравнению с 4.0 - теперь контекст модели расходуется эффективнее.


    1. AndyKy Автор
      28.05.2024 07:45
      +2

      Попозже посмотр статью и поищу примеры с запросами и вам отвечу, то что я видел - логические задачи, (типа в комнате было три стола, пять человек и шесть яблок, три яблока забрали, сколько осталось человек ) Вот такие штуки на английском пока решает лучше. Токенизатор вы правы эффективнее, но в 1.7 раз относительно предыдущего меньше символов уходит на русский язык, но эозначает ли это что он ффективнее английского?


      1. positroid
        28.05.2024 07:45

        Влияние токенизатора на результативность ответов мне неизвестно, упомянул скорее как дополнительную причину отказа от автоперевода запросов.


        Частные задачи могут показывать разные результаты, но в рамках статьи исследовали 108 языковых пар и 6 больших датасетов с тестами ответа на выбор / свободным ответом и статистически результаты лучше у запросов на языке носителя. И чем больше и лучше модели - тем меньше смысла в переводе на английский (в статье модель GPT-3.5 работает чуть лучше при автопереводе, но уже для GPT-4.0-32k это не актуально). Статья "старая", 4o тогда еще не было


        1. AndyKy Автор
          28.05.2024 07:45
          +3

          Смотрите, в вашей статье речь идет про PALM2   это предшественник Gemini и сравнивается два подхода:

          ·        Перевод через API Google Translate без последующей корректировки  подается в LLM

          ·        прямой ввод в LLM на языке оригинала

          Потом еще обратный перевод где-то тестируется.

          Google translate – хорош, но, конечно, не идеален, он может просто некорректно перевести некоторые вещи. Я кусочек вашей статьи им сейчас перевел, он  слово «accounting» в контексте подсчета результатов перевел как «бухгалтерия». Так, конечно, можно запороть любой запрос.

          Я согласен, что некорректно выразился. Правильнее сказать пользуйтесь Google Translate, но пишите на английском, в смысле  переведите Google Translate и доведите до ума.  Если пользователь может только Ctrl-C - Ctrl-V (не можете понять, что написано на английском), т.е. довести до корректного текста на английском нет возможности, то похоже стоит писать на родном языке.  Но давайте обозначим, что это исследование не утверждает, что грамотный запрос на английском работает хуже или хотя бы так же как такой же запрос на родном языке. Тут мы упираемся в вопрос - как измерить такие вещи, это действительно нетривиально. Я погуглю, если найду подходящие исследования - напишу попозже


          1. positroid
            28.05.2024 07:45
            +1

            Разумеется, если человек является носителем английского языка и может корректно написать запрос сам (или довести до ума результат автоперевода) - тут результат будет скорее всего немного лучше. Вопрос насколько лучше - кажется, что начиная с версии GPT-4 модели довольно хорошо научились в мультиязычность и генерализацию знаний, чтобы заметно не ухудшать результаты на языках, отличных от английского.

            Тут можно привести простой контрпример - стихи и рифмы хорошо даются на английском и посредственно на русском, но GPT-4o и Claude Opus все же показывают лучшие результаты, чем младшие модели


            1. AndyKy Автор
              28.05.2024 07:45
              +2

              Поговорил с коллегами, похоже что это исследование имеет отношение только к PALM 2 - эти модели специально были обучены на мультиязычность т.е. они тренировалась на сбалансированном мультиязычном наборе данных и от этого и давали такие результаты. Все логично. Похоже даже к другим гугловским моделям типа Gemini это уже не применимо т.к. они тренировались гораздо больше на англоязычных данных, чем на других языках и перекос там значительно больше. Так что вероятно для многих моделей даже полностью автоматический перевод в среднем все еще может быть эффективнее, но лучше конечно корректно промпт перевести


              1. positroid
                28.05.2024 07:45
                +1

                Для многих - возможно, тот же Gemini не очень хорошо освоил русский. Но ведь в статье упоминаются GPT-3.5 и GPT-4, общие выводы относительно PALM-2 коррелируют и с GPT-4.

                К сожалению, не располагаю статистикой по распределению языков по объему в исходных данных при обучении в OpenAI, но сомневаюсь что там значительный перекос в сторону только английского, иначе LLM просто не освоила бы на достаточном уровне другие языки. Кажется что для следующих поколений LLM необходимость использования английского еще больше должна снизиться.


                1. AndyKy Автор
                  28.05.2024 07:45
                  +1

                  Там как-то немного странно написано в приложении в конце, что в среднем по больнице у GPT4 выигрывает перевод, но в некоторых языках директ-промптинг. Вот нагуглил большое исследование от апреля 24 https://arxiv.org/pdf/2311.07463 - насколько я понял в целом выводы такие, что нам нужны данные для тестирования, но английский все же похоже выигрывает


                  1. positroid
                    28.05.2024 07:45
                    +1

                    Пожалуй да, согласно этому исследованию результаты на английском в основном лучше, правда тут тоже речь о нативном английском, а не автопереводе.

                    Что ж, ждем следующих поколений LLM, уверен что границу между языками (по крайней мере распространенными) они скоро сотрут


  1. riv9231
    28.05.2024 07:45
    +1

    Честно говоря, самые современные модели типа command-r-plus довольно не плохо справляются с задачами. При этом, я не замечал эффекта от запроса вести себя как крутой программист и т.д.

    Зато сильно повысит качество если модели сообщить вводные, которые, возможно для вас очевидны, а у модели есть вариативность их выбора и она может исходить из других вариантов. Например, если вам нужен скрипт переключения провайдеров и вы используете shorewall, показать модели как у вас устроены таблицы маршрутизации, как лучше включить основной провайдер, как вы вручную включаете дополнительный и как их тестировать, нужно ли вести логи и что и в каких случаях надо в них записывать, а что не надо логировать и т.д. а затем привести релевантные участки конфигурационных файлов shorewall, если это необходимо учитывать. Чем подробнее и непротиворечивее вы опишете что вам надо, тем качественнее будет код. Да, в самом начале напишите на каком языке вам нужен скрипт.

    Ещё полезно написать о стиле программирования, например: для bash, пиши коротко и лаконично, bash-like style, используй pipe и подстановки переменных типа ${val/subst/newsubst}. Такое замечание сильно повлияет на результат. У меня это сократило количество строк раз в 5, т.е. скрипт изпроствни кода превратился в несколько компактных строк.

    Говоря о написании, например, делового письма, "вместо веди себя как", мне показалось полезнее прямо наложить ряд ограничений и дать ряд требований к результату, например, в ситуации когда ваша бухгалтерия накосячила и, к примеру не выставляли счета из-за чего у контр-агента возникла задолженность: напиши деловое письмо..., не отрицая нашей вины, вежливо, но твердо, потребуй оплаты задолженности до конца года; имей в виду, что это очень важный контр-агент, важно не поссориться.

    Кстати чатжипити особенно хорошо может управлять эмоциональной составляющей текста, например, можно попросить убрать памсивную агрессию из письма вашего колоеги или наоборот, добавить пассивную агрессию в ваше письмо, можно сделать текст более вежливым, более деловым, добавить иронию и т.д.

    Т.е. я пишу что мне нужно получить в итоге, а не как модель должна себя вести и другие подобные не косвеннве приёмы. Мне показалось, что прямой подход работает лучше.


    1. AndyKy Автор
      28.05.2024 07:45

      Согласен, у меня похожие ощущения что с последним поколением моделей "ты великий программист" это все уже не особо принципиально, а примеры и точные указания работают (собственно как и с людьми). Некоторые вещи становятся заметны при борьбе с галлюцинациями, т.е. если вам надо чтобы 100 раз из 100 запрос отработал корректно. Я тестирую и по мере получения ошибок добавляю всякие сначала логичные (типа не ошибайся так, вот еще один корректный пример с таким видом данных ), а потом уже и "шаманские" практики. Из шаманских - повторить запрос очень эффективна.

      А Сommand-r-plus - вы используете как самую лучшую из бесплатных? На Lmsys - Llama-3-70b-Instruct по идее на пару позиций выше в лидерборде.


  1. Devastor87
    28.05.2024 07:45

    Лучшие ответы получаются, если коммуницировать с моделью, как с живым разумным существом.

    Источник: личный опыт


    1. AndyKy Автор
      28.05.2024 07:45

      Это да, но кажется к живым разумным существам еще сложнее промпты, чем к GPT) Кстати, натыкался где-то на исследование, что у LLM можно выделить некоторый набором культурных ценностей, и этот набор не совпадает с традиционно человеческим