Bỏ qua tới nội dung
Bài 7/12 · Khoá học AI Agent (Hugging Face)

Thought: suy luận nội bộ và cách tiếp cận ReAct

Bước Thought của agent, các kiểu suy nghĩ thường gặp, kỹ thuật Chain-of-Thought và ReAct, và model được huấn luyện để suy nghĩ trước khi trả lời.

Cơ bản@shine19045 phút đọc

Thought (suy nghĩ) thể hiện quá trình suy luận và lập kế hoạch nội bộ của agent để giải quyết tác vụ.

Bước này tận dụng khả năng của LLM trong agent để phân tích thông tin khi được đưa vào prompt, về bản chất là độc thoại nội tâm của nó khi xử lý một vấn đề.

Suy nghĩ của agent giúp nó đánh giá các observation hiện tại và quyết định (các) hành động tiếp theo. Qua quá trình này, agent có thể chia vấn đề phức tạp thành các bước nhỏ, dễ xử lý hơn, nhìn lại trải nghiệm trước đó và liên tục điều chỉnh kế hoạch dựa trên thông tin mới.

Ví dụ về các kiểu suy nghĩ thường gặp

Kiểu suy nghĩVí dụ
Lập kế hoạch"Mình cần chia tác vụ này thành ba bước: 1) thu thập dữ liệu, 2) phân tích xu hướng, 3) tạo báo cáo"
Phân tích"Dựa trên thông báo lỗi, vấn đề có vẻ nằm ở tham số kết nối cơ sở dữ liệu"
Ra quyết định"Xét giới hạn ngân sách của người dùng, mình nên đề xuất lựa chọn tầm trung"
Giải quyết vấn đề"Để tối ưu đoạn code này, trước hết mình nên profile để tìm điểm nghẽn"
Tích hợp trí nhớ"Người dùng đã nói trước đó là thích Python, nên mình sẽ đưa ví dụ bằng Python"
Tự phản tư"Cách làm vừa rồi không hiệu quả, mình nên thử chiến lược khác"
Đặt mục tiêu"Để hoàn thành tác vụ này, trước hết mình cần xác định tiêu chí chấp nhận"
Xếp thứ tự ưu tiên"Lỗ hổng bảo mật nên được xử lý trước khi thêm tính năng mới"

Lưu ý: với các LLM được fine-tuning cho function-calling, quá trình suy nghĩ là tuỳ chọn. Chi tiết sẽ được nói ở bài Action.

Chain-of-Thought (CoT)

Chain-of-Thought (CoT) là một kỹ thuật prompt hướng dẫn model suy nghĩ từng bước qua vấn đề trước khi đưa ra câu trả lời cuối cùng.

Thường bắt đầu bằng:

"Let's think step by step." (Hãy suy nghĩ từng bước.)

Cách này giúp model suy luận nội bộ, đặc biệt với các tác vụ logic hoặc toán học, mà không cần tương tác với tool bên ngoài.

Ví dụ (CoT)

code
Question: What is 15% of 200?
Thought: Let's think step by step. 10% of 200 is 20, and 5% of 200 is 10, so 15% is 30.
Answer: 30

ReAct: Reasoning + Acting

Một phương pháp then chốt là cách tiếp cận ReAct, kết hợp "Reasoning" (suy luận, Think) với "Acting" (hành động, Act).

ReAct là kỹ thuật prompt khuyến khích model suy nghĩ từng bước và xen kẽ các hành động (như dùng tool) giữa các bước suy luận.

Nhờ đó agent giải được các tác vụ phức tạp nhiều bước bằng cách luân phiên giữa:

  • Thought: suy luận nội bộ
  • Action: dùng tool
  • Observation: nhận đầu ra của tool

Ví dụ (ReAct)

code
Thought: I need to find the latest weather in Paris.
Action: Search["weather in Paris"]
Observation: It's 18°C and cloudy.
Thought: Now that I know the weather...
Action: Finish["It's 18°C and cloudy in Paris."]

Minh hoạ ReAct

(d) là ví dụ về cách tiếp cận ReAct: chúng ta prompt "Let's think step by step" và model hành động xen giữa các suy nghĩ.

So sánh: ReAct và CoT

Đặc điểmChain-of-Thought (CoT)ReAct
Logic từng bướcCóCó
Tool bên ngoàiKhôngCó (Action + Observation)
Phù hợp nhất choLogic, toán, tác vụ nội bộTìm kiếm thông tin, tác vụ nhiều bước thay đổi linh hoạt

Nguồn