Self-Consistency là một kỹ thuật prompting nâng cao, trong đó bạn yêu cầu AI tạo ra nhiều câu trả lời khác nhau cho cùng một câu hỏi, rồi chọn ra câu trả lời xuất hiện nhiều nhất (majority vote). Nghĩa là thay vì hỏi một lần và chấp nhận kết quả, bạn hỏi nhiều lần và lấy đáp án được lặp lại nhiều nhất.
Mình thường giải thích cho bạn bè thế này: giống như bạn hỏi 10 người bạn cùng một câu toán, rồi chọn đáp án mà nhiều người đồng ý nhất. Càng nhiều người ra cùng một kết quả, khả năng nó đúng càng cao. Self-Consistency áp dụng đúng nguyên lý đó cho AI.
Self-Consistency hoạt động như thế nào?

Quá trình này gồm ba bước đơn giản. Đầu tiên, bạn đưa ra một prompt có yêu cầu suy luận (thường là Chain-of-Thought). Thay vì chỉ lấy một câu trả lời, bạn yêu cầu AI sinh ra nhiều phản hồi khác nhau, thường từ 5 đến 40 câu. Cuối cùng, bạn nhóm các câu trả lời lại và chọn đáp án phổ biến nhất.
Điểm mấu chốt nằm ở sampling. Khi bạn đặt temperature cao hơn bình thường, AI sẽ tạo ra các đường suy luận khác nhau cho cùng một bài toán. Một số đường đi đúng, một số đi sai. Nhưng nếu đa số các đường đều dẫn đến cùng một kết quả, bạn có thể tin tưởng đáp án đó hơn.
Tại sao Self-Consistency lại hiệu quả?
Trong Chain-of-Thought thông thường, AI chỉ đi một đường suy luận. Nếu đường đó bị sai ở một bước, kết quả cuối sẽ sai luôn. Giống như bạn đi đường duy nhất mà lỡ rẽ nhầm, bạn sẽ lạc.
Self-Consistency giải quyết vấn đề này bằng cách đi nhiều đường cùng lúc. Ngay cả khi vài đường suy luận bị lỗi, phần lớn các đường khác vẫn có thể dẫn đến đáp án đúng. Khi bạn lấy majority vote, những lỗi cá biệt sẽ bị outvote bởi các câu trả lời đúng.
Nghiên cứu gốc của Wang et al. (2022) cho thấy Self-Consistency cải thiện độ chính xác đáng kể trên các benchmark toán học và suy luận logic. Trên GSM8K (benchmark toán cấp tiểu học), kỹ thuật này tăng độ chính xác từ khoảng 17% lên hơn 40% so với Chain-of-Thought đơn thuần.
Khi nào nên dùng Self-Consistency?
Kỹ thuật này phù hợp nhất cho các bài toán có một đáp án đúng xác định. Toán học, logic, code debugging, trả lời câu hỏi factual — những lĩnh vực mà chỉ có một (hoặc vài) đáp án đúng.
Ngược lại, Self-Consistency không hợp lắm cho các tác vụ sáng tạo như viết thơ, tóm tắt, hay dịch thuật. Nếu bạn hỏi AI viết 10 bài thơ rồi chọn “bài phổ biến nhất”, bạn sẽ không nhận được kết quả tốt vì mỗi bài đều khác nhau hoàn toàn.
Ví dụ thực tế
Giả sử bạn cần giải bài toán: “Một cửa hàng bán 15 quả táo mỗi ngày. Hỏi trong 7 ngày bán được bao nhiêu quả?”
Thay vì hỏi AI một lần, bạn yêu cầu AI suy nghĩ ra 20 cách giải khác nhau. Có thể 18 trong số 20 đường suy luận đều ra 105. Hai đường còn lại ra 100 vì nhầm tính. Bằng cách lấy majority vote, bạn chọn 105 — đáp án đúng.
Trong thực tế, bạn có thể implement Self-Consistency qua API bằng cách gọi model nhiều lần với cùng prompt, thay đổi parameter seed hoặc temperature, rồi đếm tần suất các đáp án unique.
Trade-off khi dùng Self-Consistency là gì?
Ưu điểm lớn nhất là độ chính xác cao hơn rõ rệt, đặc biệt với bài toán khó. Bạn cũng không cần huấn luyện thêm hay fine-tune model, chỉ cần gọi API nhiều lần.
Nhược điểm chính là chi phí và thời gian. Nếu bạn gọi 20 lần thay vì 1 lần, bạn tốn gấp 20 lần token và tiền. Thời gian chờ cũng dài hơn vì phải chờ tất cả các phản hồi hoàn thành. Với các ứng dụng real-time như chatbot, điều này có thể gây độ trễ khó chấp nhận.
Self-Consistency khác gì với Best-of-N?
Nhiều người nhầm Self-Consistency với Best-of-N Sampling. Điểm khác biệt cốt lõi: Best-of-N dùng reward model hoặc classifier để chọn câu trả lời “tốt nhất” từ N lựa chọn. Trong khi đó, Self-Consistency lấy majority vote — không cần reward model nào cả.
Best-of-N phù hợp cho tác vụ sáng tạo (chọn câu viết hay nhất), còn Self-Consistency mạnh hơn với bài toán có đáp án đúng/sai rõ ràng.
Self-Consistency và Agentic Workflow
Trong các hệ thống AI Agent hiện đại, Self-Consistency thường được dùng như một module kiểm chứng. Khi Agent cần đưa ra quyết định quan trọng, nó có thể tạo nhiều reasoning paths và chỉ hành động khi các paths đồng thuận. Điều này giảm đáng kể rủi ro hallucination và sai sót.
Kết hợp với các kỹ thuật như Tree of Thoughts hay ReAct Pattern, Self-Consistency tạo ra một lớp phòng thủ adicional cho các quyết định của Agent.
Có nên luôn dùng Self-Consistency không?
Câu trả lời ngắn: không. Mình khuyên bạn cân nhắc dựa trên tình huống. Với câu hỏi đơn giản như “thủ đô Việt Nam là gì?”, gọi AI 20 lần để xác nhận Hà Nội là lãng phí hoàn toàn. Nhưng với bài toán phức tạp, đầu tư thêm chi phí để có độ chính xác cao hơn là hoàn toàn xứng đáng.
Nguyên tắc của mình: nếu sai lầm tốn kém (tài chính, uy tín, an toàn), dùng Self-Consistency. Nếu sai lầm dễ sửa, một lần gọi là đủ.
Lời kết
Self-Consistency là một trong những kỹ thuật prompting đơn giản nhưng hiệu quả nhất mà bạn có thể áp dụng ngay hôm nay. Không cần model đặc biệt, không cần huấn luyện thêm — chỉ cần gọi nhiều lần và bỏ phiếu. Trong bối cảnh AI càng ngày càng được dùng cho các quyết định quan trọng, việc xác minh bằng đồng thuận là một tư duy an toàn mà mọi người dùng AI nên biết.