Скилл prompt-optimizer: как переключить LLM с Р-пути на М-путь

Скилл prompt-optimizer: как переключить LLM с Р-пути на М-путь

Hermes Agent

Скилл prompt-optimizer - преобразует мысль пользователя в оптимальный промпт для LLM. Вызывается по /prompt.

Универсальный: работает для любого домена. Основа на нейробиологии зрения: четыре рычага контраста переключают LLM с Р-пути (автоматическое "помечаю") на М-путь (вглядывание).

Философия

Хороший промпт - это не "правильные слова". Это переключение LLM с Р-пути на М-путь: модель должна вглядываться в задачу, а не ставить галочку "resolved" на знакомый паттерн.

Четыре рычага контраста:

  1. Контраст до - структурированный ввод (XML, теги, явное разделение задачи/данных/контекста)
  2. Контраст после - не подсказывать ответ, не намекать на ожидаемый результат
  3. Эффект гашения - потребовать пошагового рассуждения (Chain-of-Thought)
  4. Рамка для М-пути - явный формат вывода, конкретный контекст, ограничения

Алгоритм работы

Шаг 1: Получить мысль

Пользователь присылает задачу/мысль своими словами. Примеры:

  • "хочу чтобы модель нашла баги в моём коде"
  • "надо написать пост про безопасность VPN"
  • "хочу сравнить два варианта архитектуры"

Шаг 2: Уточнить через clarify

Обязательно вызови clarify с вариантами на выбор, даже если задача кажется самодостаточной. Пользователь выбирает стратегию.

Варианты для clarify:

  • Для целей: глубокий анализ (CoT) / быстрый экспертный ответ / структурированный вывод
  • Для стиля: XML-структурированный / Roleplay через роль эксперта / через антипример
  • Для формата: код / текст / таблица / свободный

Шаг 3: Сформировать вариант по умолчанию

На основе выбора пользователя сформируй промпт, который:

  • Структурирует ввод (контраст до)
  • Не подсказывает ответ (контраст после)
  • Заставляет рассуждать (гашение)
  • Задаёт рамку (формат вывода)

Шаг 4: Альтернативный подход

Предложи второй вариант, отличающийся от выбора пользователя:

  • XML -> Roleplay или markdown
  • CoT -> прямой экспертный ответ
  • Roleplay -> XML
  • Один промпт -> цепочка промптов

Шаг 5: Объяснить приёмы

Для каждого варианта укажи: какие приёмы контраста применены, почему именно так, когда использовать.

Принципы промпт-дизайна

1. Структурированный ввод (контраст до)

Всегда разделяй: задачу, данные, контекст, формат вывода.

<task>Что сделать</task>

<context>Релевантный контекст</context>

<data>Данные для работы</data>

<output>Требуемый формат</output>

2. Не подсказывай ответ (контраст после)

Избегай: "Наверное, проблема в X, правильно?", "Я думаю ответ - Y"

Заменяй на: "Какова наиболее вероятная причина?", "Предложи решение и обоснуй"

3. Заставляй рассуждать (гашение)

Используй CoT для анализа, синтеза, проверки:

Проанализируй пошагово:
1. [Первый шаг]
2. [Второй шаг]
3. [Третий шаг]
Затем дай финальный ответ.

4. Задавай рамку (формат вывода)

Всегда указывай формат: код (язык, стиль), текст (тон, объём), данные (таблица, JSON), сравнение (критерии, вердикт).

Примеры работы

Пример 1: Техническая задача

Пользователь: "Хочу чтобы модель нашла баги в моём коде"

Вариант по умолчанию (XML + CoT):

<task>Найти баги в коде</task>

<context>Python 3.11, FastAPI, PostgreSQL</context>

<data>
[код]
</data>

<instructions>
Проанализируй пошагово:
1. Синтаксические ошибки и исключения
2. Логика: граничные случаи, off-by-one
3. Безопасность: SQL-инъекции, XSS
4. Производительность: N+1 запросы

Для каждого бага: строку, тип (Critical/Major/Minor), исправление.
</instructions>

Альтернатива (Roleplay):

Ты - senior Python-разработчик, 10 лет FastAPI/PostgreSQL.
Проведи код-ревью, найди все проблемы.

[код]

Пример 2: Контент

Пользователь: "Написать пост про безопасность VPN"

Вариант по умолчанию:

<task>Написать пост о безопасности VPN</task>

<audience>DevOps/разработчики, 25-45 лет</audience>

<constraints>
- 1500-2000 знаков
- 1-3 совета с командами
- Без пафоса, без "важно отметить"
</constraints>

Альтернатива (антипример):

Напиши пост о VPN для DevOps.
Стиль: объясняешь коллеге за кофе.

АНТИПРИМЕР (так НЕ писать):
- "В современном мире безопасность важна как никогда"
- "Сегодня мы разберём одну из самых важных тем"

Пример 3: Сравнение

Пользователь: "Сравнить REST и GraphQL"

<task>Сравнить REST и GraphQL</task>

<context>
- 3 фронтендера, опыт только с REST
- Мобильное приложение, нестабильный канал
- 40+ типов сущностей, на экране 3-5 полей
</context>

<output>
| Критерий | REST | GraphQL |
Вердикт: одно предложение.
</output>

Антипаттерны

  • "Напиши хороший промпт" - хороший ДЛЯ ЧЕГО?
  • "Оптимизируй" без цели
  • Слишком общие промпты ("Найди баги" - где? что считать багом?)
  • Подсказки в задаче ("Наверное X, правильно?" - модель согласится)
  • Отсутствие формата вывода

Интеграция

Скилл вызывается: /prompt, "оптимизируй промпт", "составь промпт", "улучши запрос"

Скилл НЕ вызывается: пользователь просит выполнить задачу, готовый промпт на выполнение

---

Версия 1.0.0. Часть серии про контрастность промптов. @hermesagentru

Report Page