TROISINH
Prompt EngineeringKỹ thuật Prompt nâng cao

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:

  1. Thought: Cần cả hai chỉ số GNI per capita hoặc GDP per capita của cả hai nước.
  2. Action: Search[GDP per capita Vietnam 2024 USD]
  3. Observation: Khoảng 4.700 USD
  4. Thought: Đã có số Việt Nam, giờ cần số Thái Lan.
  5. Action: Search[GDP per capita Thailand 2024 USD]
  6. Observation: Khoảng 7.200 USD
  7. Thought: Tính hiệu số: 7.200 - 4.700
  8. Action: Calculator[7200 - 4700]
  9. Observation: 2.500
  10. 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 NullPointerException tại dòng 45, có vẻ biến user chư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.java khô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ểmChain-of-Thought (CoT)ReActTree-of-Thought (ToT)
Bản chấtSuy 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àiKhôngCó (tìm kiếm, tính toán, API)Không (chỉ thử nghiệm ý tưởng nội bộ)
Dùng khi nàoBài toán logic, toán học có đủ dữ kiện trong promptCần dữ liệu thời sự, tính toán chính xác, hoặc tra cứu cơ sở dữ liệuBà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

On this page