All Episodes

March 20, 2025 42 mins

Думаете, достаточно просто задать вопрос искусственному интеллекту и получить идеальный ответ? На самом деле всё гораздо интереснее!

В новом выпуске подкаста "AWS на русском" мы с Федором Павловым погружаемся в мир prompt engineering и раскрываем секреты эффективного взаимодействия с LLM:

🔹 Почему простой вопрос — это часто ошибочная стратегия 🔹 Как правильно задавать контекст и роли для AI 🔹 Few-shot learning: магия примеров в действии 🔹 Продвинутые техники для улучшения качества ответов

Особенно интересно будет разработчикам, которые хотят повысить свою продуктивность с помощью AI-инструментов, таких как Amazon Q Developer.

💡 Узнаете, почему фраза "думай пошагово" творит чудеса с AI и как избежать типичных ошибок при составлении промптов.

🎧 Слушайте на любимой платформе:

YouTubePodbeanApple PodcastЯндекс.МузыкаSpotifyRSS

💬 А как вы используете AI в своей работе? Делитесь опытом в комментариях!

#AWS #AI #PromptEngineering #LLM #разработка #подкаст

Навигация для Podbean:

• (0:00) Введение • (0:25) Приглашенный гость Федор Павлов • (0:29) Обсуждение General TFI и промпт-инжиниринг • (2:08) Почему простой вопрос — это часто ошибочная стратегия • (2:29) Сравнение промпт-инжиниринга с SQL

• (4:05) Как правильно задавать контекст и роли для AI • (6:51) Зачем нужен prompt engineering • (12:25) Few-shot learning: магия примеров в действии • (18:36) Продвинутые техники для улучшения качества ответов • (38:48) Борьба с галлюцинациями в моделях

Навигация для YouTube:

• 00:00:00 - Начало • 00:00:25 - Приглашенный гость Федор Павлов • 00:00:29 - Обсуждение General TFI и промпт-инжиниринг • 00:02:08 - Почему простой вопрос — это часто ошибочная стратегия • 00:02:29 - Сравнение промпт-инжиниринга с SQL

• 00:04:05 - Как правильно задавать контекст и роли для AI • 00:06:51 - Зачем нужен prompt engineering • 00:12:25 - Few-shot learning: магия примеров в действии • 00:18:36 - Продвинутые техники для улучшения качества ответов • 00:38:48 - Борьба с галлюцинациями в моделях

Mark as Played
Transcript

Episode Transcript

Available transcripts are automatically generated. Complete accuracy is not guaranteed.
(00:25):
И приглашенный гость Федор Павлов.
И мы сегодня будем говорить, а мы будем сегодня говорить опять про General TFI.
Мы уже с Михаилом рассказывали про юзкейсы General TFI, но там мы как-то обошли стороной про промпт-инжиниринг.
А ведь чтобы сделать ваше приложение и чтобы...

(02:08):
И дальше вопрос, как эту информацию извлекать. На самом деле, первое, что приходит в голову, а давайте просто напишем какой-нибудь к ней вопрос и посмотрим на него ответ.
И мне кажется, это ошибочная стратегия использования такой технологии, потому что это похоже на какой-то поиск, а LLM все-таки не поисковик.

(02:29):
Можно ли сравнить промот-адженеринг с...
Вот мы с тобой до подкаста обсуждали,
и ты начал приводить в качестве примера SQL.
В SQL мы говорим сейчас про query language,
не про SQL-сервер как сервер,
а именно как query language.

(03:56):
Ты на самом деле говоришь о том, что ты должен понимать, как работает релационная база данных, и как устроена таблица, и как устроен сам query language.
Здесь похожая история. Ты должен понимать, как работает LLM, на что она реагирует, какими словами, прям в прямом смысле словами, инструкциями можно заставить ее вести так или иначе.

(06:51):
задачи непосредственно зачем мне нужен prompt engineering я поясню здесь наверное немножко
вот я когда пишу код а вот открываю вижу студию у меня есть замечательная amazon
q девелопер или я мне нужно сделать какой-то summary моего звонка я открываю клоуд в
плей-крауде mpd rock а просто пишу сделаем не summary вроде как бы это prompt и

(07:39):
Ну, условно, там я, опять же, пишу код, митинги, кучу документации, еще что-то.
Нужно ли мне погружаться в те бестпрактисы, в которые мы сейчас с тобой дальше пойдем шаг за шагом?
Или же достаточно остановиться на уровне простых, подготовленных, небольших описаний, что нужно сделать?

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

(09:53):
Какие, вот мы говорили несколько раз слово «это».

(11:04):
На один и тот же вопрос можно очень по-разному ответить, в зависимости от того, в каком контексте вы находитесь.
Контекста у нас в данный момент пока нет.
Мы с вами только-только начали писать промт, еще никакого контекста нет.
LLM содержит информацию, ну, будем считать, условно, всего публичного открытого интернета.
И она видела очень много разных контекстов.
Как только вы ей говорите «ты...»

(12:12):
Да, значит, первый наш пассаж, который говорил «будь ясен и директивен», он вообще относится к промту в целом.
А, в целом.
Да, в целом, ко всем его частям. И первая часть — это, конечно, задать роль, кто ты.
Окей, хорошо, дальше.
Что следующее. Если вы должны что-то запомнить из нашего сегодняшнего подкаста, самая мощная технология, которая просто кардинально улучшает...

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

(13:17):
Другой пример, например, извините за тавтологию,
но конфигуратор каких-то продуктов.

(13:47):
И вот вы таких серию нескольких примеров даете.
Как много нужно примеров дать?
На самом деле, зависит от вашего контекстного окна.
Сейчас, в принципе, в современных моделях
контекстное окно достаточно большое,
поэтому можно дать и сотню примеров.
Но даже если вы дадите 3-5,
это уже кардинально улучшит качество ответа,
чем просто без примеров.

(14:08):
Слушай, а если мы создаем какого-то такого более...
Я, на самом деле, не понял этого вопроса, но одну часть из того вопроса я понял. Можно ли синтезировать данные? Да, можно. На самом деле, здесь как раз включается история, что можно использовать разные модели в своей работе. Например, одна моделька синтезирует примеры запросов и ответов.

(18:36):
Ну, вообще, у нас, кстати, есть сервисы по эволюционной модели
Да, у нас же в Amazon Bedrock есть как раз сервис для сравнения моделей
И в том числе он может что-то, какие-то определенные параметры сравнивать автоматически
В том числе, например, такой параметр, как токсичность
Честно, я пока что не пробовал сам в продакшене это

(18:56):
Но звучит очень интересно, и мы с Витей обсуждали это пару эпизодов назад в новостном выпуске

(20:03):
Обычно это тег «examples». Очень хорошо, если эти теги, само название тегов несет в себе какой-то смысл релевантный.
На самом деле у модели нет требования, чтобы раздел «примеры» назывался «примеры».
Это может быть все, что угодно, но здорово, если… да, это значимое слово.

(21:57):
Когда мы пишем код, сколько дебатов, как называть переменные. И если мы называем просто переменную типа а, и потом что-то с ней делаем, ну черт пойми, что это значит. А если мы называем это, не знаю, скор, то мы уже понимаем, что, ну, наверное, это будет уже какой-то скор для чего-то там.
Здесь, наверное, такой же посыл,

(22:18):
что вы можете называть это как хотите,
но если это будет осмысленно,
во-первых, это будет и читать в будущем проще для вас,
так и для модели будет проще понимать.
Да, модельно это реагирует действительно.
А вы, кстати, переменные массивов
во множественном числе ставите.

(24:26):
Прям шаг за шагом, что модель должна сделать со всем тем добром,
которое вы ей в промте написали.
И вы обычно пишете конструкцию подобного рода.
Пожалуйста.
Ну, окей, пожалуйста, можно пустить.
Например, там, посмотри на примеры.
Возьми входной текст, указанный в теге «текст».

(25:45):
Одна из важных инструкций, это тоже хороший лайфхак, в инструкциях попросить модель думать
Вот что это значит? Ты мне так говорил, я до сих пор не могу в какой-то степени это осознать
Для меня модель условно не может думать
Мне понравилось, как ты сказал, что мы активируем правильные нейроны

(26:34):
Но как инструкция думать, как модель себя начинает вести, что происходит?
Точного ответа, конечно, у нас нет и быть не может на этот вопрос, но есть такое подозрение.
Вот в этом огромном многомерном пространстве с нейронами, которые могут быть активированы в разных состояниях,
видимо, между токенами или между какими-то векторами этого пространства есть прямые пути и более быстрые.

(27:00):
И модель тяготеет их использовать.
Да.

(29:14):
предзадана,
и этот контекст опущен.
Например, если мы с друг другом разговариваем,
мы автоматически подозреваем, что мы говорим правду.
Это, конечно, тоже не факт.
На самом деле, обычно подразумевается.
И если мы что-то отвечаем,
то подразумевается, что это логически
обосновано. Под этим есть какая-то

(29:42):
цепочка...

(31:14):
с ролями, как отвечать
и так далее, уже приведет к тому, что ты
как человек, который просто задает
вопрос, как мы называли, типа в домохозяйских
условиях или в своих
бытовых задачах, которые необходимо
решить здесь прямо сейчас, может быть,
для продакшена, но не как продакшен-приложение,

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

(33:25):
e-commerce против nutra, diet and food supplies.
И достаточно большой процент классификации не сходился с ожиданиями,
пока мы не начали смотреть на reasoning, что она в этом думает.
И на самом деле поняли, что e-commerce и nutra — это пересекающееся множество.

(33:51):
Продажа баночек с таблетками
На самом деле это тоже e-commerce
Как и все остальное
Соответственно, мы поняли, что нам нужно переставлять
Вообще менять классификацию
Она получается вложенной
И так далее
Мы это поменяли
Таким образом, проблему убрали
Это, соответственно, трейсинг
Это первая задача
А вторая задача
На самом деле вы в инструкциях попросили модель думать

(34:11):
Степ-бай-степ
Ризонинг какой-то подкладывать под классификацией

(36:47):
Дальше в этой схеме вы, собственно говоря
Можете, например, использовать официальную JSON-ским-аннотацию
А можете сделать
Такую фейковую скиму
Вы пишете прям JSON-чик
В кавычках указываете поля
Двоеточие
А дальше пишете string
В котором такое-такое значение
То есть это не совсем правильная JSON-схема

(37:08):
Она больше похожа на человеческую схему
Но тем не менее
Она ее прекрасно понимает
Это вторая вещь, которую нужно сделать
То есть задать эту схему

(37:38):
Вы даете ей системный
промпт, вы даете ей user-промпт,
а потом вы начинаете за нее
генерировать ответ. Этот промпт
называется assistant, то есть вы как бы
говорите, помогаете
ей начать генерацию с первых
букв или символов.
И вы ей говорите, соответственно,
assistant, pre-fill

(38:48):
С галлюцинациями, на самом деле, можно бороться, во-первых, примерами, они у вас в контексте есть, это здорово, это с какой-то определенной степенью вероятностью помогает.
Но важный момент борьбы с галлюцинациями — это дать модели возможность сгаллюцинировать.
То есть вы такой ставите клапан защитный.

(41:32):
по смыслу похож на агентскую деятельность,
потому что вы подсовываете модели контекст,
который у нее не существовал при обучении.
Просто теперь мы говорим о том,
что это может быть не просто текстовый контекст,
вытащенный из базы знаний,
это может быть на самом деле любая информация,
полученная программным путем.

(42:18):
Федор. Михаил.
Всем спасибо большое. Всем пока-пока.
Пока. Пока-пока.

(42:53):
Продолжение следует...
Advertise With Us

Popular Podcasts

40s and Free Agents: NFL Draft Season
Dateline NBC

Dateline NBC

Current and classic episodes, featuring compelling true-crime mysteries, powerful documentaries and in-depth investigations. Follow now to get the latest episodes of Dateline NBC completely free, or subscribe to Dateline Premium for ad-free listening and exclusive bonus content: DatelinePremium.com

The Bobby Bones Show

The Bobby Bones Show

Listen to 'The Bobby Bones Show' by downloading the daily full replay.

Music, radio and podcasts, all free. Listen online or download the iHeart App.

Connect

© 2025 iHeartMedia, Inc.