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

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

24/7 News: The Latest

24/7 News: The Latest

The latest news in 4 minutes updated every hour, every day.

Therapy Gecko

Therapy Gecko

An unlicensed lizard psychologist travels the universe talking to strangers about absolutely nothing. TO CALL THE GECKO: follow me on https://www.twitch.tv/lyleforever to get a notification for when I am taking calls. I am usually live Mondays, Wednesdays, and Fridays but lately a lot of other times too. I am a gecko.

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

Connect

© 2025 iHeartMedia, Inc.