ReAct Prompting
Scopri il prompting ReAct per creare agenti di IA autonomi. Scopri come ragionamento e azione si combinano con gli LLM e gli strumenti di visione come Ultralytics YOLO26.
Il prompting ReAct (ragionamento e azione) è un paradigma avanzato di prompt engineering che consente ai grandi modelli linguistici (LLM) di alternare dinamicamente tracce di ragionamento passo dopo passo e azioni specifiche per l'attività. Presentata nell'influente pubblicazione accademica del 2022 "ReAct: Synergizing Reasoning and Acting in Language Models", questa tecnica trasforma un modello linguistico statico in un agente IA interattivo. Generando esplicitamente pensieri su un problema ed eseguendo azioni per recuperare informazioni esterne, il framework ReAct migliora notevolmente l'accuratezza fattuale e le capacità decisionali nei flussi di lavoro complessi dell'intelligenza artificiale.
Meccanismi di ragionamento e azione#
Nelle interazioni tradizionali, un modello genera una risposta basandosi interamente sulle proprie conoscenze interne, il che spesso porta ad allucinazioni negli LLM. L'architettura ReAct risolve questo problema ancorando l'IA agli ambienti esterni tramite un ciclo continuo di pensieri, azioni e osservazioni.
Quando riceve una richiesta, il modello genera innanzitutto un "pensiero" per definire la propria strategia. Avvia quindi un'"azione", come eseguire una ricerca sul Web, interagire con un database o chiamare un'API di visione tramite un concetto noto come invocazione di funzioni. L'ambiente restituisce un'"osservazione" con dati fattuali. Il modello valuta queste nuove informazioni, aggiorna il proprio ragionamento e ripete il ciclo finché non arriva alla risposta finale. Questa metodologia, descritta più nel dettaglio nella guida al prompt engineering su ReAct, rispecchia la risoluzione dei problemi umana e consente comportamenti degli agenti altamente trasparenti e controllabili.
Applicazioni nel mondo reale#
Il prompting ReAct è particolarmente efficace negli scenari che richiedono una risoluzione iterativa dei problemi e l'uso di strumenti in più passaggi, risultando fondamentale per i moderni sistemi di IA agentica.
- Agenti automatizzati per l'assistenza clienti: negli ambienti aziendali, gli agenti dell'help desk IT usano ReAct per risolvere i problemi degli utenti. Se un utente segnala un'interruzione della rete, l'agente deduce che deve controllare lo stato del server. Quindi esegue un ping a un'API diagnostica, ne osserva il risultato e infine inoltra il ticket o fornisce una guida alla risoluzione dei problemi basata sui fatti recuperati, ottimizzando le tradizionali pipeline di generazione aumentata dal recupero (RAG).
- Analisi visiva dinamica: i sistemi di visione artificiale sfruttano ReAct per rispondere a domande visive complesse. Un agente robotico incaricato della gestione dell'inventario potrebbe osservare uno scaffale, dedurre che deve contare alcuni articoli, avviare un modello di rilevamento degli oggetti e usare i dati dei riquadri di delimitazione restituiti per completare il conteggio. Questa sinergia colma il divario tra ragionamento basato sul testo e comprensione spaziale.
Implementare ReAct con la visione artificiale#
Per gli sviluppatori che usano Python, gli agenti ReAct orchestrano spesso modelli di percezione per interagire con il mondo fisico. Il seguente codice concettuale mostra come un ciclo di ragionamento ReAct possa distribuire senza difficoltà un modello Ultralytics YOLO26 come strumento esterno per osservare e descrivere un ambiente.
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)La gestione dei dataset e il monitoraggio degli esperimenti per questi strumenti di visione possono essere semplificati completamente con la Ultralytics Platform, che offre soluzioni complete per la distribuzione moderna dell'IA. Chi vuole creare questi agenti da zero può anche studiare la logica fondamentale nel repository ufficiale di ReAct.
Distinguere i concetti correlati#
Per progettare architetture multimodali robuste, come quelle esplorate nelle recenti ricerche accademiche sull'allineamento, è fondamentale distinguere ReAct da schemi di progettazione correlati:
- Vs. prompting a catena di pensiero: la catena di pensiero (CoT) incoraggia il modello a ragionare passo dopo passo, ma si basa interamente su conoscenze interne statiche. ReAct estende CoT introducendo "azioni" dinamiche che raccolgono nuove osservazioni esterne durante il processo di ragionamento.
- Vs. concatenazione di prompt: la concatenazione di prompt prevede una sequenza codificata in modo rigido di chiamate LLM separate, in cui l'output di un passaggio viene trasferito automaticamente al successivo. ReAct è un paradigma più autonomo, nel quale un singolo agente decide dinamicamente quali strumenti o azioni sequenziali usare in base alle osservazioni in corso, anziché seguire uno script rigidamente concatenato.
Unificando la deduzione logica con l'esecuzione di strumenti esterni specializzati come i modelli multimodali, il prompting ReAct consente di sviluppare sistemi di IA altamente capaci e generalizzati.









