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)
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)
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."]

(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ểm | Chain-of-Thought (CoT) | ReAct |
|---|---|---|
| Logic từng bước | Có | Có |
| Tool bên ngoài | Không | Có (Action + Observation) |
| Phù hợp nhất cho | Logic, 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
- Dịch và biên tập từ huggingface/agents-course · units/en/unit1/thoughts.mdx, giấy phép Apache-2.0.