ReAct Prompting
Khám phá ReAct prompting để xây dựng các AI agent tự động. Tìm hiểu cách suy luận và hành động phối hợp nhịp nhàng với các LLM và những công cụ thị giác như Ultralytics YOLO26.
ReAct (Reasoning and Acting) prompting là một mô hình prompt engineering nâng cao, cho phép các Large Language Models (LLMs) đan xen một cách linh hoạt giữa các bước suy luận từng bước và các hành động cụ thể theo tác vụ. Được giới thiệu trong bài báo học thuật có tầm ảnh hưởng năm 2022 "ReAct: Synergizing Reasoning and Acting in Language Models", kỹ thuật này biến một mô hình ngôn ngữ tĩnh thành một AI agent có tính tương tác. Bằng cách thực hiện rõ ràng các suy nghĩ về một vấn đề và thực thi các hành động để truy xuất thông tin từ bên ngoài, framework ReAct cải thiện đáng kể độ chính xác về mặt thực tế và khả năng ra quyết định trong các quy trình artificial intelligence phức tạp.
Link to this sectionCơ chế của Reasoning and Acting#
Trong các tương tác truyền thống, một model tạo ra phản hồi hoàn toàn dựa trên kiến thức nội tại của nó, điều này thường dẫn đến tình trạng hallucinations in LLMs. Kiến trúc ReAct giải quyết vấn đề này bằng cách đưa AI vào các môi trường bên ngoài thông qua một vòng lặp liên tục của Thoughts (Suy nghĩ), Actions (Hành động) và Observations (Quan sát).
Khi đối mặt với một truy vấn, model trước tiên tạo ra một "Thought" để phác thảo chiến lược của nó. Sau đó, nó kích hoạt một "Action", chẳng hạn như truy vấn công cụ tìm kiếm, tương tác với cơ sở dữ liệu hoặc gọi một vision API thông qua khái niệm được gọi là function calling. Môi trường trả về một "Observation", cung cấp dữ liệu thực tế. Model đánh giá thông tin mới này, cập nhật suy luận của nó và lặp lại chu kỳ cho đến khi có câu trả lời cuối cùng. Phương pháp luận này, được trình bày chi tiết hơn trong Prompt Engineering Guide on ReAct, phản ánh cách giải quyết vấn đề của con người và thiết lập các hành vi của agent có tính minh bạch và kiểm soát cao.
Link to this sectionCác ứng dụng trong thực tế#
ReAct prompting vượt trội trong các tình huống đòi hỏi khả năng giải quyết vấn đề lặp đi lặp lại và sử dụng công cụ đa bước, khiến nó trở thành yếu tố cơ bản cho các agentic AI systems hiện đại.
- Automated Customer Support Agents: Trong môi trường doanh nghiệp, các agent hỗ trợ IT sử dụng ReAct để giải quyết vấn đề của người dùng. Nếu người dùng báo cáo sự cố mạng, agent sẽ suy luận rằng nó cần kiểm tra trạng thái máy chủ. Nó thực hiện bằng cách ping một diagnostic API, quan sát kết quả, sau đó đưa ra quyết định leo thang ticket hoặc cung cấp hướng dẫn xử lý sự cố dựa trên các sự kiện đã truy xuất, giúp hợp lý hóa các quy trình Retrieval-Augmented Generation (RAG) truyền thống.
- Dynamic Visual Analysis: Các hệ thống Computer vision tận dụng ReAct cho các tác vụ hỏi đáp trực quan phức tạp. Một robotic agent được giao nhiệm vụ quản lý kho hàng có thể quan sát kệ hàng, suy luận rằng nó cần đếm các mặt hàng cụ thể, hành động bằng cách gọi một model object detection và sử dụng dữ liệu bbox trả về để hoàn tất quá trình đếm. Sự phối hợp này thu hẹp khoảng cách giữa suy luận dựa trên văn bản và hiểu biết về không gian.
Link to this sectionTriển khai ReAct với Computer Vision#
Đối với các nhà phát triển sử dụng Python, các ReAct agent thường điều phối các perception model để tương tác với thế giới vật lý. Đoạn mã khái niệm sau đây minh họa cách một vòng lặp suy luận ReAct có thể triển khai một cách liền mạch model Ultralytics YOLO26 như một công cụ bên ngoài để quan sát và báo cáo về một môi trường.
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)Việc quản lý các tập dữ liệu và theo dõi các thí nghiệm cho các công cụ vision này có thể được hợp lý hóa hoàn toàn bằng cách sử dụng Ultralytics Platform, cung cấp các giải pháp toàn diện cho việc triển khai AI hiện đại. Những ai quan tâm đến việc xây dựng các agent này từ đầu cũng có thể nghiên cứu logic nền tảng trong official ReAct repository.
Link to this sectionPhân biệt các khái niệm liên quan#
Để thiết kế các kiến trúc đa phương thức mạnh mẽ như đã khám phá trong các nghiên cứu academic alignment research gần đây, việc phân biệt ReAct với các mô hình kỹ thuật liên quan là rất quan trọng:
- Vs. Chain-of-Thought Prompting: Chain-of-Thought (CoT) khuyến khích model suy nghĩ từng bước nhưng hoàn toàn dựa vào kiến thức tĩnh, nội tại. ReAct mở rộng CoT bằng cách đưa vào các "actions" động để thu thập các quan sát mới, bên ngoài trong quá trình suy luận.
- Vs. Prompt Chaining: Prompt chaining liên quan đến việc hardcode một chuỗi các lệnh gọi LLM riêng biệt, trong đó đầu ra của bước này được tự động đưa vào bước tiếp theo. ReAct là một mô hình tự chủ hơn, trong đó một agent duy nhất quyết định một cách linh hoạt những công cụ hoặc hành động tuần tự nào cần thực hiện dựa trên các quan sát liên tục, thay vì tuân theo một tập lệnh được xích lại một cách cứng nhắc.
Bằng cách hợp nhất suy luận logic với việc thực thi các công cụ chuyên dụng bên ngoài như Multi-Modal Models, ReAct prompting cho phép phát triển các hệ thống AI tổng quát, có năng lực cao.






