/
Вопросы и ответы
/
Промт-инжиниринг
/

Как попросить модель улучшить собственный запрос?

Как попросить модель улучшить собственный запрос?

17 дней назад

Никита Вихров

Ответы

0

Как попросить модель улучшить собственный запрос

Если запрос к модели даёт плохой результат, не всегда понятно, что именно исправить. Можно попросить модель самостоятельно переписать запрос так, чтобы получить более точный ответ.

Это называют мета-промптингом: модель работает не с задачей, а с формулировкой задачи.

Когда это полезно

  • Когда вы знаете, что хотите получить, но не знаете, как это точно сформулировать.
  • Когда пользователь задаёт вопрос расплывчато, и нужно уточнить его перед основным вызовом.
  • Когда хотите автоматически усиливать пользовательские запросы перед отправкой в систему.

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

from openai import OpenAI

client = OpenAI()

REWRITE_SYSTEM = """Ты эксперт по формулировке запросов к языковым моделям.
Получив слабый запрос, ты переписываешь его: добавляешь контекст, цель,
ограничения и желаемый формат ответа.
Возвращай только улучшенный запрос — без объяснений."""

def improve_prompt(weak_prompt: str) -> str:
    resp = client.chat.completions.create(
        model="gpt-4.1",
        temperature=0.3,
        max_tokens=512,
        messages=[
            {"role": "system", "content": REWRITE_SYSTEM},
            {"role": "user", "content": weak_prompt}
        ]
    )
    return resp.choices[0].message.content

слабый = "расскажи про docker"
сильный = improve_prompt(слабый)
print(сильный)

Пример: двухшаговый вызов в одном пайплайне

def ask_with_rewrite(user_text: str) -> dict:
    improved = improve_prompt(user_text)

    resp = client.chat.completions.create(
        model="gpt-4.1",
        temperature=0.3,
        max_tokens=1024,
        messages=[{"role": "user", "content": improved}]
    )

    return {
        "original_prompt": user_text,
        "improved_prompt": improved,
        "answer": resp.choices[0].message.content
    }

результат = ask_with_rewrite("расскажи про docker")
print(результат["improved_prompt"])
print(результат["answer"])

Правила

  • Показывайте пользователю улучшенный запрос — это повышает доверие к системе.
  • Логируйте оба варианта: это помогает понять, в каком направлении модель «тянет» запросы.
  • Не используйте мета-промптинг для коротких чётких запросов — только добавит лишний вызов.

17 дней назад

Никита Вихров

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845