ReAct Prompting
Изучи промптинг ReAct для создания автономных ИИ-агентов. Узнай, как рассуждение и действия дополняют друг друга при работе с LLM и инструментами компьютерного зрения, такими как Ultralytics YOLO26.
Подсказки ReAct (рассуждение и действие) — это продвинутый подход к разработке промптов, который позволяет большим языковым моделям (LLM) динамически чередовать пошаговые рассуждения с действиями, специфичными для задачи. Этот подход был представлен в известной научной работе 2022 года «ReAct: объединение рассуждения и действия в языковых моделях». Он превращает статическую языковую модель в интерактивного ИИ-агента. Явно формулируя размышления о задаче и выполняя действия для получения внешней информации, фреймворк ReAct значительно повышает фактическую точность и способность принимать решения в сложных процессах искусственного интеллекта.
Как работают рассуждение и действие#
При традиционном взаимодействии модель генерирует ответ, целиком полагаясь на внутренние знания, что часто приводит к галлюцинациям LLM. Архитектура ReAct решает эту проблему, связывая ИИ с внешней средой с помощью непрерывного цикла мыслей, действий и наблюдений.
Получив запрос, модель сначала формулирует «мысль», в которой описывает свою стратегию. Затем она выполняет «действие»: например, обращается к поисковой системе или базе данных либо вызывает API компьютерного зрения с помощью механизма, известного как вызов функции. Среда возвращает «наблюдение» с фактическими данными. Модель анализирует эту новую информацию, обновляет ход рассуждений и повторяет цикл, пока не сформирует окончательный ответ. Эта методика, подробнее описанная в руководстве по разработке промптов ReAct, имитирует решение задач человеком и обеспечивает высокую прозрачность и управляемость поведения агентов.
Примеры применения в реальных условиях#
Подсказки ReAct особенно эффективны в сценариях, требующих итеративного решения задач и многоэтапного использования инструментов, поэтому они стали основой современных агентных систем ИИ.
- Автоматизированные агенты поддержки клиентов: В корпоративной среде агенты ИТ-службы поддержки используют ReAct для решения проблем пользователей. Если пользователь сообщает о сбое сети, агент понимает, что нужно проверить состояние сервера. Он отправляет запрос к диагностическому API, анализирует результат, а затем либо передает заявку специалисту, либо предлагает инструкцию по устранению неполадки на основе полученных фактов. Это упрощает традиционные конвейеры генерации с дополненной выборкой (RAG).
- Динамический визуальный анализ: Системы компьютерного зрения применяют ReAct для сложных задач визуальных вопросов и ответов. Роботизированный агент, отвечающий за учет товаров, может осмотреть полку, понять, что нужно посчитать определенные товары, вызвать модель обнаружения объектов и использовать полученные данные ограничивающих рамок для подсчета. Такое взаимодействие объединяет текстовые рассуждения с пространственным восприятием.
Реализация ReAct для компьютерного зрения#
Разработчики, использующие Python, часто поручают агентам ReAct управлять моделями восприятия, которые взаимодействуют с физическим миром. Следующий концептуальный фрагмент кода показывает, как цикл рассуждений ReAct может без лишних усилий использовать модель Ultralytics YOLO26 в качестве внешнего инструмента для наблюдения за средой и передачи сведений о ней.
from ultralytics import YOLO
def vision_tool(image_path: str) -> str:
"""Action tool for a ReAct agent to detect objects in an image."""
model = YOLO("yolo26n.pt") # Load highly efficient YOLO26 nano model
results = model(image_path)
# Format the observation for the LLM's reasoning loop
detected_classes = [model.names[int(c)] for c in results[0].boxes.cls]
return f"Observation: Found {len(detected_classes)} objects: {', '.join(detected_classes)}"
# Simulated ReAct agent executing an action
agent_observation = vision_tool("https://ultralytics.com/images/bus.jpg")
print(agent_observation)Управление наборами данных и отслеживание экспериментов для таких инструментов компьютерного зрения можно упростить с помощью платформы Ultralytics, которая предлагает комплексные решения для современного развертывания ИИ. Тем, кто хочет создавать таких агентов с нуля, также стоит изучить основную логику в официальном репозитории ReAct.
Различия между связанными понятиями#
При разработке надежных мультимодальных архитектур, подобных описанным в недавних академических исследованиях по выравниванию, важно отличать ReAct от связанных инженерных подходов:
- В сравнении с подсказками с пошаговым рассуждением: Подсказки с пошаговым рассуждением (CoT) побуждают модель мыслить последовательно, но полностью полагаются на статические внутренние знания. ReAct развивает CoT, добавляя динамические «действия», которые позволяют получать новые внешние наблюдения в процессе рассуждения.
- В сравнении с цепочками промптов: Цепочки промптов — это жестко заданная последовательность отдельных вызовов LLM, в которой результат одного шага автоматически передается на следующий. ReAct — более автономный подход: один агент динамически выбирает, какие инструменты или последовательные действия использовать на основе текущих наблюдений, а не следует жестко заданному сценарию.
Объединяя логические выводы с использованием специализированных внешних инструментов, таких как мультимодальные модели, подсказки ReAct помогают создавать высокоэффективные универсальные системы ИИ.









