Prompt Engineering
Освой разработку промптов для ИИ и компьютерного зрения. Узнай, как оптимизировать входные данные для больших языковых и мультимодальных моделей, таких как Ultralytics YOLO26, чтобы получать превосходные результаты.
Промпт-инжиниринг — это стратегический процесс проектирования, доработки и оптимизации входного текста, который направляет модели искусственного интеллекта (AI) на создание точных, релевантных и высококачественных результатов. Изначально получив известность с появлением больших языковых моделей (LLMs), таких как GPT-4, эта дисциплина превратилась в важный навык взаимодействия с системами генеративного ИИ в различных модальностях, включая текст, изображения и видео. В отличие от изменения исходных весов модели путем повторного обучения, промпт-инжиниринг использует уже имеющиеся у модели знания, формулируя задачу так, чтобы система могла наилучшим образом ее понять и устранить разрыв между намерениями человека и выполнением задачи машиной.
Механика эффективного составления промптов#
В основе промпт-инжиниринга лежит понимание того, как базовые модели обрабатывают контекст и инструкции. Грамотно составленный промпт снижает неоднозначность за счет явных ограничений, указания желаемых форматов вывода (например, JSON или Markdown) и релевантной справочной информации. Опытные специалисты используют такие методы, как обучение на небольшом числе примеров, при котором пользователь добавляет в промпт несколько пар входных и выходных данных, чтобы продемонстрировать желаемый шаблон.
Еще одна мощная стратегия — промптинг с пошаговым рассуждением, который побуждает модель разбивать сложные задачи на промежуточные шаги. Это значительно повышает производительность при выполнении запросов, требующих интенсивного логического анализа. Кроме того, оптимизация использования контекстного окна — ограничения на объем текста, который модель может обработать за один раз, — крайне важна для сохранения связности в длительных взаимодействиях. Внешние ресурсы, такие как руководство OpenAI по разработке промптов, подчеркивают важность итеративной доработки для эффективной обработки нестандартных случаев.
Применение в компьютерном зрении#
Хотя промпт-инжиниринг чаще связывают с текстом, он приобретает все большее значение в компьютерном зрении (CV). Современные мультимодальные модели и детекторы с открытым словарем, такие как YOLO-World, позволяют пользователям задавать цели обнаружения с помощью обработки естественного языка (NLP), а не заранее определенных числовых идентификаторов классов.
В этом контексте «промпт» — это текстовое описание объекта (например, «человек в красном шлеме»). Эта возможность, известная как обучение без примеров, позволяет системам обнаруживать объекты, на которых они явно не обучались, используя выученные связи между визуальными признаками и семантическими эмбеддингами. В высокоскоростных производственных средах с фиксированными классами разработчики со временем могут перейти от моделей, управляемых промптами, к эффективным моделям с повторным обучением, таким как YOLO26, однако промпт-инжиниринг остается ключевым инструментом для быстрого прототипирования и гибкости.
Практические применения#
Промпт-инжиниринг приносит пользу в самых разных отраслях, обеспечивая гибкую и интеллектуальную автоматизацию:
- Динамическая аналитика изображений: В сфере ИИ в розничной торговле управляющие магазинов используют модели компьютерного зрения, работающие на основе промптов, чтобы искать определенные товары без участия технических специалистов. Систему можно попросить отслеживать «пустые полки» в один день и «неправильно размещенные товары» — в другой. Такая гибкость позволяет компаниям немедленно адаптировать свои системы обнаружения объектов к сезонным тенденциям.
- Автоматизированное создание контента: Маркетинговые команды используют подробные промпты для управления генераторами текста в изображение, такими как Stable Diffusion или Midjourney. Формулируя промпты с указанием освещения, художественного стиля и композиции, дизайнеры могут быстро создавать визуальные материалы.
- Интеллектуальный поиск знаний: В службах поддержки инженеры разрабатывают «системные промпты», которые инструктируют чат-ботов отвечать на запросы, используя только проверенные данные компании. Это ключевой компонент генерации с дополнением поиска (RAG), который помогает ИИ сохранять полезный стиль общения и избегать галлюцинаций в LLMs.
Реализация с Ultralytics#
В следующем примере показано, как промпт-инжиниринг программно применяется с использованием пакета ultralytics. Здесь используется модель YOLO-World, которая принимает текстовые промпты для динамического задания объектов, подлежащих поиску, в отличие от стандартных моделей, таких как YOLO26, использующих фиксированные списки классов.
from ultralytics import YOLO
# Load a YOLO-World model capable of interpreting text prompts
model = YOLO("yolov8s-world.pt")
# Apply prompt engineering to define custom classes dynamically
# The model maps these text descriptions to visual features
model.set_classes(["person in safety vest", "forklift", "blue hardhat"])
# Run inference on an image
results = model.predict("https://ultralytics.com/images/bus.jpg")
# Show results - the model only detects objects matching the prompts
results[0].show()Различие между связанными понятиями#
Для эффективного развертывания решений на основе ИИ через Ultralytics Platform важно отличать промпт-инжиниринг от схожих методов оптимизации:
- Промпт-инжиниринг и настройка промптов: Промпт-инжиниринг подразумевает ручное составление входных данных на естественном языке. В отличие от него, настройка промптов — это метод дообучения с эффективным использованием параметров (PEFT), в рамках которого на этапе обучения модель осваивает «мягкие промпты» (непрерывные векторные эмбеддинги). Эти мягкие промпты представляют собой математические оптимизации, невидимые для пользователя.
- Промпт-инжиниринг и дообучение: Дообучение навсегда изменяет веса модели с использованием определенного набора данных для обучения, чтобы адаптировать ее к конкретной задаче. Промпт-инжиниринг не изменяет саму модель, а лишь оптимизирует входные данные во время вывода в реальном времени.
- Промпт-инжиниринг и инъекция промптов: В то время как промпт-инжиниринг носит конструктивный характер, инъекция промптов представляет собой уязвимость системы безопасности, при которой вредоносные входные данные заставляют модель игнорировать ограничения безопасности. Для обеспечения безопасности ИИ необходима надежная защита от таких атакующих промптов.









