Перейти к содержимому

Эффективный промптинг

Делай. Или не делай. Не надо пытаться.
Роберт Мартин — «Идеальный программист»
Промпт собирается из цели, контекста, задачи, ограничений, формата и критериев качества.
Communication Engineering · prompt contract

Промптинг не является поиском магической формулы. Это проектирование интерфейса между задачей и вероятностной моделью. Хороший промпт уменьшает пространство разумных, но ненужных ответов.

  1. Цель: зачем нужен результат.
  2. Контекст: факты и материалы.
  3. Задача: конкретное действие.
  4. Ограничения: что нельзя предполагать или делать.
  5. Формат: структура и объём.
  6. Критерии: как оценить качество.
  7. Неопределённость: когда остановиться и запросить данные.
Цель: подготовить ADR для выбора очереди.
Контекст: приложены нагрузка, SLA и навыки команды.
Задача: сравни три допустимых варианта и рекомендуй один.
Ограничения: не добавляй продукты, которых нет в материалах.
Формат: abstract, таблица компромиссов, решение, риски, пересмотр.
Проверка: каждое численное утверждение ссылается на входной документ.
Если данных не хватает, перечисли пробелы до рекомендации.

Zero-shot подходит, когда задача и формат известны модели из инструкции.

Few-shot добавляет несколько примеров, если важно показать границу классификации, стиль структуры или особый формат. Примеры должны быть репрезентативными и не содержать случайных признаков, которые модель скопирует.

Сложную задачу делите на внешне проверяемые этапы:

  1. извлечь факты;
  2. перечислить допущения;
  3. построить варианты;
  4. оценить по критериям;
  5. сформировать результат;
  6. провести отдельную проверку.

Не требуйте раскрывать скрытый внутренний ход рассуждений. Просите предоставить проверяемые основания, промежуточные артефакты, вычисления и ссылки.

Фраза «ты эксперт» иногда задаёт стиль, но не заменяет контекст и критерии. Полезнее описать функцию:

Проведи threat modeling как reviewer: найди границы доверия, активы, сценарии злоупотребления и меры. Не переписывай архитектуру до списка рисков.

Не добавляйте случайные ограничения после каждого плохого ответа. Сначала диагностируйте:

  • данных не хватает;
  • цель неоднозначна;
  • формат неверен;
  • модель не подходит;
  • задача требует инструмента;
  • проверка отсутствует.

Промпт не исправит отсутствие данных или полномочий.

Слабо

«Напиши идеальную документацию для проекта».

Сильнее

«По приложенному README создай quick start для backend-инженера, который впервые запускает проект на macOS. Не придумывай команды. Для каждого шага укажи ожидаемый результат и типичную ошибку. Пробелы собери отдельным списком».

  • не вставляйте секреты;
  • ограничивайте tool permissions;
  • подтверждайте необратимые действия;
  • валидируйте структурированный вывод;
  • защищайте от prompt injection во внешних данных;
  • логируйте значимые действия без лишних персональных данных;
  • используйте sandbox для кода.
Prompt contract

Перепиши один часто используемый промпт по семи полям. Создай три тестовых входа: обычный, граничный и с недостатком данных. Сравни не красоту ответа, а выполнение критериев.