Deep Dive: Chain-of-Thought / zero-shot CoT
Tổng quan Reasoning
CoT quan trọng vì nó tạo ra không gian trung gian để model đi qua các bước suy luận. Khi task cần toán, logic, multi-hop synthesis hay kiểm tra giả định, việc buộc model “chỉ trả lời ngay” thường làm mất cấu trúc của lời giải.
Bản gốc của CoT là một kết luận rất đơn giản: nếu model được phép sinh các bước trung gian, nó thường giải tốt hơn bài toán nhiều bước. Điều này vẫn đúng, nhưng cách ta đọc CoT đã thay đổi: hiện tại CoT là một reasoning scaffold, không phải một câu thần chú.
Điểm mới của giai đoạn 2024-2026 là CoT không chỉ được dùng để tăng accuracy mà còn để monitor behavior. OpenAI công khai nhiều nghiên cứu về monitorability và controllability, tức là ta bắt đầu xem CoT như một bề mặt để kiểm tra, không chỉ là một kênh để “nghĩ nhiều hơn”.
| Angle | Tác dụng | Đổi lại |
|---|---|---|
| Reasoning depth | Cho model đi qua các bước trung gian | Tăng token và latency |
| Debuggability | Dễ nhìn chỗ sai trong lập luận | Không đảm bảo lập luận đúng |
| Safety/monitoring | Tạo bề mặt theo dõi hành vi | Có thể trở thành tín hiệu nhiễu nếu prompt kém |
- CoT là lớp reasoning nền, không phải giải pháp mặc định cho mọi prompt.
- Trong model mới, CoT vừa là công cụ tăng chất lượng vừa là bề mặt giám sát.
Cơ chế Mechanics
Zero-shot CoT thường là một chỉ dẫn ngắn như “solve step by step” hoặc “think through the problem carefully”. Với few-shot CoT, ta cung cấp thêm demonstration có bước trung gian rõ ràng để model học cách trình bày reasoning.
Cái được không chỉ là số bước. CoT buộc model làm chậm lại, giữ trạng thái trung gian lâu hơn và giảm xác suất nhảy thẳng đến đáp án đầu tiên nghe có vẻ hợp lý.
Zero-shot CoT skeleton
Solve the problem step by step.
State the intermediate reasoning only if it helps the final answer.
Then give the final answer in one short paragraph.CoT biến một bước trả lời tuyến tính thành chuỗi suy luận có cấu trúc hơn.
flowchart LR Q[Question] --> S[Reasoning scaffold] S --> I[Intermediate steps] I --> A[Final answer]
Khi dùng Fit
CoT hữu ích khi task có một đáp án cuối nhưng đường đi đến đáp án gồm nhiều ràng buộc: math word problems, planning, multi-document synthesis, code reasoning, logic checks và policy reasoning.
Trong agentic systems, CoT cũng có thể làm “pre-action thinking”. Tuy nhiên, một khi tool use đã tham gia, CoT không còn đủ: bạn cần protocol rõ giữa nghĩ, hành động và quan sát.
Ưu điểm
- Tăng độ đúng trên task nhiều bước
- Dễ ghép với few-shot và self-consistency
- Giúp debug reasoning prompt
Nhược điểm
- Token overhead tăng nhanh
- Không bảo đảm output legible hay kiểm soát được
- Không giải quyết được bài toán thiếu dữ kiện
Khi CoT không nên là lựa chọn đầu tiên
- Label space nhỏ, output gần như deterministic.
- Cần strict JSON / schema ngay từ đầu.
- Bài toán chỉ cần lookup hoặc routing đơn giản.
Failure modes Risk
CoT có thể tạo ra cảm giác “đúng vì dài”, nhưng độ dài không đồng nghĩa với correctness. Một chain dài vẫn có thể đi sai từ bước đầu tiên và kéo cả câu trả lời đi lệch.
Với các model reasoning mới, một vấn đề khác xuất hiện: controllability của CoT không cao như người ta kỳ vọng. Nếu prompt cố bắt model viết CoT theo hình thức quá cụ thể, model vẫn có thể trượt khỏi yêu cầu đó.
Các lỗi phổ biến
- Rationale hợp lý nhưng answer sai.
- Bước trung gian lặp lại dữ kiện mà không thực sự suy luận.
- Prompt ép model “nghĩ nhiều” làm tăng verbosity nhưng không tăng correctness.
- CoT bị dùng như một pseudo-safety layer dù không có monitor phía sau.
So sánh Compare
CoT nên được xem là baseline reasoning scaffold. So với prompt chaining, nó giữ mọi thứ trong một lần gọi; so với self-consistency, nó chỉ dùng một path; so với plan-first methods, nó đỡ cấu trúc hơn nhưng rẻ hơn.
| Technique | Điểm mạnh | Khi nào thắng CoT |
|---|---|---|
| Self-consistency | Sample nhiều path rồi vote | Khi answer ổn định hơn reasoning |
| Plan-and-Solve | Lập kế hoạch trước rồi giải | Khi task có dependency rõ |
| Prompt chaining | Mỗi bước là một call riêng | Khi cần quan sát intermediate output |