Промпт-инжиниринг: искусство формулирования запросов¶
В этом разделе мы разберем, как правильно формулировать запросы к ИИ-моделям, чтобы получать наилучшие результаты для юридических задач.
Что такое промпт-инжиниринг?¶
Простыми словами¶
Промпт-инжиниринг — это искусство и наука формулирования запросов к ИИ-моделям.
Аналогия: Как умение правильно задавать вопросы. Один и тот же вопрос, заданный по-разному, может дать совершенно разные ответы.
Пример:
- ❌ Плохо: "Договор"
- ✅ Хорошо: "Проанализируй договор аренды офисного помещения и найди потенциальные риски для арендатора. Укажи конкретные пункты договора и объясни, почему это риск."
Почему это важно для юристов?¶
Юридические задачи требуют:
- Точности — неправильный запрос может дать неточный ответ
- Структурированности — нужны определенные форматы ответов
- Контекста — важно учитывать все детали
- Соответствия стандартам — ответы должны соответствовать юридическим стандартам
Правильный промпт = правильный результат.
Базовые принципы¶
1. Будьте конкретны¶
❌ Плохо: "Проанализируй договор"
✅ Хорошо: "Проанализируй договор аренды нежилого помещения между ООО 'Альфа' (арендодатель) и ИП Иванов И.И. (арендатор). Найди риски для арендатора, связанные с условиями оплаты, ответственностью сторон и порядком расторжения договора."
Почему: Конкретика помогает модели понять, что именно нужно.
2. Задавайте структуру ответа¶
❌ Плохо: "Что не так с договором?"
✅ Хорошо: "Проанализируй договор и представь результаты в следующем формате:
1. Краткое резюме (2-3 предложения)
2. Список найденных рисков с указанием пунктов договора
3. Рекомендации по устранению рисков"
Почему: Структурированный запрос дает структурированный ответ.
3. Указывайте контекст¶
❌ Плохо: "Подготовь договор"
✅ Хорошо: "Подготовь проект договора поставки товаров. Контекст:
- Поставщик: ООО 'Поставщик', ИНН 1234567890
- Покупатель: ООО 'Покупатель', ИНН 9876543210
- Предмет: поставка офисной мебели
- Сумма: 1 000 000 рублей
- Срок поставки: 30 дней с момента подписания
- Условия оплаты: 50% предоплата, 50% после поставки"
Почему: Контекст помогает модели сгенерировать релевантный документ.
4. Используйте примеры (Few-shot learning)¶
Техника: Показываете модели несколько примеров желаемого результата.
Пример промпта:
Пример 1:
Вопрос: Какие риски в договоре аренды?
Ответ:
1. Риск: Отсутствие условия о порядке расторжения (п. 5.2)
Объяснение: При досрочном расторжении могут возникнуть споры
2. Риск: Несбалансированная ответственность (п. 7.1)
Объяснение: Арендатор несет полную ответственность, арендодатель - нет
Вопрос: [новый договор]
Ответ: [модель следует формату из примеров]
Преимущества: Модель учится на примерах и следует нужному формату.
5. Назначайте роль модели¶
❌ Плохо: "Проанализируй договор"
✅ Хорошо: "Ты опытный юрист, специализирующийся на договорном праве. Твоя задача — анализировать договоры и находить потенциальные риски. Проанализируй следующий договор..."
Почему: Назначение роли помогает модели "войти в роль" и давать более релевантные ответы.
Техники промпт-инжиниринга¶
Chain-of-Thought (CoT) — цепочка рассуждений¶
Что это: Просите модель показать свои рассуждения шаг за шагом.
Пример:
Задача: Проанализируй договор и найди риски.
Реши задачу пошагово:
1. Сначала прочитай весь договор и определи его тип
2. Затем проанализируй каждый раздел на предмет рисков
3. Для каждого найденного риска укажи:
- Конкретный пункт договора
- Почему это риск
- Какие последствия могут быть
4. В конце дай общую оценку рисковности договора
Преимущества:
- Более точные ответы
- Можно проверить логику
- Модель "думает" более структурированно
Zero-shot vs Few-shot¶
Zero-shot (без примеров)¶
Что это: Просто описываете задачу, не показывая примеров.
Пример:
Когда использовать: Для простых задач, когда формат ответа очевиден.
Few-shot (с примерами)¶
Что это: Показываете несколько примеров перед задачей.
Пример: (см. выше в разделе "Используйте примеры")
Когда использовать:
- Когда нужен специфический формат ответа
- Когда задача сложная
- Когда нужно, чтобы модель следовала определенному стилю
Role-playing (ролевая игра)¶
Что это: Назначаете модели роль эксперта.
Примеры ролей:
- "Ты опытный юрист по договорному праву"
- "Ты специалист по корпоративному праву"
- "Ты эксперт по налоговому праву"
- "Ты юрист, работающий с недвижимостью"
Преимущества: Модель использует знания, соответствующие роли.
Prompt chaining (цепочка промптов)¶
Что это: Разбиваете сложную задачу на несколько простых шагов.
Пример:
Шаг 1: Прочитай договор и выдели основные разделы
Шаг 2: Для каждого раздела определи ключевые условия
Шаг 3: Проанализируй каждое условие на предмет рисков
Шаг 4: Объедини результаты в итоговый анализ
Преимущества:
- Более точные результаты на каждом шаге
- Легче контролировать процесс
- Можно использовать результаты предыдущих шагов
Примеры: плохой vs хороший промпт¶
Пример 1: Анализ договора¶
❌ Плохо:
✅ Хорошо:
Ты опытный юрист, специализирующийся на договорном праве.
Проанализируй договор аренды нежилого помещения и найди потенциальные риски для арендатора.
Формат ответа:
1. Краткое резюме договора (2-3 предложения)
2. Список найденных рисков:
- Пункт договора
- Описание риска
- Объяснение, почему это риск
- Рекомендации по устранению
3. Общая оценка: низкий/средний/высокий риск
Договор:
[текст договора]
Пример 2: Генерация документа¶
❌ Плохо:
✅ Хорошо:
Ты помощник юриста, готовящий проекты договоров.
Подготовь проект договора поставки товаров со следующими условиями:
СТОРОНЫ:
- Поставщик: ООО "Поставщик", ИНН 1234567890, адрес: г. Москва, ул. Примерная, д. 1
- Покупатель: ООО "Покупатель", ИНН 9876543210, адрес: г. Санкт-Петербург, ул. Другая, д. 2
ПРЕДМЕТ ДОГОВОРА:
- Поставка офисной мебели (столы, стулья, шкафы)
- Количество: согласно спецификации
- Качество: соответствует ГОСТ
УСЛОВИЯ:
- Сумма договора: 1 000 000 рублей (НДС включен)
- Срок поставки: 30 календарных дней с момента подписания
- Оплата: 50% предоплата в течение 5 дней, 50% после поставки
- Ответственность: неустойка 0.1% за каждый день просрочки
- Споры: разрешаются в арбитражном суде г. Москвы
ТРЕБОВАНИЯ К ДОКУМЕНТУ:
- Используй точную юридическую терминологию
- Включи все необходимые разделы (преамбула, предмет, права и обязанности, ответственность, заключительные положения)
- Укажи реквизиты сторон в конце
- Следуй структуре типовых договоров поставки
Пример 3: Поиск прецедентов¶
❌ Плохо:
✅ Хорошо:
Ты юрист, работающий с судебной практикой.
Найди релевантные судебные решения по следующему вопросу:
ВОПРОС: Расторжение договора аренды нежилого помещения по инициативе арендодателя при отсутствии нарушения условий договора арендатором.
ТРЕБОВАНИЯ К ОТВЕТУ:
1. Найди не менее 3 релевантных решений
2. Для каждого решения укажи:
- Полные реквизиты (номер дела, дата, суд)
- Краткое описание обстоятельств дела
- Правовую позицию суда
- Применимость к данному случаю
3. Выдели общие тенденции в практике
4. Укажи ограничения и исключения
ВАЖНО: Указывай только реальные, проверяемые решения. Если не уверен в точности, укажи это.
Специфические техники для юридических задач¶
Анализ с указанием источников¶
Техника: Просите модель указывать конкретные пункты документов.
Пример:
При анализе всегда указывай:
- Конкретный пункт/статью документа
- Номер страницы (если применимо)
- Цитату из документа
- Свою интерпретацию
Сравнительный анализ¶
Техника: Просите сравнить несколько документов или вариантов.
Пример:
Сравни два варианта договора (вариант 1 и вариант 2) и определи:
1. Какие различия в условиях
2. Какие преимущества и недостатки каждого варианта
3. Какой вариант более выгоден для [стороны]
4. Рекомендации по выбору
Проверка соответствия¶
Техника: Просите проверить соответствие документа требованиям.
Пример:
Проверь договор на соответствие следующим требованиям:
- Законодательству РФ
- Внутренним регламентам компании (приложены)
- Отраслевым стандартам
Для каждого несоответствия укажи:
- Что не соответствует
- Какое требование нарушено
- Как исправить
Ресурсы для изучения¶
Prompting Guide¶
Сайт: promptingguide.ai
Что там:
- Обширная база техник промпт-инжиниринга
- Примеры для разных задач
- Лучшие практики
- Актуальная информация
Рекомендация: Обязательно изучите этот ресурс!
Другие ресурсы¶
- HuggingFace Prompting Guide: Руководство от HuggingFace
- OpenAI Cookbook: Примеры от OpenAI
- Anthropic Prompt Library: Библиотека промптов от Anthropic
Практические советы¶
Совет 1: Начинайте с простого
Не пытайтесь сразу создать идеальный промпт. Начните с простого, протестируйте, улучшайте.
Совет 2: Итеративный подход
Промпт-инжиниринг — это итеративный процесс. Тестируйте, улучшайте, снова тестируйте.
Совет 3: Сохраняйте хорошие промпты
Ведите библиотеку хороших промптов для разных задач. Это сэкономит время.
Совет 4: Тестируйте на реальных задачах
Тестируйте промпты на ваших реальных документах, а не на общих примерах.
Совет 5: Учитывайте модель
Разные модели могут по-разному реагировать на одни и те же промпты. Тестируйте на вашей модели.
Типичные ошибки¶
Ошибка 1: Слишком общий запрос¶
❌ "Договор" ✅ "Проанализируй договор аренды и найди риски для арендатора"
Ошибка 2: Отсутствие контекста¶
❌ "Подготовь документ" ✅ "Подготовь проект договора поставки со следующими условиями: [детали]"
Ошибка 3: Неясный формат ответа¶
❌ "Что не так?" ✅ "Найди риски и представь в формате: 1) Пункт договора, 2) Описание риска, 3) Рекомендации"
Ошибка 4: Игнорирование ограничений модели¶
❌ Запрос на анализ документа в 500 страниц за раз ✅ Разбейте на части или используйте RAG
Резюме¶
- Промпт-инжиниринг — ключевой навык для работы с ИИ в юридической практике
- Будьте конкретны — чем конкретнее запрос, тем лучше ответ
- Используйте структуру — структурированный запрос дает структурированный ответ
- Показывайте примеры — few-shot learning очень эффективен
- Назначайте роли — помогает модели "войти в роль"
- Итеративный подход — улучшайте промпты на основе результатов
Правильный промпт может превратить посредственную модель в отличного помощника. Потратьте время на изучение промпт-инжиниринга — это окупится.
В следующем разделе мы разберем RAG — технологию, которая позволяет моделям работать с вашими собственными документами.