Deep Dive: Self-refine
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ặp | Vai trò | Giá trị |
|---|---|---|
| Draft | Sinh bản nháp đầu | Có điểm xuất phát |
| Critique | Chỉ ra lỗi | Tạo feedback cụ thể |
| Revise | Sửa bản nháp | Cả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
Draft -> Critique -> Revise -> Verify -> FinalizeSelf-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
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
| Technique | Khác biệt | Khi nào chọn |
|---|---|---|
| CRITIC | Dùng tool để critique | Khi fact check hoặc code check cần external source |
| Self-Polish | Refine từ phía problem statement | Khi vấn đề nằm ở cách mô tả bài toán |
| Prompt chaining | Nhiều step riêng biệt | Khi muốn inspect từng artifact |