← Prompt Engineering

Deep Dive: Self-refine

Phân tích sâu từ báo cáo Prompt Engineering — self-refine dùng chính model để draft, critique và revise; hiệu quả khi lỗi chủ yếu nằm ở polishing, không phải ở thiếu dữ kiện.
Báo cáo cha: ← Prompt EngineeringTopic: Self-refine + external verificationNgày: 2026-04-22Cấp độ: Layer 2 / deep dive

Tổng quan Reliability

Self-refine cho model một cơ chế tự kiểm tra bản nháp của chính nó. Với draft chất lượng trung bình nhưng có thể sửa, vòng critique/revise thường tạo ra output tốt hơn so với chỉ lấy lần sinh đầu tiên.

Đây là pattern rất gần với cách con người viết: viết nháp, đọc lại, chê chính mình, rồi sửa. Điểm khác là vòng lặp này được định nghĩa rõ trong prompt hoặc orchestration layer.

Nếu muốn tăng độ đúng, self-refine thường đi cùng external verification: search, code execution, rule check, schema validation hoặc một model/critic khác.

Vòng lặpVai tròGiá trị
DraftSinh bản nháp đầuCó điểm xuất phát
CritiqueChỉ ra lỗiTạo feedback cụ thể
ReviseSửa bản nhápCải thiện output

Cơ chế Mechanics

Self-refine thường không cần nhiều prompt phức tạp. Vòng cơ bản là: draft → critique → revise → verify. Điều quan trọng là critique phải cụ thể; critique chung chung thường chỉ làm câu trả lời dài hơn.

Khi verify không xác nhận được rằng bản sửa tốt hơn, vòng lặp nên dừng. Nếu không, self-refine có thể trượt vào loop vô hạn hoặc over-refinement.

Self-refine loop

TEXT
Draft -> Critique -> Revise -> Verify -> Finalize

Self-refine là một vòng feedback nội bộ, thường kết hợp với external verification.

flowchart LR
  D[Draft] --> C[Critique]
  C --> R[Revise]
  R --> V[Verify]
  V --> F[Finalize]

Khi dùng Fit

Self-refine hữu ích cho drafting, summarization, translation, code review, style polishing và những tác vụ mà bản nháp đầu tiên gần đúng nhưng chưa sắc.

Trong production, nó đặc biệt hợp với workflow có approval step, vì critique và verify tự nhiên tạo chỗ cho người hoặc tool can thiệp.

Ưu điểm
  • Cải thiện polish và clarity
  • Có thể nhúng vào pipeline
  • Giúp model tự chỉ ra lỗi của chính nó
Nhược điểm
  • Có thể làm output dài hơn mà không đúng hơn
  • Critique kém thì revise kém
  • Tốn thêm latency

Failure modes Risk

Self-refine không phải thuốc chữa cho reasoning sai. Nếu lỗi gốc là thiếu dữ kiện hoặc hiểu sai bài toán, loop critique/revise có thể chỉ làm câu trả lời “đẹp hơn trong lúc vẫn sai”.
Các lỗi thường gặp
  • Model polish một lời giải sai thành một lời giải rất tự tin.
  • Feedback quá chung chung nên revision không thay đổi gì.
  • Verification không đủ mạnh để chặn regression.
  • Prompt thiết kế vòng lặp nhưng không có stop condition rõ.

So sánh Compare

TechniqueKhác biệtKhi nào chọn
CRITICDùng tool để critiqueKhi fact check hoặc code check cần external source
Self-PolishRefine từ phía problem statementKhi vấn đề nằm ở cách mô tả bài toán
Prompt chainingNhiều step riêng biệtKhi muốn inspect từng artifact

Tham khảo chính Sources