Prompt инжиниринг
Промпт-инжиниринг — это дисциплина по разработке и оптимизации промптов (запросов) для эффективного взаимодействия с большими языковыми моделями (LLM). Качество промпта напрямую определяет точность, релевантность и безопасность ответа модели. Эта область стремительно развивается, переходя от ручного подбора инструкций к созданию сложных агентных систем и использованию моделей со встроенными механизмами рассуждений.
Базовые принципы и структура промпта
Хотя единого стандарта не существует, эффективные промпты строятся на общих подходах, предлагаемых разными исследователями и компаниями (например, 6 стратегий от OpenAI или практические руководства от Anthropic).
- Эффективный промпт часто включает следующие компоненты:
- Роль (Persona): Задает контекст и стиль поведения модели ("Ты — старший научный сотрудник...").
- Инструкции (Instructions): Четкие, пошаговые указания, что нужно сделать.
- Контекст (Context): Необходимая информация для выполнения задачи.
- Примеры (Examples): Демонстрация желаемого формата или стиля (few-shot prompting).
- Формат вывода (Output Format): Указание на структуру ответа (например, JSON, Markdown).
Техники улучшения рассуждений (Reasoning)
Эти техники заставляют модель "думать" более структурированно.Важное замечание (Эмерджентность): Эффективность техники `Chain‑of‑Thought` проявляется только на больших моделях (≈100 млрд параметров и выше), модели меньшего размера демонстрируют несущественный эффект либо ухудшение результатов.
- Chain-of-Thought (CoT): Инструкция модели генерировать пошаговое рассуждение перед финальным ответом ("Думай по шагам").
- Вариации и альтернативы CoT:
- Self-Consistency: Генерация нескольких цепочек рассуждений и выбор наиболее частого ответа путем "голосования".
- Tree-of-Thoughts (ToT): Исследование нескольких путей рассуждений в виде дерева, с оценкой и возвратом на предыдущие шаги.
- Graph-of-Thought (GoT): Продвинутая техника, имеющая две основные реализации: одна моделирует рассуждения как граф для более гибких логических потоков (Besta et al.), другая фокусируется на слиянии путей рассуждений (Yao et al.).
- Встроенные механизмы рассуждений (Reasoning Models): Сообщается о разработке нового поколения моделей (таких как o1 и o3 от OpenAI), которые изначально обучаются с внутренними цепочками рассуждений. Это позволяет им выполнять сложные задачи без явного CoT-промптинга.
Управление контекстом и работа с памятью
С ростом контекстных окон появляются новые вызовы и решения.
- Контекстные окна (2024-2025):
| Модель | Максимальное контекстное окно |
|---|---|
| Google Gemini 2.0 Pro | 2 млн токенов |
| Google Gemini 1.5 Pro | 2 млн токенов |
| Anthropic Claude 3.5 Sonnet | ~200 тыс токенов |
| OpenAI GPT-4o | ~128 тыс токенов |
Начиная с марта 2025 года, Google Gemini 2.5 Pro представлен с контекстным окном в 1 млн токенов, а версия Pro-Experimental обещает 2 млн токенов в мае 2025.
- Retrieval-Augmented Generation (RAG): Классический RAG дополняет промпт информацией из внешних баз данных. Современные реализации включают:
- GraphRAG: Использует графы знаний для извлечения более семантически связанных данных.
- Мультимодальный RAG: Работает не только с текстом, но и с изображениями, аудио и видео.
- Agentic RAG: Интегрирует RAG в агентные циклы, где агент самостоятельно решает, когда и какую информацию искать.
- Техники для длинного контекста: Для эффективной работы с большими окнами используются продвинутые, но часто проприетарные техники, такие как Cascading KV Cache и Infinite Retrieval.
Продвинутые техники: агенты и инструменты
- Использование инструментов (Tool Usage):
- Function Calling: Встроенная в модели (GPT-4, Claude 3.5) возможность вызывать внешние API.
- Model Context Protocol (MCP): Согласно некоторым предварительным отчётам (требуется подтверждение), развивается новый стандарт для унификации API инструментов, поддерживаемый Microsoft.
- Агенты и фреймворки (2024-2025):
- LangChain (v0.3): С выходом LangChain v0.3 (сентябрь 2024) фреймворк полностью перешёл на Pydantic 2 и прекратил поддержку Python 3.8 в соответствии с EOL-сроком в октябре 2024.[1]
- AutoGen: Полностью перешел на асинхронную, событийно-ориентированную архитектуру (actor model).
- CrewAI: Быстро набирающий популярность высокопроизводительный фреймворк для оркестрации многоагентных систем.
- No-code платформы: Инструменты вроде AutoGen Studio позволяют создавать и настраивать сложных агентов без написания кода.
Техники снижения галлюцинаций
Галлюцинации (генерация фактически неверной информации) остаются ключевой проблемой. По данным на 2024 год, их уровень варьируется от 3% до 16% у ведущих моделей, а экономический ущерб от них оценивается в десятки миллиардов долларов.
- Классические методы: RAG, запрос цитирования, настройка параметров генерации (температура, top-p).
- Современные подходы к выравниванию (Alignment):
- Constitutional AI (CAI): Метод, предложенный Anthropic, где модель обучается следовать набору принципов ("конституции"), используя AI-сгенерированную обратную связь.
- Direct Preference Optimization (DPO): Более простая и эффективная альтернатива RLHF. Исследования DPO в мультимодальных VLMs (например, для радиологических отчётов) фиксируют снижение галлюцинаций в 3–4.8 раза.
Паттерны промптов: актуальное состояние
Многие паттерны (Persona, Output Customization) остаются актуальными.
- Требуют переосмысления:
- Fact Check List Pattern: Признан ненадежным. Модели плохо справляются с самопроверкой фактов через промптинг и требуют интеграции с внешними верификационными системами.
- Новые паттерны (2024-2025):
- Meta-prompting: Использование одной LLM для генерации и оптимизации промптов для другой LLM.
- Mixture-of-Experts (MoE) Prompts: Создание промптов, которые динамически обращаются к разным "экспертным" частям модели.
- Мультимодальные паттерны: Структуры промптов, включающие текст, изображения и другие типы данных для комплексных запросов.
Ссылки
- Anthropic Prompt Engineering Guide
- OpenAI Prompt Engineering Guide
- Google's Prompting Guide
- PromptingGuide.ai
- Amazon Bedrock
Литература
- Radford, A. et al. (2019). Language Models are Unsupervised Multitask Learners. PDF.
- Brown, T. B. et al. (2020). Language Models are Few-Shot Learners. arXiv:2005.14165.
- Li, X. L.; Liang, P. (2021). Prefix-Tuning: Optimizing Continuous Prompts for Generation. arXiv:2101.00190.
- Liu, Y. et al. (2021). Fantastically Ordered Prompts and Where to Find Them: Overcoming Few-Shot Prompt Order Sensitivity. arXiv:2104.08786.
- Bai, Y. et al. (2022). Constitutional AI: Harmlessness from AI Feedback. arXiv:2212.08073.
- Kojima, T. et al. (2022). Large Language Models are Zero-Shot Reasoners. arXiv:2205.11916.
- Wang, X. et al. (2022). Self-Consistency Improves Chain of Thought Reasoning in Language Models. arXiv:2203.11171.
- Wei, J. et al. (2022). Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. arXiv:2201.11903.
- Zhang, Z. et al. (2022). Automatic Chain of Thought Prompting in Large Language Models. arXiv:2210.03493.
- Zhou, D. et al. (2022). Least-to-Most Prompting Enables Complex Reasoning in Large Language Models. arXiv:2205.10625.
- Besta, M. et al. (2023). Graph of Thoughts: Solving Elaborate Problems with Large Language Models. arXiv:2308.09687.
- Madaan, A. et al. (2023). Self-Refine: Iterative Refinement with Self-Feedback. arXiv:2303.17651.
- Rafailov, R. et al. (2023). Direct Preference Optimization: Your Language Model is Secretly a Reward Model. arXiv:2305.18290.
- Schick, T. et al. (2023). Toolformer: Language Models Can Teach Themselves to Use Tools. arXiv:2302.04761.
- Wang, Y. et al. (2023). Self-Instruct: Aligning Language Models with Self-Generated Instructions. arXiv:2212.10560.
- Yao, S. et al. (2023). Tree of Thoughts: Deliberate Problem Solving with Large Language Models. arXiv:2305.10601.
- Chang, K. et al. (2024). Efficient Prompting Methods for Large Language Models: A Survey. arXiv:2404.01077.
- Genkina, D. (2024). AI Prompt Engineering Is Dead. IEEE Spectrum. [2].
- Li, Z. et al. (2024). Prompt Compression for Large Language Models: A Survey. arXiv:2410.12388.
- Liang, X. et al. (2024). Internal Consistency and Self-Feedback in Large Language Models: A Survey. arXiv:2407.14507.
- Li, W. et al. (2025). A Survey of Automatic Prompt Engineering: An Optimization Perspective. arXiv:2502.11560.
- Wu, Z. et al. (2025). The Dark Side of Function Calling: Pathways to Jailbreaking Large Language Models. EMNLP 2025. PDF.
- Yang, B. et al. (2025). Hallucination Detection in Large Language Models with Metamorphic Relations. arXiv:2502.15844.
Примечания