← Prompt Engineering

Deep Dive: Self-consistency

Phân tích sâu từ báo cáo Prompt Engineering — self-consistency biến một reasoning path đơn lẻ thành một ensemble ở inference-time, tức là tăng robustness bằng sampling và voting.
Báo cáo cha: ← Prompt EngineeringTopic: Self-consistencyNgày: 2026-04-22Cấp độ: Layer 2 / deep dive

Tổng quan Reliability

Self-consistency giải quyết một vấn đề rất thực: cùng một câu hỏi, model có thể đi qua nhiều reasoning path khác nhau nhưng chỉ một path là path tốt nhất. Thay vì tin vào path greedy đầu tiên, ta sample nhiều path rồi lấy đáp án đồng thuận cao nhất.

Đây là một dạng bagging inference-time cho reasoning. Nó không đổi model, không đổi dataset, không cần fine-tuning. Thứ thay đổi chỉ là chiến lược giải mã và cách tổng hợp answer.

Điểm khiến self-consistency bền theo thời gian là nó tương thích với hầu hết chain-of-thought style prompts. Nếu bạn đã có một reasoning scaffold tốt, voting thường cho một cú đẩy chất lượng đáng kể.

Thành phầnVai tròTại sao cần
SamplingTạo nhiều reasoning pathsTránh phụ thuộc vào một đường greedy
ExtractionLấy final answer từ mỗi pathLoại bỏ rationale noise
VotingChọn answer đồng thuậnTăng robustness

Cơ chế Mechanics

Cách đơn giản nhất là: sample N chain-of-thought completions, trích final answer của mỗi completion, rồi majority vote. Với bài toán mở hơn, có thể dùng LLM hoặc verifier để quyết định đáp án hợp nhất.

Khi các path đều share một lỗi hệ thống, voting không cứu được. Nhưng khi noise đến từ sampling, self-consistency làm rất tốt nhiệm vụ giảm variance.

Self-consistency sketch

TEXT
for each question:
  sample N reasoning paths
  extract final answers
  vote over normalized answers
  return the consensus answer

Self-consistency lấy nhiều reasoning paths rồi hợp nhất kết quả cuối.

flowchart LR
  Q[Question] --> S1[Sample path 1]
  Q --> S2[Sample path 2]
  Q --> S3[Sample path 3]
  S1 --> V[Vote]
  S2 --> V
  S3 --> V
  V --> A[Answer]

Khi dùng Fit

Self-consistency hợp với reasoning task có answer ngắn, rõ và có thể vote được: math, commonsense QA, label selection, structured reasoning.

Nếu answer là free-form essay, voting trên exact string không còn đủ tốt. Khi đó cần verifier, reranker hoặc một lớp aggregation thông minh hơn.

Ưu điểm
  • Tăng robustness mà không đổi model
  • Rất tự nhiên để ghép với CoT
  • Dễ hiểu, dễ giải thích
Nhược điểm
  • Đắt hơn một sample đơn lẻ
  • Cần trích answer cuối ổn định
  • Không sửa được lỗi hệ thống của model

Failure modes Risk

Self-consistency là cách rẻ nhất để ensemble reasoning, nhưng nó vẫn là ensemble. Nếu objective thật của bạn là độ đúng tuyệt đối ở tác vụ rủi ro cao, hãy kết hợp thêm verifier hoặc external tools.
Khi self-consistency không đủ
  • Các sample đều bị cùng một bias.
  • Answer extraction không chuẩn hóa tốt.
  • Task có nhiều đáp án hợp lệ nhưng vote ép về một dạng.
  • Cost tăng mà gain thực tế không đáng kể.

So sánh Compare

TechniqueCốt lõiĐiểm khác biệt
Prompt ensemblingNhiều prompt khác nhauKhông nhất thiết cùng một prompt path
Universal self-consistencyLLM chọn answer nhất quánMở rộng self-consistency cho answer free-form
CoT greedyMột path duy nhấtRẻ nhất nhưng variance cao

Tham khảo chính Sources