Бывало ли у вас так, что определенный промпт хорошо работал, а затем внезапно переставал?
Случалось ли вам снова и снова латать системный промпт в попытке улучшить результаты, но безуспешно?
Возможно, вам нужно именно обучение системных промптов.
Обучение системных промптов (SPL) — новое направление, вызывающее интерес в сообществе ИИ. В мае его широко популяризировал Андрей Карпати в X.
Обучение системных промптов помогает преодолеть ограничения негибких и хрупких систем ИИ, которые зависят от статических системных промптов или громоздких процессов дообучения. Это еще один способ обеспечить непрерывное обучение систем ИИ.
Прежде чем углубляться в тему, кратко рассмотрим основы работы с промптами.
При разработке агента или собственной модели сначала необходимо спроектировать два ключевых компонента:
Системный промпт
Пользовательский промпт
Системные промпты задают основные правила поведения модели. В специализированных решениях на базе ИИ они часто начинаются примерно так:
“You are an intelligent assistant. Your role is to perform <insert task here>.
You must not do (A), (B), or (C).”
В отличие от них, пользовательские промпты обычно содержат запрос пользователя и другие важные сведения, например его часовой пояс и предпочтения. Пользовательский промпт может выглядеть так:


I’m in the capital city of Portugal. Can you suggest some things I can do tonight?
После выпуска новых моделей ведущими лабораториями ИИ часто происходят утечки системных промптов: пользователи применяют джейлбрейки к чат-ботам, чтобы раскрыть заложенные в них инструкции. Теперь многие из этих системных промптов собраны в одном месте — в популярном репозитории на GitHub. Они раскрывают «секретный ингредиент», который лаборатории ИИ со временем выработали для формирования надлежащего поведения моделей. Например, недавно утекший системный промпт GPT-5, раскрытый через ChatGPT, содержит около 6000 слов. Это показывает, сколько знаний и указаний приходится закладывать для формирования поведения системы.
Такие подробные системные промпты обычно охватывают несколько ключевых областей, включая:
Инструкции по поиску
Определения инструментов
Предпочтения пользователей
Инструкции по цитированию
Быстрые исправления известных проблем
На практике разработчики специализированных систем ИИ вручную и итеративно исправляют системные промпты по мере тестирования и совершенствования приложений, ориентируясь прежде всего на оценки.
Есть и другие способы управлять поведением модели:
Промпт-инженерия, включая генерацию с дополнением извлеченными данными (RAG), которая определяет предоставляемый модели контент
Дообучение — непосредственное изменение базовых весов модели
А что, если влиять на поведение модели можно иначе? Представьте систему, которая динамически обучается и совершенствует собственный системный промпт с помощью ранее сформированных мыслей, планов и стратегий. Для оценки результатов она могла бы использовать как отзывы пользователей, так и оценки по принципу LLM в роли судьи.
Представьте постоянную бизнес-задачу, которую вы хотите автоматизировать с помощью агентной системы. Для эффективных решений нужны возможности рассуждений, выходящие за рамки простой автоматизации процессов. В таких случаях в систему ИИ необходимо включить компонент формирования планов. Это позволяет системе по-разному взаимодействовать с несколькими агентами в зависимости от задачи. Отдельные шаги могут включать инструкции по обращению к другим агентам для выполнения подзадач или по использованию инструментов.


Примечание: Инструмент агента — это любая внешняя функция, API или ресурс, к которым может обратиться агент ИИ, чтобы выйти за рамки работы с текстом и выполнять реальные действия.
Можно «инициализировать» системный промпт модели планом, повторяющим логические шаги человека. Однако LLM обычно нужны более конкретные указания по использованию инструментов, форматированию результатов и другим требованиям. Иногда оптимальная стратегия неочевидна. Кроме того, задача могла долго не пересматриваться, поскольку раньше считалась решенной. Именно здесь пригодится обучение системных промптов (SPL).
SPL итеративно совершенствует системный промпт, добавляя ранее сформированные стратегии. По мере появления новых задач система постепенно накапливает знания и становится надежнее. Это похоже на создание справочника по решению задач в вашей предметной области.
SPL постепенно добавляет в системный промпт выводы из отзывов пользователей. По мере развития системы могут обнаруживаться повторяющиеся проблемы, которые можно преобразовать в более общие принципы высокого уровня.
Рассмотрим подробнее, как работает этот процесс, шаг за шагом:
Начните с запроса пользователя, в котором системе поручается выполнить конкретную задачу.
Если система решает только одну задачу, можно применить «жадный» подход и выбрать стратегии с наивысшими оценками из предыдущих запусков. Другой вариант — стимулировать поиск, создавая выборку из распределения, которое отдает предпочтение высоко оцененным стратегиям, но иногда включает и стратегии с низкими оценками. Это особенно полезно, когда вы только начинаете собирать стратегии.
Для систем, рассчитанных на решение разнородных задач, стоит добавить слой классификации либо использовать эмбеддинги и косинусное сходство — те же методы, которые обычно применяются в RAG, — чтобы находить подходящие варианты. Это помогает выбирать стратегии для конкретной задачи — например, подходы, предназначенные для программирования.
Примечание: эмбеддинги в сочетании с косинусным сходством позволяют измерить степень связи между двумя фрагментами информации. Благодаря этому проще сопоставлять документы, запросы и идеи, даже если они сформулированы по-разному.
Пример исходного упрощенного хранилища стратегий для решения задач по программированию.
Примечание: приведенные здесь «начальные стратегии» служат лишь примерами. В реальных задачах по программированию мы бы продолжили их совершенствовать. Для узкоспециализированных бизнес-задач пришлось бы со временем собирать дополнительные сведения.
Generation_id (в обратном порядке) | Тема | Оценка | Strategy_text | Пояснение |
|---|---|---|---|---|
4 | программирование | 1 | Разберитесь в задаче, ограничениях и пограничных случаях. Спроектируйте алгоритм с подходящими структурами данных. Проверьте план на примерах и инвариантах. Напишите чистый и понятный код. Улучшите решение с помощью рефакторинга, оптимизации и окончательного форматирования. Использование инструментов: при обращении к инструменту кратко объясните, зачем он понадобился. | Объединяет сильнейшие элементы трех приведенных ниже стратегий. |
3 | программирование | 1 | Разберитесь в задаче, ограничениях и пограничных случаях. Спроектируйте алгоритм с подходящими структурами данных. Проверьте план на примерах и инвариантах. Напишите чистый и понятный код. Улучшите решение с помощью рефакторинга, оптимизации и окончательного форматирования. | Более всесторонняя стратегия, но в ней нет указаний по использованию инструментов. |
2 | программирование | -1 | Разберитесь в задаче, ограничениях и пограничных случаях. Спроектируйте алгоритм с подходящими данными. Напишите чистый и понятный код. Использование инструментов: при обращении к инструменту кратко объясните, зачем вы его использовали. | Более качественная стратегия, в которой упоминаются инструменты, но ее еще можно улучшить. |
1 | программирование | -1 | Бегло ознакомьтесь с задачей. Решите задачу. Создайте минимальный набор тестов. Отправьте любой работающий вариант. | Упоминает тесты, но в целом это слабая стратегия. |
3. После выборки N стратегий добавьте их в системный промпт. Так планы создаются на основе предыдущих экспертных отзывов, а модель не остается практически без указаний. Предложите модели «мыслить нестандартно» и при необходимости добавлять шаги, а не просто дословно копировать примеры стратегий.


4. Используя динамически созданный системный промпт, сформируйте новую стратегию для выполнения запроса пользователя. Этот процесс должен создавать дополнительные задачи, улучшающие итоговый результат. Цель — творческий подход: объединить сильнейшие элементы прежних стратегий, совместить пересекающиеся шаги и при необходимости добавить новые полезные шаги.
Примечание: помните, что температура — это параметр, который можно изменять для получения более разнообразных и менее детерминированных результатов. Это полезно для творческих задач. При ненулевой температуре каждый сформированный план может отличаться от остальных.
5. Получив ответ модели, оцените его с помощью человека или LLM-судьи по конкретным критериям, определяющим качественное решение вашей задачи. Для упомянутого ранее примера с мероприятиями в Португалии критерии оценки могут включать:
Краткость — ответ не длиннее одного предложения
Уместность предложенного занятия
Точность местоположения
6. На основе этой оценки используйте другую модель для совершенствования стратегии. Необязательный цикл обратной связи позволяет учитывать мнение людей и совместно совершенствовать результат. Сохраните усовершенствованную стратегию в базе данных с подходящими метаданными для отслеживания версий и изменений.


Зачем же прилагать столько усилий? Можно вручную проверять результаты и соответствующим образом корректировать системный промпт. Однако мощные модели рассуждений способны совершенствовать стратегии с учетом контекста результата и отзывов людей. Люди легко замечают недостатки простых подходов, но в сложных системах, решающих широкий круг задач, их поиск становится трудным и утомительным.
LLM часто нужны подробные инструкции и дополнительные шаги для сбора контекстных знаний, которые человек естественным образом привносит в решение задачи. По мере расширения системы для решения более широкого круга проблем количество необходимых задач может быстро расти. Например, решая задачу по программированию, человек может интуитивно понимать окружающую кодовую базу, тогда как LLM сначала потребуется «прочитать» несколько файлов.
Когда это полезно: представьте, что вы руководите службой поддержки, а агент ИИ распределяет обращения. Со временем SPL может выявить ранее не рассматривавшийся командой метод классификации и сократить долю эскалаций.
Когда это бесполезно: если рабочие процессы уже определены требованиями и нормативами, как в финансовой отчетности, SPL может почти не принести пользы, поскольку творческий подход становится источником риска, а не преимуществом.
Когда это полезно: в работе, требующей интенсивных исследований, например в рыночной аналитике или продуктовой стратегии, можно сотрудничать с ИИ: совершенствовать его планы, дополнять результаты и сохранять улучшения для будущего использования. Каждое взаимодействие повышает эффективность системы.
Когда это бесполезно: если команда применяет ИИ главным образом в простых процессах с минимальным участием человека, например для обработки счетов, затраты на сотрудничество могут превысить пользу.
Когда это полезно: предположим, вы выходите в новый регион и ИИ внезапно приходится отвечать на вопросы о местных налогах. SPL позволяет быстро добавлять новые правила и эвристики по мере их появления, предотвращая повторные ошибки.
Когда это бесполезно: если среда статична, например стенограммы встреч преобразуются в стандартизированные резюме, постоянная адаптация почти не дает преимуществ.
В теории все это звучит многообещающе, но внедрение SPL сопряжено с реальными трудностями. Ниже рассмотрим некоторые из основных проблем:
На ранних этапах формирования стратегий прогресс часто останавливается: новые результаты не развивают предыдущие, и темп снижается. Обычно это вызвано двумя основными проблемами:
Решение: заранее заложите все доступные бизнес-знания, чтобы у системы была глубокая база для работы.
Решение: разработайте детальную шкалу оценки нескольких аспектов ответа, например точности, ясности и релевантности, и настройте выборку с учетом этих сигналов.
Если система формирует сотни стратегий, но получает мало обратной связи, позволяющей отличать хорошие от плохих, выборка быстро становится неуправляемой. Решение — отсев.
При совершенствовании хранилища стратегий учитывайте следующее:
Срок жизни: выводите стратегии из обращения по истечении заданного времени или числа поколений.
Оценка: применяйте свою шкалу оценки, чтобы отсеивать стратегии, стабильно показывающие низкие результаты. В сочетании со сроком жизни это позволяет сохранять лишь те подходы, которые со временем доказывают свою ценность.
Оценка с помощью LLM: периодически проверяйте стратегии и выявляйте те, которые больше не дают уникальных идей, поскольку их полезные элементы, скорее всего, уже вошли в новые версии.
Решение: относитесь к базе стратегий как к живой системе: регулярно очищайте ее, оставляя только актуальные и ценные знания.
Обучение системных промптов пока находится на ранней стадии развития, но обладает огромным потенциалом. Компании, полагающиеся только на статические промпты или бесконечное дообучение, столкнутся со знакомыми ограничениями: хрупкими системами, растущими расходами и напрасными усилиями. SPL позволяет разорвать этот цикл: создавать системы, которые со временем совершенствуются и усваивают общие принципы вместо отдельных исправлений.
SPL все еще развивается, но направление уже ясно: системы, способные учиться на собственном опыте, опередят те, которые этого не умеют. Сейчас самое время экспериментировать: начните с малого, фиксируйте выводы и закладывайте основу систем ИИ, которые совершенствуются с каждым взаимодействием.