ReAct: Kết hợp suy luận và hành động
Học kỹ thuật ReAct để AI không chỉ suy nghĩ mà còn tự tìm kiếm thông tin thực tế. Giải pháp cho câu hỏi cần dữ liệu thời sự và tính toán phức tạp.
Định nghĩa
ReAct (viết tắt của Reasoning + Acting) là kỹ thuật Prompt Engineering cho phép AI thực hiện vòng lặp "suy luận → hành động → quan sát": thay vì chỉ ngồi yên "suy nghĩ" trong đầu như Chain-of-Thought, AI sẽ chủ động "ra ngoài" tìm kiếm thông tin (tra Google, tính toán, truy vấn cơ sở dữ liệu) rồi tiếp tục suy luận dựa trên kết quả thu được — giống như một thám tử vừa phân tích án mạng vừa đi hỏi thêm nhân chứng.
Giải thích chi tiết
Tại sao AI cần "ra ngoài" tìm kiếm?
Bạn đã từng hỏi ChatGPT "Giá Bitcoin hôm nay bao nhiêu?" và nhận được câu trả lời về dữ liệu năm 2023 chưa? Đó là vì AI chỉ có "trí nhớ" tĩnh — kiến thức từ dữ liệu huấn luyện, không có khả năng tiếp cận internet hay máy tính thực tế.
Chain-of-Thought giúp AI suy luận logic tốt hơn, nhưng vẫn bị giới hạn bởi "bể chứa" kiến thức trong đầu. ReAct phá vỡ giới hạn này bằng cách cho phép AI thừa nhận "Tôi không biết điều này, tôi cần đi tìm" — một bước tiến hóa từ việc chỉ viết prompt sang việc thiết kế tool use (sử dụng công cụ).
Ba bước trong vòng lặp ReAct
ReAct tổ chức quá trình xử lý của AI thành chuỗi lặp lại ba bước, thường được đánh dấu rõ ràng trong prompt:
1. Thought (Suy luận) AI phân tích tình huống hiện tại: "Mình đã biết gì? Còn thiếu thông tin gì để trả lời?" Đây là bước tư duy nội tại, giống như giai đoạn "Planning" trong suy nghĩ của con người.
2. Action (Hành động)
Dựa trên suy luận, AI quyết định sử dụng một công cụ cụ thể. Cú pháp thường có dạng: Search[giá Bitcoin hôm nay] hoặc Calculator[(15000 * 12) / 365]. Đây là điểm khác biệt cốt lõi: AI không trả lời ngay mà "ra lệnh" cho hệ thống thực hiện một việc gì đó bên ngoài.
3. Observation (Quan sát) Hệ thống thực hiện hành động (ví dụ: gọi API tìm kiếm) và trả kết quả về cho AI. AI "đọc" kết quả này như một "dữ liệu cảm quan" mới, rồi quay lại bước Thought để tiếp tục phân tích.
Vòng lặp này lặp lại cho đến khi AI tích lũy đủ thông tin để đưa ra Final Answer.
Prompt mẫu cho ReAct
Để áp dụng ReAct, bạn cần "dạy" AI cách viết theo format chuẩn. Dưới đây là mẫu prompt cơ bản:
Bạn là trợ lý thông minh. Hãy trả lời câu hỏi bằng cách luân phiên suy nghĩ và hành động theo format:
Question: [Câu hỏi người dùng]
Thought 1: [Phân tích tình huống, xác định thông tin cần tìm]
Action 1: [Search/Calculator/Code][Input cụ thể]
Observation 1: [Kết quả trả về từ hành động]
(có thể lặp lại Thought 2, Action 2, Observation 2...)
Thought N: [Tổng hợp đủ thông tin]
Final Answer: [Đáp án cuối cùng cho người dùng]
Bắt đầu:
Question: GDP Việt Nam năm 2024 là bao nhiêu tỷ USD?Kết quả AI sẽ trả về:
Thought 1: Tôi không có dữ liệu GDP Việt Nam 2024 trong dữ liệu huấn luyện. Tôi cần tìm kiếm.
Action 1: Search[GDP Việt Nam 2024 tỷ USD]
Observation 1: Theo số liệu từ Tổng cục Thống kê, GDP Việt Nam năm 2024 đạt khoảng 430 tỷ USD.
Thought 2: Tôi đã có thông tin chính xác, có thể trả lời.
Final Answer: GDP Việt Nam năm 2024 ước tính đạt khoảng 430 tỷ USD.Ví dụ thực tế
Nghiên cứu thông tin thời sự
Tình huống: Bạn cần viết báo cáo về "tác động của thuế TTĐB đối với thị trường bia năm 2024".
Cách làm: Thay vì tự lên Google tìm rồi copy cho AI, bạn dùng ReAct để AI tự làm:
- Thought: "Cần biết mức thuế mới áp dụng từ khi nào, sản lượng bia sụt giảm bao nhiêu %"
- Action:
Search[thuế tiêu thụ đặc biệt bia 2024 mức thuế mới] - Observation: Thuế tăng từ 65% lên 75% từ tháng 1/2024
- Thought: "Cần tìm thêm số liệu sản lượng để so sánh"
- Action:
Search[sản lượng bia Việt Nam 2024 sụt giảm] - Observation: Sản lượng giảm 15% so với cùng kỳ
- Final Answer: Báo cáo tổng hợp có trích dẫn nguồn.
Tính toán phức tạp kết hợp tìm kiếm
Câu hỏi: "Thu nhập bình quân đầu người của Việt Nam năm 2024 so với Thái Lan chênh lệch bao nhiêu USD?"
Luồng ReAct:
- Thought: Cần cả hai chỉ số GNI per capita hoặc GDP per capita của cả hai nước.
- Action:
Search[GDP per capita Vietnam 2024 USD] - Observation: Khoảng 4.700 USD
- Thought: Đã có số Việt Nam, giờ cần số Thái Lan.
- Action:
Search[GDP per capita Thailand 2024 USD] - Observation: Khoảng 7.200 USD
- Thought: Tính hiệu số:
7.200 - 4.700 - Action:
Calculator[7200 - 4700] - Observation: 2.500
- Final Answer: Chênh lệch khoảng 2.500 USD, Thái Lan cao hơn.
Debug kỹ thuật đa bước
Tình huống: AI assistant trong IDE (như Copilot hoặc Claude Code) gặp lỗi runtime.
Luồng xử lý:
- Thought: "Lỗi
NullPointerExceptiontại dòng 45, có vẻ biếnuserchưa khởi tạo. Cần kiểm tra xem hàm nào gọi đến đây." - Action:
FindUsage[user variable] - Observation: Có 3 file gọi đến, trong đó
AuthService.javakhông kiểm tra null. - Thought: "Cần xem code AuthService để xác nhận."
- Action:
ReadFile[AuthService.java] - Observation: (Code hiển thị)
- Thought: "Thiếu check
if (user != null). Cần sửa và chạy test." - Action:
EditFile[thêm check null] - Observation: File đã sửa.
- Thought: "Cần verify fix bằng cách chạy test case."
- Action:
RunTest[AuthTest] - Observation: Test pass.
- Final Answer: "Đã fix lỗi NullPointerException bằng cách thêm check null tại AuthService.java."
Ứng dụng
Sinh viên và học sinh
- Viết tiểu luận: Tự động tra cứu số liệu thống kê mới nhất, thông tin khoa học từ arXiv hoặc Google Scholar mà không cần copy-paste thủ công.
- Giải bài tập phức tạp: Kết hợp suy luận toán học với tra cứu công thức vật lý/hóa học từ tài liệu tham khảo điện tử.
Người đi làm (Marketing, Tài chính, Kỹ thuật)
- Phân tích đối thủ: Tự động tìm kiếm giá cả sản phẩm đối thủ trên các sàn TMĐT, tin tức ra mắt sản phẩm mới, rồi tổng hợp báo cáo so sánh.
- Báo cáo tài chính: Tra cứu tỷ giá thực tế, lãi suất ngân hàng hiện hành để tính toán NPV hoặc các chỉ số đầu tư chính xác theo thời điểm.
Doanh nghiệp và Developer
- Chatbot tra cứu động: Xây dựng agent có thể kiểm tra tồn kho thực tế, giá cả theo khung giờ, hoặc lịch trình giao hàng trong thời gian thực.
- Auto-fix hệ thống: Agent tự động đọc log lỗi, tìm kiếm lỗi tương tự trong database, áp dụng patch và chạy test xác nhận — tất cả trong một luồng ReAct liên tục.
So sánh
| Đặc điểm | Chain-of-Thought (CoT) | ReAct | Tree-of-Thought (ToT) |
|---|---|---|---|
| Bản chất | Suy luận tuyến tính nội bộ | Suy luận xen kẽ hành động thực tế | Khám phá nhiều nhánh suy luận song song |
| Tương tác bên ngoài | Không | Có (tìm kiếm, tính toán, API) | Không (chỉ thử nghiệm ý tưởng nội bộ) |
| Dùng khi nào | Bài toán logic, toán học có đủ dữ kiện trong prompt | Cần dữ liệu thời sự, tính toán chính xác, hoặc tra cứu cơ sở dữ liệu | Bài toán có nhiều hướng giải, cần thử sai và so sánh |
| Tài nguyên | Ít (chỉ tokens suy nghĩ) | Nhiều (gọi API bên ngoài) | Nhiều nhất (phải sinh nhiều luồng suy nghĩ song song) |
| Ví dụ | "Tính tổng tiền sau khi giảm giá 20% rồi cộng thuế 10%" | "So sánh giá iPhone 16 tại các cửa hàng lớn hôm nay" | "Tìm đường đi ngắn nhất qua 5 thành phố với nhiều ràng buộc" |
Kết luận: CoT giúp AI "suy nghĩ sâu" nhưng chỉ trong đầu; ReAct giúp AI "suy nghĩ và làm việc" như một người thật có quyền tra cứu; ToT giúp AI "thử nghiệm nhiều phương án" trước khi chọn lời giải tốt nhất. Ba kỹ thuật này có thể kết hợp: dùng ToT để lập kế hoạch, ReAct để thu thập dữ liệu cho từng nhánh, rồi CoT để tổng hợp cuối cùng.
Bài viết liên quan
Cùng cụm: Kỹ thuật Prompt nâng cao
Chain-of-Thought: Bắt AI suy nghĩ từng bước
Nền tảng của suy luận — học cách bắt AI "nghĩ ra lời" thay vì đoán đáp án ngay
Tree-of-Thought: Khám phá nhiều hướng suy luận
Khi vấn đề có nhiều lời giải, cho AI thử nghiệm song song nhiều nhánh rồi chọn đường đi tốt nhất
Self-Consistency: Nhiều lần suy luận, chọn đáp án tốt nhất
Chạy cùng một câu hỏi nhiều lần và bầu chọn đáp án — cách giảm ảo giác đơn giản hiệu quả
Meta-Prompting: Dùng AI để viết prompt cho AI
Nâng cao: Không tự viết prompt, mà nhờ AI tối ưu hóa prompt giúp mình
Đọc tiếp
System Prompt & Thực chiến
Kết hợp ReAct vào System Prompt để xây dựng agent hoàn chỉnh với tính cách và quy trình làm việc ổn định
Nền tảng Context Engineering
ReAct là bước đệm tự nhiên sang Level 1: từ viết prompt đơn thuần sang thiết kế hệ thống cung cấp thông tin động cho AI
Tree-of-Thought: Khám phá nhiều hướng suy luận
Hiểu Tree-of-Thought — kỹ thuật prompt giúp AI tư duy như đánh cờ, xem xét nhiều khả năng thay vì chỉ một đường thẳng đơn điệu
Self-Consistency: Nhiều lần suy luận, chọn đáp án tốt nhất
Kỹ thuật Self-Consistency giúp AI trả lời chính xác hơn bằng cách suy luận nhiều lần và chọn đáp án đúng nhất. Phù hợp cho bài toán logic, toán học.