Chain-of-thought tới reasoning model: cho LLM giấy nháp
Tóm tắt
Chain-of-thought cho model viết các bước trung gian và tăng mạnh độ chính xác với bài toán nhiều bước; reasoning model đã tích hợp sẵn điều này. Với Claude hiện tại, dùng thinking và effort thay vì ép viết suy luận trong prompt.
Cho LLM một bài toán đố nhiều bước, bắt trả lời ngay, nó thường sai. Cho nó "nghĩ ra giấy" từng bước trước, độ chính xác tăng vọt. Phát hiện tưởng đơn giản này, gọi là chain-of-thought (CoT), đã dẫn thẳng tới thế hệ reasoning model hiện nay, những model có chế độ "thinking" riêng. Bài này đi qua ba nghiên cứu nền tảng và cách áp dụng đúng với model hiện đại.
Ba cột mốc
| Nghiên cứu | Ý tưởng | Phát hiện chính |
|---|---|---|
| Chain-of-Thought Prompting (Wei và cộng sự, 2022) | Đưa vài ví dụ mẫu có ghi rõ các bước suy luận | Cải thiện lớn ở toán, suy luận thường thức, ký hiệu; hiệu quả chủ yếu xuất hiện ở model đủ lớn |
| Zero-shot reasoners (Kojima và cộng sự, 2022) | Chỉ thêm câu "Let's think step by step", không cần ví dụ | Độ chính xác trên MultiArith tăng từ 17,7% lên 78,7% với model thử nghiệm |
| Self-consistency (Wang và cộng sự, 2022) | Sinh nhiều chuỗi suy luận, lấy đáp án xuất hiện nhiều nhất | Tốt hơn hẳn một chuỗi duy nhất trên các bài toán số học |
Vì sao "nghĩ ra giấy" lại hiệu quả?
Model sinh từng token, mỗi token chỉ có một lượng tính toán cố định. Viết ra các bước trung gian giống như cho model thêm "giấy nháp": kết quả bước trước trở thành ngữ cảnh cho bước sau, chia bài toán lớn thành nhiều bước nhỏ vừa sức.
Từ prompt tới reasoning model
Các model mới được huấn luyện để tự suy luận trong một khối thinking riêng trước khi trả lời. Hệ quả cho cách viết prompt:
- Với Claude hiện tại, tài liệu Anthropic khuyên dựa vào thinking tích hợp (kèm mức effort phù hợp) thay vì tự yêu cầu model viết suy luận ra trong thẻ. Trên một số model mới nhất, yêu cầu viết suy luận vào thẻ như
<thinking>có thể bị từ chối. - CoT thủ công vẫn là phương án dự phòng khi thinking tắt: yêu cầu suy nghĩ từng bước, đặt đáp án cuối trong thẻ
<answer>để dễ trích. - Self-consistency vẫn hữu ích cho quyết định quan trọng: chạy nhiều lần, so sánh kết quả.
Khi nào cần suy luận dài?
| Nên dùng | Không cần |
|---|---|
| Toán nhiều bước, logic, lập kế hoạch | Tra cứu sự kiện đơn giản |
| Debug, phân tích nguyên nhân | Phân loại, trích xuất có cấu trúc rõ |
| So sánh nhiều phương án có ràng buộc | Viết lại, dịch, tóm tắt ngắn |
Rủi ro và lưu ý
- Chuỗi suy luận không phải lời giải thích trung thực: các bước model viết ra có thể không phản ánh đúng quá trình thực sự dẫn tới đáp án.
- Tốn token và thời gian: suy luận dài làm tăng chi phí và độ trễ; điều chỉnh mức effort theo độ khó.
- Nghĩ quá nhiều: với việc đơn giản, suy luận dài có thể làm model "tự thuyết phục" sang đáp án sai.
Áp dụng thế nào?
- Dev: Bật thinking cho tác vụ suy luận, để effort thấp cho tác vụ đơn giản; đo cả chất lượng lẫn chi phí.
- Tech Lead: Với quyết định tự động quan trọng, chạy 3–5 lần và chỉ hành động khi các lần đồng thuận.
- PM: Đừng hiển thị nguyên chuỗi suy luận cho người dùng như "bằng chứng"; hiển thị nguồn và kết quả kiểm chứng.
Nguồn & tham khảo
- Chain-of-Thought Prompting Elicits Reasoning in Large Language Models — Wei et al. (arXiv)
- Large Language Models are Zero-Shot Reasoners — Kojima et al. (arXiv)
- Self-Consistency Improves Chain of Thought Reasoning — Wang et al. (arXiv)
- Prompting best practices — Claude Docs