Chain-of-Thought (CoT) Prompting là một kỹ thuật trong prompt engineering (thiết kế lệnh cho mô hình ngôn ngữ lớn – LLM) nhằm cải thiện khả năng suy luận đa bước. Ý tưởng chính là khuyến khích mô hình “nghĩ theo chuỗi” (từng bước trung gian) trước khi đưa ra câu trả lời cuối cùng. Kỹ thuật này được giới thiệu bởi Wei và cộng sự (2022) và được xem là một tính năng emergent – chỉ xuất hiện khi dùng các mô hình đủ lớn.

1. CoT truyền thống (Few-shot CoT)
Với few-shot CoT, bạn cung cấp một số ví dụ mẫu (demos) trong prompt. Mỗi ví dụ gồm câu hỏi và chuỗi suy luận trước khi kết luận. Điều này giúp mô hình học cách phân tích từng bước.
Ví dụ:
Q: Cho dãy số [2, 3, 4, 5]. Tính tổng các số lẻ.
A: Các số lẻ là 3 và 5. Tổng = 3 + 5 = 8.
Khi mô hình thấy cách suy luận này, nó sẽ áp dụng cho câu hỏi mới. Few-shot CoT đặc biệt hiệu quả với bài toán logic, toán học hoặc các tác vụ cần nhiều bước tư duy.
2. Zero-shot CoT (Không cần ví dụ)
Kojima và cộng sự (2022) đề xuất Zero-shot CoT – cách đơn giản nhưng mạnh mẽ: chỉ cần thêm câu “Let’s think step by step” vào cuối prompt.
Ví dụ:
Hỏi: Tôi mua 10 táo, tặng 2, tặng 2, mua thêm 5, ăn 1. Còn lại bao nhiêu?
Trả lời: Let’s think step by step.
Mô hình sẽ phân tích:
- Bắt đầu: 10
- Tặng 4 → còn 6
- Mua thêm 5 → 11
- Ăn 1 → còn 10
Kết quả đúng là 10. Điểm mạnh: không cần chuẩn bị ví dụ, rất hữu ích khi bạn thiếu dữ liệu mẫu.
3. Auto-CoT (Tạo ví dụ tự động)
Viết tay nhiều ví dụ reasoning tốn công và dễ thiếu đa dạng. Auto-CoT (Zhang et al., 2022) giải quyết bằng cách tự động tạo ví dụ để dùng cho few-shot CoT.
Quy trình gồm 2 bước:
1. Clustering câu hỏi: Nhóm câu hỏi theo chủ đề để đảm bảo đa dạng.
2. Chọn ví dụ + tạo reasoning: Với mỗi nhóm, chọn một câu đại diện và dùng Zero-shot CoT để tạo chuỗi suy luận. Có thể áp dụng quy tắc như: độ dài khoảng 60 token, reasoning gồm 5 bước.
Sau đó, tập ví dụ này được dùng làm mẫu few-shot cho prompt chính. Auto-CoT giúp tiết kiệm thời gian và tăng chất lượng reasoning.
4. Ưu điểm và hạn chế
Ưu điểm:
- Giúp LLM suy luận sâu hơn, đặc biệt với bài toán logic, toán học.
- Zero-shot CoT đơn giản, dễ triển khai.
- Auto-CoT giảm công sức tạo ví dụ, tăng tính đa dạng.
Hạn chế:
- Prompt dài hơn → tốn token, chi phí cao.
- Nếu reasoning sai hoặc ví dụ kém chất lượng → kết quả sai.
- Auto-CoT phụ thuộc vào chất lượng clustering và heuristic.
5. Ứng dụng và kết luận
CoT được dùng nhiều trong:
- Giải toán, bài logic, lập luận pháp lý.
- Phân tích dữ liệu, lập kế hoạch.
- Hỏi đáp phức tạp (multi-hop QA).
Tóm lại:
- Few-shot CoT: tốt khi có ví dụ mẫu.
- Zero-shot CoT: nhanh, tiện khi không có ví dụ.
- Auto-CoT: tự động hóa, tiết kiệm công sức.
Tùy bài toán và nguồn lực, có thể chọn kỹ thuật phù hợp để tối ưu khả năng suy luận của mô hình.
Lê Thụy Đoan Trang (dịch và tổng hợp)
Nguồn: https://www.promptingguide.ai/techniques/cot