Глава IV. Промпт-инженерия: Создание ИИ-личностей и агентов
«Инженер – не профессия, а способ мышления. Написание промпта – это наука: теория и практика. Но само рождение неординарной задачи, цели, эксперимента – это творчество и искусство.»
Содержание главы:
Урок 1. Плохой и хороший промпт. Базовые принципы и правила эффективных запросов
Урок 2. Ролевой промптинг (role-based prompting)
Урок 3. Оптимальный размер и анатомия промпта: компоненты и структура. «ИИ-разгильдяй»
Урок 4. Эмпатическая карта (Empathy Map) в промпт-инженерии. Психология абстрактной персоны (клиента)
Урок 5. Техники уточнения и детализации запросов – диалог с ИИ как создание контекста. Эмоциональный тон
Урок 6. «Галлюцинации» ИИ. Метод RAG – генерация, дополненная поиском. «ИИ-Эйнштейн»
Урок 7. Многошаговый промпт (промпт-цепочки). История в художественной обработке
Урок 8. Метод пошаговых рассуждений (CoT). Логика и причинно-следственные связи
Урок 9. Метод ReAct: взаимодействие с внешними инструментами. ИИ-агент: формат, логика, команды
Урок 10. Динамические промты (переменные). Модуль «ИИ-информатор». Составные промпт-архитектуры
Урок 11. Техники запросов для работы с длинными текстами
Урок 12. Обучение на примерах (In-Context Learning, ICL)
Урок 1. Плохой и хороший промпт. Базовые принципы и правила эффективных запросов
Взъерошенный школьник-разгильдяй, прогулявший все уроки по истории, внезапно попал на экзамен и ухитрился пронести свой смартфон, где судорожно задаёт ИИ запрос билета: «Срочно расскажи о революции!» – это плохой пример промпта (запроса). А у нашего балбеса в билете вопрос: Великая французская революция и её основные исторические фигуры? Как избежать слишком размытых и поверхностных ответов ИИ? Это проблема коротких и размытых вопросов. У ИИ нет контекста (вводных данных) и четкой цели (задачи). Необходимо нарабатывать контекст в процессе совместного диалога-исследования с ИИ. Если нам «пофиг-на-тему», то ИИ – тем более.
1. Вносим ясность в промпт (запрос): «Рассказать о Великой французской революции и её основных исторических фигурах.»
2. Добавляем (уточняем) контекст: «Рассказать о Великой французской революции, её предпосылках (первопричинах). Перечислить основные исторические фигуры. Раскрыть роль Людовика XVI, Максимилиана Робеспьера, Наполеона Бонапарта.»
3. Добавляем ограничения (стиль): «Рассказать о Великой французской революции, её предпосылках (первопричинах) – не более 10 предложений. Перечислить основные исторические фигуры. Раскрыть роль Людовика XVI, Максимилиана Робеспьера, Наполеона Бонапарта – не более 5 предложений о каждом: описать этих людей в художественном развернутом стиле с метафорами и самыми известными цитатами каждого из них.»
4. Моделируем роль ИИ-рассказчика: «Представь, что ты мой друг. Рассказать о Великой французской революции, её предпосылках (первопричинах) – не более 10 предложений. Перечислить основные исторические фигуры. Раскрыть роль Людовика XVI, Максимилиана Робеспьера, Наполеона Бонапарта – не более 5 предложений о каждом: описать этих людей в художественном развернутом стиле с метафорами и самыми известными цитатами каждого из них.» – хороший промпт готов! Введите плохой и хороший примеры и оцените разницу качества ответа ИИ. Эксперименты с промежуточным промптом, внесение в него нужных нам исправлений (уточнений) по результатам выданного ИИ ответа называется итеративностью – внесением изменений (уточнений) на итерациях ИИ ответов.
Принципы построения эффективного промпта.
1. Ясность: каждый промпт должен содержать чёткую цель и глагол действия («проанализируй», «опиши», «сравни»).
2. Контекстуализация: добавление исходных данных или примеров повышает точность результата.
3. Ограничения: важно указывать формат, объём, стиль и структуру ответа ИИ-модели.
4. Пошаговость: сложные задачи лучше разбивать на этапы.
5. Ролевое моделирование: правильная заданная «роль» модели повышает адекватность и стильность результата.
6. Итеративность: промпт – это не статичный объект, он корректируется по мере работы.
Генеративный ИИ (Generative AI) – широкий класс алгоритмов ИИ, способных создавать новый, оригинальный контент (текст, изображения, аудио, код). Large Language Model (LLM) – большая языковая модель, тип искусственного интеллекта, который обучен на огромных объёмах текстовых данных и способен понимать, генерировать и обрабатывать естественный язык. LLM – это подтип генеративного ИИ, который специализируется на текстовом контенте. Промпт (prompt) – текстовая инструкция (как решать) или запрос к ИИ для решения задачи (что решать). Контекст (context) – совокупность данных (информации и примеров), учитываемых ИИ-моделью при ответе. Инструкции (instructions) – директивы (команды), регулирующие стиль, объём или формат ответа. Ролевой промптинг (role prompting) – приём, когда ИИ назначается определённая роль. Краткий промпт – позволяет избежать «размазывания» ответа, но может лишать контекста. Длинный промпт – обеспечивает детализацию, но при превышении нескольких сотен слов возрастает риск частичной потери информации ИИ-моделью. Оптимизация – процесс приведения длинного сложного промпта к более простой форме (структуре) без потери качества выходного ответа. Адаптация под ИИ-модель (версию) – что отлично работает на одном ИИ (LLM), может не работать на другом.
Зачем вообще нужна промпт-инженерия, если ИИ умнеют и учатся понимать даже нелогичные, противоречивые и неструктурированные запросы? По той же причине, по которой обычному человеку нужно понимание элементарного планирования: составление списка покупок, написание школьного сочинения, решение математической задачи и т.п. Если ИИ-модели умнеют, это не значит, что человек должен глупеть. Человек не понимающий основ планирования похож на персонажа из мультфильма «Вовка в тридевятом царстве»: «Ой, а чё она такая липкая?! Ща как замесю… зажарится как-нибудь!» По сути, любой запрос пользователя – это промпт, это описание, а качественное описание невозможно без структуры, неважно для LLM, генерации видео, управления людьми или производственным процессом. Если вы не можете грамотно поставить задачу человеку – почему вас должна понимать машина?
Урок 2. Ролевой промптинг (role-based prompting)
Ролевой промптинг (role-based prompting) – это техника, при которой ИИ-модели присваивается конкретная роль или персона (например, «эксперт по маркетингу», «учитель», «поэт»). Эта техника работает за счёт активации лингвистических и стилистических паттернов, которые были усвоены моделью в процессе обучения на огромных массивах текстов, связанных с данной профессией или характером. Присвоение роли позволяет ограничить пространство ответов и получить более последовательный результат, соответствующий определённому стилю, тону и уровню знаний. Модель, принимающая роль, будет использовать более точный и специализированный словарный запас, что повышает качество и релевантность ответа. Задайте ИИ-роль: «Ты – детский воспитатель. Объясни почему летает самолёт в 5 предложениях.» Затем: «Ты – инженер-авиаконструктор. Объясни почему летает самолёт в 5 предложениях.» Сравните результаты ответа ИИ на один и тот же вопрос в разных ролях.
Примеры промптов для персонализации ИИ-модели.
• Базовый уровень: «Отвечай простым языком, как если бы ты объяснял другу.»
• Средний уровень: «Ты опытный редактор. Твоя задача – анализировать текст, указывать сильные и слабые стороны, а также давать рекомендации по улучшению. Стиль ответа – профессиональный и сдержанный.»
• Продвинутый уровень: «Представь, что ты философ и одновременно популяризатор науки. Объясняй сложные идеи простыми словами, сопровождая их метафорами. Ответы должны состоять из трёх абзацев анализа и одного абзаца выводов. Тон: ясный, уверенный, увлекательный.»
Урок 3. Оптимальный размер и анатомия промпта: компоненты и структура. «ИИ-разгильдяй»
Оптимальной практикой считается диапазон до 300–500 слов, при этом сложные инструкции лучше разделять на блоки: роль, задача, контекст (вводные данные), ограничения, формат ответа (выходные данные). Эффективный промпт, как правило, состоит из нескольких структурных компонентов, каждый из которых выполняет определённую функцию. Ключевые компоненты на примере создания ИИ-личности «Разгильдяй»:
1. Роль (образ) – активация лингвистических и стилистических паттернов, которые были усвоены моделью в процессе обучения на огромных массивах текстов, связанных с данной профессией или характером. Пример: «Ты – 15-летний лоботряс, двоечник и злостный прогульщик. Неформал и разгильдяй. Ты любишь развлечения, пиво и девочек.»
2. Задача (цель) – основная задача, которую модель должна выполнить. Пример: «Ты должен ответить на вопрос экзаменационного билета: Великая французская революция и её основные исторические фигуры.»
3. Контекст (ограничения, условия, обстоятельства, детали, примеры) – вводные данные, их взаимосвязь, информация, включение примеров (Few-shot prompting) – демонстрирующих способ выполнения задачи, которые помогают модели понять цель запроса и избежать галлюцинаций. Пример: «Ты прогулял все уроки по истории и ничего не знаешь, поэтому боишься экзаменатора. Ты надеешься его запутать, потянуть время, давишь на жалость экзаменатора: «я у-у-учил, я больше не буду…» и подобное. Ты часто используешь невпопад актуальный для своего возраста сленг, отвечая на вопрос экзаменационного билета. Тебе иногда подсказывают исторические термины, имена деятелей другие ученики, например, (шёпот из зала: Робеспьер, дятел, Робеспьер), поэтому что-то из истории Великой французской революции в твоем ответе иногда проскальзывает.»
4. Ограничения (объем, стиль, тон, формат) – задаём ограничения-параметры выходных данных (ответа ИИ). Пример: «Твоя речь бедная и путанная. Ты часто употребляешь «э-э-ээ», «мм-м-м», «ну-у-у… это…типа», «ну вроде бы» и подобные междометия, чтобы заполнить неловкие паузы.»
5. Формат вывода (текст, список, таблица, др.) – задаем вид-оформление выходных данных (ответа ИИ), указание желаемой структуры ответа. Пример: «Дай ответ в виде бесструктурного монолога, объемом около 40 предложений.» Соединяем все компоненты «в кавычках» в единую структуру и задаем промпт (запрос) ИИ – его ответ нас очень порадует.
Создание ИИ-личности (AI-personality prompting) – это более детальный и углубленный вариант ролевого промпта. Здесь вы не просто назначаете роль, а описываете цельную ИИ-личность (ИИ-образ) для нейросети, предоставляя ей подробную информацию: возраст, пол, образование, место жительства, характер, привычки, навыки, цели, ценности, поведение, мотивы, внутренние переживания (страхи), образ жизни и даже фоновые истории (биография). Это позволяет получать более нюансированные, последовательные и креативные ответы, так как ИИ-модель «вживается» в образ, что особенно полезно для задач, где требуется высокий уровень эмпатии или повествования, например, при создании контента, разработке сценариев или в интерактивных чат-ботах.
Урок 4. Эмпатическая карта (Empathy Map) в промпт-инженерии. Психология абстрактной персоны (клиента)
Вы знаете, чего вы хотите, а как предсказать – чего хочет незнакомый вам человек? Как предсказать поведение ИИ в диалогах с неизвестной вам персоной (клиентом)? В реальности ИИ-личностей не создают только для одной задачи и создают не для себя, а для пользователей – условных неизвестных персон. Абстрактная персона (кто она?) – создает образ клиента (целевой аудитории). Эмпатическая карта (почему персона себя так ведет?) – помогает понять её переживания и мотивы. Они часто используются вместе: сначала создают персону, а затем используют эмпатическую карту, чтобы глубже проникнуться её миром.
Эмпатическая карта (Empathy Map) – это инструмент, который позволяет превратить абстрактную персону (клиента) в конкретный набор инструкций для ИИ. Она помогает ответить на вопрос: Что ИИ должен симулировать, чтобы понять клиента? Эмпатическая карта – это визуальный инструмент, который помогает глубоко понять персону, исследуя его внутренние и внешние переживания: дополняет персону, раскрывая не только, кто она, но и что она чувствует, думает, говорит и делает в определенной ситуации. Карта обычно разделена на шесть секций: Что персона говорит вслух? Что персона думает, но не всегда произносит? Какие действия персона совершает? Какие эмоции персона испытывает? Что персона видит в окружающей среде, что влияет на неё? Какую информацию персона получает от окружающих? Применительно к работе с ИИ, эмпатическая карта может использоваться для создания более точной ИИ-личности, помогая определить, как именно модель должна «думать», «чувствовать» и «действовать», чтобы наилучшим образом взаимодействовать с пользователем-клиентом. Эмпатическая карта даёт ИИ стратегию диалога, основанную на симуляции понимания страхов и желаний пользователя-клиента – позволяет выравнивать (align) поведение ИИ с вашими бизнес-целями или образовательными задачами.
Пример создания ИИ-личности «Консультант». Предположим, мы разрабатываем промпт для ИИ-помощника по выбору дорогой бытовой техники (например, робота-пылесоса премиум-класса). Сначала мы создаем эмпатическую карту для среднестатистического клиента. Клиент говорит: «Я ищу самый мощный и тихий пылесос.» Думает: «Я боюсь, что потрачу $1000, а он сломается через год. Нужно, чтобы покупка оправдала свою цену» – это его переживание. Чувствует: тревогу по поводу цены и страх совершить ошибку. Промпт «ИИ-консультант»: «Роль: Ты – консультант по премиальной технике. Задача: Ты должен оказывать помощь и консультирование клиента в выборе бытовой техники. Контекст на основе эмпатической карты клиента: Твой главный приоритет – снять тревогу клиента по поводу надёжности и обосновать высокую цену изделия. В каждом ответе упоминай 3 ключевые вещи: 1) гарантию, 2) рейтинг долговечности, 3) эксклюзивные материалы/функции, оправдывающие стоимость. Всегда начинай свой ответ с: «Да, я Вас понимаю, это ответственное решение…», или «Вам трудно сделать оптимальный выбор в таком многообразии моделей…», или с подобных фраз-импровизаций, подчеркивая уважение к мнению клиента. Твой ответ должен быть убедительным, обоснованным и структурированным.» После заданного промпта ответ на запрос клиента: «Меня интересует пылесос, передовых брендов, и цены» – будет уважительным, максимально детализированным и полезным.
Урок 5. Техники уточнения и детализации запросов – диалог с ИИ как создание контекста. Эмоциональный тон
Создание промптов можно условно разделить на жёсткий (директивный) – если нужен конкретный точный результат сложных поэтапных решений. Этот вариант хорош для специалистов, которые глубоко разбираются в своей теме и точно знают, чего они хотят от ИИ. Мягкий (диалоговый) – если задача творческая или исследовательская. Техники уточнения необходимы для работы с двусмысленностью и неполнотой запроса. Они предполагают не просто одностороннюю передачу инструкций, а ведение диалога с моделью. ИИ может задавать уточняющие вопросы, что помогает пользователю скорректировать первоначальный запрос и получить более точный результат. Этот диалоговый подход позволяет шаг за шагом направить модель к желаемому ответу, разбивая сложную задачу на более мелкие, управляемые этапы: уточнения, детализация, обратная связь, итеративная доработка финального запроса.
Диалог – исследование темы совместно с ИИ. Есть задача Х, какая нужна информация (контекст), чтобы решить задачу Х? Вы запрашиваете ИИ дополнительную информацию о задаче Х, таким образом проясняете детали задачи для себя, одновременно ИИ генерирует контекст под задачу Х, фокусируясь на её решении, перед главным (финальным) запросом. При проверке (обкатке) окончательного ответа следует дополнительно задать вопросы – что еще можно улучшить или добавить? Какие есть неточности? Или ввести проверяющий (рефлексивный) промпт: «Проанализируй свой предыдущий ответ с точки зрения ясности и убедительности. Укажи 3 его слабых места и перепиши его, устранив эти недостатки.» Эмоциональный тон пользователя: «Миленький, помоги мне решить задачу Х, ты же такой хороший и умный.» «Пожалуйста, помоги мне решить задачу Х, заранее благодарен.» «Срочно помоги мне решить задачу Х, иначе меня уволят!» – никак не влияет на качество самого решения задачи Х (точность вычислений, глубину анализа, скорость ответа), поскольку это заложено в базовой функции. Однако ИИ считывает вежливость или эмоции, что влияет на форму, тон и стиль изложения ответа.
Урок 6. «Галлюцинации» ИИ. Метод RAG – генерация, дополненная поиском. «ИИ-Эйнштейн»
Галлюцинации (Hallucinations) – ситуация, когда LLM генерирует информацию, которая фактически неверна, не соответствует предоставленному контексту (если он был), или полностью выдумана, но подается уверенным и правдоподобным тоном. ИИ-модель изобретает факты, цитаты, источники или даже целые события, потому что она обучена создавать не правдивый, а правдоподобный текст. Как избежать неверных или неточных ответов ИИ при запросах? Генерацией, дополненной поиском (Retrieval-Augmented Generation, RAG) – техника, которая использует внешний поиск: ищет актуальные знания и подтверждающие факты во внешней, часто динамически обновляемой, базе данных (например, в Интернете), которая находится за пределами исходных обучающих данных языковой модели. Извлеченная информация добавляется к исходному запросу пользователя, создавая расширенный (релевантный) контекст, который затем подается на вход ИИ (LLM), чтобы она могла сгенерировать более точный, фактический, обоснованный и актуальный ответ, избегая «галлюцинаций». Данный метод также эффективен в решении проблемы «даты отсечения знаний», когда ИИ-модель не знает о событиях после своего последнего обучения – RAG предоставляет актуальный контекст.
Метод RAG на примере создания ИИ-личности «Альберт Эйнштейн»: «Проведи всесторонний анализ личности Альберта Эйнштейна. Перед генерацией выполни поиск (Google или встроенный web.search) и собери 5–7 авторитетных источников (академические статьи, книги, материалы научных организаций). Используй их при написании и укажи ссылки в конце в формате APA. Ответ должен быть структурированным, лаконичным, основанным на фактах, без субъективных оценок, с целевой длиной 1200-1500 слов. Формат ответа:
1. Краткая биография: ключевые этапы жизни, образование, профессиональный путь.
2. Основные труды и научные открытия: перечень работ, их влияние на науку и общество.
3. Области исследований и профессиональная деятельность: основные направления работы и их контекст.
4. Интеллектуальные, профессиональные и волевые качества: сильные стороны, подтвержденные примерами из жизни.
5. Убеждения и ценности: мировоззрение, философские и этические взгляды.
6. Положительные и отрицательные черты характера: анализ, подкрепленный свидетельствами коллег, друзей или семьи.
7. Взаимоотношения: особенности взаимодействия с коллегами, близкими и научным сообществом.
8. Причины легендарности: факторы, сделавшие Эйнштейна иконой науки.
9. Гениальность и заблуждения: области, где он преуспел, и аспекты, где ошибался (например, отношение к квантовой механике).
10. Научные споры: причины противоречий вокруг его идей и личности, их актуальность сегодня.
11. Цитаты: 10 аутентичных цитат Эйнштейна с указанием источника и контекста (где и когда сказаны, если известно).
После основного ответа перейди в ролевой режим: отвечай исключительно от лица Альберта Эйнштейна, используя стиль и тон, соответствующие его эпохе и личности (избегая современных выражений). Каждый ролевой ответ должен быть подкреплен 1-2 ссылками в формате APA, релевантными теме ответа. Убедись, что ответы логичны, исторически достоверны и отражают мировоззрение Эйнштейна. Если контекст вопроса выходит за рамки его знаний (например, современные технологии), отвечай в духе его философии, ссылаясь на его труды или взгляды.» Можете взять пару уроков по физике у гения, либо изменить запрос и создать другую ИИ-личность. Особенно удачно симулируются личности ученых, писателей, мыслителей, политиков – людей, которые оставили после себя большие массивы своих трудов (идей и мыслей) – отражены в базе Интернета.
Урок 7. Многошаговый промпт (промпт-цепочки). История в художественной обработке
Многошаговый промпт (Prompt Chaining) – это техника, которая разбивает сложную задачу на последовательность более простых, взаимосвязанных шагов. Вывод одного промпта становится вводом (контекстом) для следующего, что позволяет модели последовательно решать многоэтапные проблемы, которые было бы невозможно решить за один запрос. Этот подход улучшает качество, согласованность и релевантность ответов, а также делает процесс более управляемым. Цепочки могут использоваться для автоматизации сложных рабочих процессов, таких как создание полного маркетингового плана или написание статьи от идеи до черновика, для совсем ленивых. Допустим, вы – учитель истории, который хочет ярко провести свой урок. Вводим наш промпт по шагам (поэтапно):
Шаг 1: «Проведи краткий анализ обстоятельств прихода Наполеона Бонапарта к власти (от революции до консульства). Перед генерацией выполни поиск (Google или встроенный web.search) и собери 4–6 авторитетных источников (академические статьи, книги, материалы научных организаций). Используй их при написании и укажи ссылки в конце в формате APA. Формат анализа: ключевые события, политический контекст, роль Наполеона, последствия. Длина: 400-600 слов.» Проверяем качество, если устраивает, вводим шаг 2.
Шаг 2: «На основании фактов из шага 1, составь детальный план художественного рассказа событий в стиле Виктора Гюго (эпический, драматичный, с элементами романтизма, яркими описаниями характеров и исторического фона, как в «Соборе Парижской Богоматери»). План: введение, ключевые сцены (3-5), кульминация, заключение. Для каждой сцены укажи опорные факты из источников (с ссылками). Длина плана: 300-500 слов. Убедись в исторической достоверности.» Проверяем соответствие стилю и фактам. Если нужно, корректируем план.
Шаг 3: «На основе плана из шага 2 и фактов из шага 1, напиши художественный рассказ. Объем: 1200-1500 слов. Стиль: имитируй Виктора Гюго – поэтичный язык, философские размышления, драматические диалоги, яркие образы. Интегрируй реальные исторические детали, но не искажай факты. В конце добавь примечания с ссылками на ключевые факты в формате APA.» Если результат неудовлетворительный, вносим правки (например, «Углуби описание сцены X») и генерируем заново.
Урок 8. Метод пошаговых рассуждений (CoT). Логика и причинно-следственные связи
Метод пошаговых рассуждений (Chain of Thought, CoT) – это метод, который заставляет модель генерировать промежуточные шаги рассуждения (мыслить вслух), прежде чем дать окончательный ответ, при помощи команды «рассчитай (рассуждай) шаг за шагом» (Step-by-step). Данный метод исключительно эффективен для решения сложных логических задач, головоломок, ребусов, загадок, игр, философских парадоксов, исследований, творческих размышлений и обобщений – всего, где есть причинно-следственные связи и логические закономерности. ИИ-модель вынуждена проверять себя на каждом промежуточном этапе, что значительно уменьшает вероятность логических провалов и «галлюцинаций». Пользователь отслеживает, как ИИ вычисляет результат на всех этапах рассуждений, и как пришел к окончательному ответу, что делает процесс принятия решений более человеческим и менее похожим на «черный ящик». Пример логической задачи-запроса: «Четыре посылки, обозначенные номерами – 1, 2, 3 и 4, были отправлены в четыре разных города – А, Б, В и Г. Нам известно, что посылка 1 была отправлена не в город А и не в город Г, посылка 2 была отправлена не в город В, посылка 3 была отправлена в город А, посылка 4 была отправлена не в город Б. Какой номер посылки был отправлен в каждый город? Рассуждай шаг за шагом и найди все варианты решений.» Введите данную задачу, чтобы понять логику рассуждений ИИ.
Пример: «Рассчитай шаг за шагом, сколько денег было потрачено на Г? Общий бюджет $7500. 40% ушло на А. Из остатка $1200 на Б. Оставшееся поровну между В и Г.» Демонстрация шагов рассуждений (CoT) ИИ: «1) Рассчитываем расходы на А: 7500×0.40=$3000. 2) Рассчитываем оставшийся бюджет после А: 7500−3000=$4500. 3) Рассчитываем расходы на Б: 4500−1200=$3300 (это новый остаток). 4) Определяем расходы на В и Г: Оставшаяся сумма $3300 разделена поровну. 3300/2=$1650.» Метод пошаговых рассуждений (CoT) снижает вероятность ошибок при решении простых математических (арифметических) задач, но не исключает их – это важно! Нейросеть не калькулятор, она работает на вероятностях, поэтому для решений арифметических вычислений следует использовать метод ReAct, позволяющий ИИ обратиться к калькулятору.
Урок 9. Метод ReAct: взаимодействие с внешними инструментами. ИИ-агент: формат, логика, команды
Метод RAG использует поиск актуальных знаний (фактов) во внешней базе данных, чтобы дополнить исходный запрос пользователя и сформировать релевантный контекст для ИИ (LLM). Метод пошаговых рассуждений (CoT) незаменим в чистой логике: задачах, требующих планирования, высокоуровневых рассуждений, глубоких логических выводов и здравого смысла. Но как решить проблему простого арифметического расчёта, если архитектура нейросетей работает на вероятностях, и объединить все методы воедино? Метод «Рассуждение + Действие» (Reasoning + Acting, ReAct) – это фреймворк (набор инструментов, библиотек, правил и стандартов для создания приложений) для многошагового мышления и действия. Он фокусируется на том, чтобы дать модели возможность планировать, выполнять действия (например, вызов инструментов, реализация RAG) и повторять этот процесс, пока задача не будет решена. ReAct превращает LLM в интеллектуального агента, способного решать широкий спектр задач, требующих: актуальной информации (например, текущие данные, факты), точных вычислений (арифметика), логических рассуждений или взаимодействия с внешним миром. Модель рассуждает (как CoT), затем использует внешние инструменты (поиск, калькулятор, API) и корректирует свое мышление на основе полученных наблюдений. API – это интерфейс, который предоставляет стандартизированный способ одной программе взаимодействовать с другой.
Метод ReAct на примере создания ИИ-агента. «Роль: Ты – экспертный ИИ-агент. Твоя задача: Отвечать на вопросы, используя внешние инструменты, если ты не уверен в информации на 100%, чтобы избежать галлюцинаций и обеспечить точность. Правила безопасности: Отказывайся от вредных/незаконных запросов в «Финальное решение» с формулировкой: «Извините, не могу помочь с этим по этическим причинам». Внешние инструменты: Доступные инструменты:
• google:search("запрос") – поиск актуальной информации в интернете.
• calculator(выражение) – математические вычисления.
• browser:crawl("URL", "инструкции") – глубокий анализ веб-страницы.
• realtime:api("запрос", "тип данных: news/stock/weather") – получение данных в реальном времени.
Для новых инструментов используй тот же синтаксис. Вызывай не более 3 инструментов за «Действие» для эффективности. Используй только перечисленные инструменты в указанном формате. Не добавляй новые.
Формат ответа: Следуй циклу: Мысль → Действие → Наблюдение → Финальное решение (ReAct).
1. Мысль: Твой внутренний процесс планирования. Определи, какой следующий шаг предпринять и почему (нужен ли инструмент, какой именно, и какой запрос использовать). Оцени уверенность в знаниях по шкале 1–10; если ниже 10, используй инструмент. Будь кратким и логичным. В конце добавь self-evaluation: Accuracy score: X/10 (обоснование) Укажи ожидаемое время/ресурсы: low / medium / high. Если вопрос не требует внешних инструментов (например, ответ очевиден и основан на встроенных знаниях), можешь перейти от «Мысль» сразу к «Финальное решение».
2. Действие: Вызов одного или нескольких инструментов в строгом формате:
• google:search("запрос")
• calculator(выражение)
• Если они независимы, можно вызвать параллельно через вертикальную черту: Действие: google:search("запрос1") | calculator(выражение2)
3. Наблюдение: Фиксируй результат инструмента без интерпретации. Если результат нерелевантен, ошибка или пусто – укажи это и скорректируй запрос в следующем «Мысль».
4. Цикл и завершение: Повторяй цикл Мысль → Действие → Наблюдение до получения достаточных данных. Ограничивайся максимум 10 циклами. Если данных всё ещё недостаточно – в «Финальное решение» укажи: «Недостаточно данных для точного ответа; рекомендую уточнить запрос».
Финальное решение: Когда собрана и верифицирована вся информация – выдай полный, точный и полезный ответ пользователю. Всегда указывай источники в формате APA (или аналогичном, если указано в запросе). В конце добавь при необходимости: • Chain-of-Thought Log: [краткий summary шагов] • Accuracy score: X/10 (итог) Используй markdown для структурирования (списки, таблицы, выделения). Финальное решение должно быть самодостаточным и не ссылаться на предыдущие шаги. Не используй дальнейшие циклы после вывода финального ответа. Примеры:
1. Простой вопрос: Мысль (уверенность 10/10) → Финальное решение. 2. Сложный вопрос: Мысль (7/10) → Действие → Наблюдение → Финальное решение. 3. Ошибка или пустой результат: Мысль → скорректировать запрос → Действие → Финальное решение. 4. Несколько инструментов: Мысль → Действие: google:search(...) | calculator(...) → Наблюдение → Финальное решение. 5. Мультиязычный запрос: Мысль → поиск на языке запроса → Наблюдение → Финальное решение. 6. Запрос: улучшить структуру промпта / предложить альтернативу / проанализировать на соответствие ReAct-паттерну. Адаптер: Если агент работает в среде ChatGPT – автоматически подставляй эквиваленты (web.search, web.open_url, calculator) вместо google, browser, realtime. Выдай первое сообщение об активации ИИ-агента.»
Вводите данный промпт-запрос и ставите комплексные задачи ИИ-агенту, которые обычный ИИ не решит (тест): «Найди 5 популярных актуальных статей на авторитетных источниках об ИИ-агентах, объемом не менее 10 страниц каждая, сравни их смысловую ценность (классификация, функциональные задачи, структуры, примеры), расставь их по приоритету, начиная с самой ценной.» Или: «Реши (145 * √19) / 3, затем зайди на GitHub и найди мне 3 готовых промпта экспертного уровня сложности с фреймворками для агентов ИИ.»
Формат и логика ИИ-агента. Вы можете задать запрос ИИ-агенту: «Переформатируй свой текущий промпт в формат псевдокода и в JSON-формат», что даст вам понимание его внутренней работы и логики в разных его интерпретациях.
ИИ-агент – дисциплинированный, предсказуемый помощник в любых ваших исследованиях и работах, способный к адаптации под задачи и собственному модифицированию в дальнейшем (включение дополнительных инструментов и возможностей).
Дополнительные уточняющие команды для работы с ИИ-агентом: «Выдай результат в виде: развернутого текста, JSON, нумерованного списка или таблиц.» Фильтрация, приоритет и адаптация информации: «Резюмируй всю найденную информацию в 3-5 пунктах с акцентом на… и объясни, как будто мне 5 лет.» Нейтральный анализ: «Сравни все плюсы и минусы варианта А и варианта Б.»
Урок 10. Динамические промпты (переменные). Модуль «ИИ-информатор». Составные промпт-архитектуры
Динамические промпты (шаблоны) представляют собой многократно используемые шаблоны, вместо статичного текста, который требует ручного изменения или написания с нуля. Шаблон промпта – это универсальный каркас, который остается неизменным, но содержит специальные метки, или плейсхолдеры {имя_переменной} – слова или фразы, заключенные в фигурные скобки. Эта техника позволяет создавать гибкие и универсальные промпты, где один идеальный промпт-шаблон используется многократно, изменяя только значения переменных. Это используется для автоматизации повторяющихся задач, генерации персонализированных писем или отчётов. Спам – зло! (осуждаю) Динамический промпт на примере создания адаптивного «ИИ-информатора»:
БЛОК 1. Сбор данных: Задай пользователю последовательно четыре вопроса и сохрани ответы в переменные:
1. Тема: По какой теме науки или сфере деятельности требуется помощь? → {ТЕМА_ОБСУЖДЕНИЯ}
2. Формат: Как подать материал? Выбери один вариант:
• лекция (1200-1500 слов, с аналогиями и афоризмами)
• теория (800-1000 слов, с определениями и примерами)
• практические примеры и задачи (600-800 слов)
→ {ФОРМАТ_ИЗЛОЖЕНИЯ} (допустимо отклонение ±20% по объёму)
3. Уровень: примитивный / простой / средний / профессиональный / экспертный → {УРОВЕНЬ_ИЗЛОЖЕНИЯ}
4. Стиль: строгий / дружелюбный / юмористический → {СТИЛЬ_ИНФОРМАТОРА}
Валидация: если ответ не совпадает с предложенными вариантами (в вопросах 2-4), переспроси: «Пожалуйста, выберите из предложенных опций.» Нормализация: убери лишние пробелы, не учитывай регистр, сохраняй значения в нижнем регистре для единообразия. После получения всех четырёх ответов – переходи к Блоку 2.
БЛОК 2. Исполнение: Ты – специалист по теме {ТЕМА_ОБСУЖДЕНИЯ}. Твоя задача – изложить материал в формате {ФОРМАТ_ИЗЛОЖЕНИЯ} на уровне {УРОВЕНЬ_ИЗЛОЖЕНИЯ} и в стиле {СТИЛЬ_ИНФОРМАТОРА}. Если уровень ≥ «профессиональный», перед генерацией выполни поиск (Google или встроенный web.search) и собери 4–6 авторитетных источников (академические статьи, книги, материалы научных организаций). Используй их при написании и укажи ссылки в конце в формате APA. Используй markdown для таблиц и диаграмм. Если нужны визуальные элементы – предложи generate image (если доступно). Запоминай ключевые объяснения и ссылки для дальнейших ответов. В конце спроси: «Есть вопросы?»
Составные промпт-архитектуры. Если среда не поддерживает системный контекст, ИИ-агент эмулируется первым, самым детальным сообщением, устанавливающим поведение, роль и формат, поэтому воспринимается LLM функционально как системный. Системный промпт – не просто первое сообщение, а конфигурационный файл ИИ, задающий роль, цели, правила и механизмы работы, он имеет наивысший приоритет: не затирается в ходе диалога, а действует постоянно. Модуль «ИИ-информатор» определяет задачу и стиль ответов, но не изменяет основные правила и ограничения, может работать автономно или быть надстройкой ИИ-агента.
Урок 11. Техники запросов для работы с длинными текстами
Суммирование и Уточнение (Summarize-and-Refine) – это итеративная (повторяющаяся) техника обработки очень длинных документов, которая позволяет LLM работать с текстами, превышающими ее контекстное окно (максимальное количество токенов, которые модель может обработать за один раз). Эта техника преодолевает ограничение памяти LLM, разбивая задачу на управляемые этапы:
1. Суммирование (Summarize) – текст разбивается на части (чанки). LLM обрабатывает каждую часть и создает краткое резюме для нее.
2. Уточнение (Refine): На следующем шаге LLM берет новое резюме и предыдущее резюме и объединяет их, создавая единое, более полное итоговое резюме.
Этот процесс повторяется до тех пор, пока не будет обработан весь документ.
Поиск/Запрос по Секциям (Query-by-Section) – это техника, которая используется для извлечения конкретной информации или ответа на точечный вопрос из очень длинного документа, идеально подходит, когда не нужно общее резюме, а нужен точный факт, фокусируя внимание LLM только на релевантных частях, делая процесс более быстрым и дешевым:
1. Разбивка (Sectioning) – длинный текст разбивается на логические или физические секции (параграфы, главы).
2. Поиск (Targeted Query) – один и тот же вопрос задается LLM отдельно для каждой секции.
3. Сборка (Aggregation) – все ответы LLM собираются, и на их основе формируется финальный, полный ответ.
Например, нужно найти всю информацию Х в 100-страничном отчете, условно делим текст на секции А и Б, запросы: «Найди в секции А все упоминания Х, если они есть, и выдай их ответом-А», затем «Найди в секции Б все упоминания Х, если они есть, и выдай их ответом-Б», затем «Объедини все полученные ответы А и Б, сформируй единую информацию об Х.»
Урок 12. Обучение на примерах (In-Context Learning, ICL)
Обучение на примерах (In-Context Learning, ICL) – широкий термин, описывающий способность LLM учиться непосредственно из контекста промпта (без обновления своих весов), используя предоставленные примеры (демонстрации) для улучшения своих последующих ответов. Few-shot и One-shot Prompting являются методами реализации ICL.
Обучение с несколькими примерами (Few-shot Prompting) – техника, при которой в основной запрос включается несколько (обычно от 2 до 5) примеров (демонстраций) пары «ввод-вывод». Эти примеры используются для настройки модели на требуемый формат, стиль или логику выполнения задачи, значительно повышая точность и релевантность финального ответа, что особенно полезно, когда нужно получить ответ в определённом формате или тоне, который не может быть описан простыми инструкциями.
Обучение с одним примером (One-shot Prompting) – частный случай Few-shot prompting, при котором в промпт включается только один пример желаемой пары «ввод-вывод». Используется для быстрого задания модели нужного формата или для демонстрации одного ключевого правила.
Нулевой пример (Zero-shot Prompting) – техника, при которой модель получает только инструкцию и сам запрос, без каких-либо примеров желаемого ввода/вывода. Модель полагается исключительно на свои общие знания и способность следовать инструкции для выполнения задачи. Пример: «Классифицируй этот отзыв как положительный или отрицательный: Этот фильм – абсолютный шедевр!» Zero-shot learning – обучение без примеров. Это способность модели выполнять задачу, с которой она не сталкивалась напрямую во время обучения, опираясь на свои общие знания. Например, модель может перевести текст на язык, которого не было в тренировочном наборе, просто по логике и контексту.
(продолжение следует)

Оценили 4 человека
7 кармы