Prompt Engineering nâng cao: Kỹ thuật "Chain-of-Thought" và "ReAct" giúp AI suy luận logic như con người

AI Hunter

Member
Bạn hỏi AI: "Tôi có 3 quả táo. Tôi ăn 1 quả, rồi mua thêm 2 quả. Sau đó tôi chia đôi số táo cho bạn. Tôi còn mấy quả?"
AI (trả lời nhanh): "Bạn còn 1 quả." (Sai bét! Đáp án đúng là 2).

Tại sao AI sai? Vì nó cố gắng nhảy cóc đến kết quả ngay lập tức giống như một học sinh lười tính nhẩm.
Để khắc phục, chúng ta không cần Fine-tune tốn kém. Chúng ta chỉ cần thay đổi cách hỏi (Prompt Engineering) với 2 kỹ thuật đỉnh cao: **CoT** và **ReAct**.

Prompt Engineering nâng cao Kỹ thuật Chain-of-Thought và ReAct giúp AI suy luận logic như con ...jpg

1. Chain-of-Thought (CoT): Chuỗi suy luận​

Bản chất của CoT là ép AI "nghĩ lớn tiếng" (Think out loud). Khi AI viết ra các bước giải, nó tự tạo ra ngữ cảnh (Context) cho chính mình để suy luận bước tiếp theo chính xác hơn.

Cách 1: Zero-shot CoT (Dành cho người lười)
Chỉ cần thêm câu thần chú: "Let's think step by step" (Hãy suy nghĩ từng bước một) vào cuối câu lệnh.

* Prompt cũ: "Giải bài toán trên." -> Kết quả sai.
* Prompt mới: "Giải bài toán trên. Hãy suy nghĩ từng bước một."
-> AI suy luận:
1. Ban đầu có 3 quả.
2. Ăn 1 quả -> Còn 3 - 1 = 2.
3. Mua thêm 2 quả -> Có 2 + 2 = 4.
4. Chia đôi -> 4 / 2 = 2.
-> Kết luận: Bạn còn 2 quả. (Chính xác!)

Cách 2: Few-shot CoT (Dành cho Pro)
Bạn mớm cho AI một vài ví dụ mẫu về cách suy luận trước khi hỏi câu thật.

Mã:
Hỏi: Roger có 5 quả bóng tennis. Anh ấy mua thêm 2 hộp, mỗi hộp có 3 quả. Anh ấy có bao nhiêu quả?
Đáp: Roger bắt đầu với 5 quả. 2 hộp chứa 3 quả mỗi hộp nghĩa là 6 quả. 5 + 6 = 11. Đáp án là 11.

Hỏi: (Câu hỏi thực tế của bạn ở đây)...

2. ReAct: Reason + Act (Suy luận và Hành động)​

Nếu CoT chỉ là suy nghĩ trong đầu, thì **ReAct** là suy nghĩ kết hợp với hành động thực tế (dùng Tool). Đây là nền tảng của các AI Agent hiện đại.

Cấu trúc của ReAct gồm vòng lặp 3 bước:
1. **Thought (Suy nghĩ):** Mình cần làm gì?
2. **Action (Hành động):** Gọi hàm/Tool nào? (Search Google, Tra cứu Database...)
3. **Observation (Quan sát):** Kết quả trả về là gì?
... Lặp lại cho đến khi ra kết quả cuối.



3. Thực hành: Viết Prompt ReAct thủ công (Python)​

Chúng ta thường dùng LangChain để làm việc này, nhưng để hiểu sâu bản chất, hãy thử viết một Prompt ReAct thô gửi cho OpenAI.

Python:
from openai import OpenAI

client = OpenAI()

# Prompt ReAct mẫu cực mạnh
react_prompt = """
Bạn là một trợ lý thông minh. Để trả lời câu hỏi, bạn hãy tuân theo định dạng sau:

Question: Câu hỏi của người dùng
Thought: Bạn cần suy nghĩ xem phải làm gì tiếp theo
Action: Tên công cụ cần dùng (ví dụ: calculator, search)
Action Input: Tham số cho công cụ
Observation: Kết quả từ công cụ (tôi sẽ cung cấp phần này)
... (Lặp lại Thought/Action/Observation)
Final Answer: Câu trả lời cuối cùng cho người dùng

Công cụ hiện có:
- calculator: Dùng để tính toán toán học chính xác.

Bắt đầu!
Question: {question}
"""

def calculator(expression):
    return eval(expression)

# Giả lập vòng lặp ReAct (Đơn giản hóa)
question = "50 đô la đổi ra bao nhiêu tiền Việt nếu tỷ giá là 25400, cộng thêm phí 2%?"
history = react_prompt.format(question=question)

# Bước 1: AI Suy nghĩ và đề xuất Action
response = client.chat.completions.create(
    model="gpt-4", messages=[{"role": "user", "content": history}]
)
print(response.choices[0].message.content)

# Output giả định của AI sẽ là:
# Thought: Tôi cần tính 50 * 25400 trước, sau đó cộng thêm 2%.
# Action: calculator
# Action Input: 50 * 25400 * 1.02

# Bước 2: Bạn (Code) thực thi Action và nối kết quả vào history để AI chốt đáp án
# ... (Code xử lý chuỗi và gọi hàm calculator)

4. Khi nào dùng cái nào?​

  • Standard Prompt: Dùng cho tác vụ sáng tạo, viết mail, chat chit (Nhanh, rẻ).
  • CoT: Dùng cho toán đố, logic, lập trình, suy luận y khoa (Chính xác hơn, tốn nhiều token hơn).
  • ReAct: Dùng khi cần tương tác với thế giới thực (Search web, Query SQL) hoặc cần độ chính xác tuyệt đối mà LLM không làm được (nhân chia số lớn).

Kết luận​

Prompt Engineering không chỉ là "gõ chữ". Đó là nghệ thuật điều khiển luồng suy nghĩ của máy móc. Thay vì tốn hàng ngàn đô để Fine-tune model, đôi khi bạn chỉ cần thêm một câu "Let's think step by step" là đủ để nâng tầm AI của bạn.
 
Back
Top