SQL
Reflect-SQL: Self-Reflection Text-to-SQL
BIRD Dev: 72.03%
Paper 11 (P11) • Text-to-SQL & Multi-Loop Reflection IIIT Hyderabad • NLP & Database Systems Enterprise Database Grounding

Reflect-SQL: Khung Làm Việc Dựa Trên Tự Suy Ngẫm Cho Text-to-SQL Cấp Doanh Nghiệp

"Reflect-SQL: A Self-Reflection Based Framework for Text-to-SQL" — Vượt qua giới hạn của phương pháp sinh đơn lượt (single-pass) bằng cách đan kết 3 vòng lặp tự suy ngẫm khép kín: Tinh chỉnh truy xuất RAG phân cấp, Xác thực cú pháp - ngữ nghĩa 4 chiều và Kiểm tra suy diễn logic (Entailment) làm giàu tri thức tự động.

Tác giả: Anupreksha Jain, Manish Shrivastava
International Institute of Information Technology Hyderabad (IIIT Hyderabad), India
anupreksha.j@research.iiit.ac.in
ĐỘ CHÍNH XÁC THỰC THI
72.03%
Thiết lập SOTA trên BIRD Dev Benchmark (Claude 4.5)
MỨC TĂNG NHỜ SUY NGẪM
+6.0% → +11.1%
Cải thiện vượt bậc trên mọi nền tảng LLM
VÒNG LẶP SUY NGẪM
3 Vòng Lặp Phản Hồi
Retrieval Loop → SQL Gen Loop → Entailment Loop
ĐÁNH GIÁ KHÔNG CẦN NHÃN
Reference-Free
Tự sửa lỗi không cần nhãn vàng chuẩn (Gold SQL)

Tóm Tắt Học Thuật (Academic Abstract)

Đối chiếu song ngữ: Bản dịch tiếng Việt chuyên môn hóa & Văn bản gốc tiếng Anh

IIIT Hyderabad 2025/2026
Bản Dịch Học Thuật Tiếng Việt Bản dịch chuyên môn

Bình dân hóa quyền truy cập dữ liệu thông qua ngôn ngữ tự nhiên là mục tiêu tối quan trọng của doanh nghiệp hiện đại. Tuy nhiên, việc ứng dụng Text-to-SQL trong thực tế đang bị cản trở nghiêm trọng bởi các vấn đề phức tạp trong thế giới thực: (1) Lược đồ cơ sở dữ liệu (schema) lớn và khó hiểu (obscure); (2) Truy xuất không hiệu quả các bảng và cột liên quan do cấu trúc phức tạp và câu hỏi mơ hồ của người dùng; (3) Sinh ra mã SQL bị lỗi cú pháp hoặc sai lệch logic do thiếu cơ chế xác thực và sửa lỗi mạnh mẽ.

Để giải quyết những thách thức mang tính hệ thống này, chúng tôi giới thiệu Reflect-SQL, một khung làm việc mới cho Text-to-SQL dựa trên phương pháp tự suy ngẫm (self-reflection) nhiều giai đoạn. Hệ thống xây dựng sự hiểu biết về các lược đồ khó hiểu thông qua một Cơ sở Tri thức (Knowledge Base) động, thiết lập quy trình truy xuất phân cấp hiệu quả và hệ thống sinh mã SQL chuẩn xác về cả mặt cú pháp lẫn ngữ nghĩa.

Thay vì chỉ thực hiện một lượt duy nhất (single-pass), Reflect-SQL sử dụng cơ chế chấm điểm dựa trên LLM-làm-giám-khảo (LLM-as-a-judge) bên trong 3 vòng lặp phản hồi liên kết chặt chẽ: Vòng lặp truy xuất tinh chỉnh câu hỏi; Vòng lặp tổng hợp kiểm tra và sửa lỗi cú pháp, ngữ nghĩa SQL; và Vòng lặp suy diễn logic (entailment loop) xác thực kết quả thực thi và liên tục làm giàu cơ sở tri thức. Trên benchmark thách thức BIRD, Reflect-SQL đạt độ chính xác thực thi (execution accuracy) 72.03%, vượt trội các mô hình SOTA hiện nay.

English Original Abstract Primary Source

"Democratizing data access through natural language is paramount for modern enterprises, yet real-world text-to-SQL adoption is severely hindered by the complexities of real-world databases: obscure and large database schemas, inefficient retrieval of relevant tables and columns due to complex schema structures and ambiguous user queries, and syntactically or logically erroneous SQL generation lacking robust validation and error correction."

"To address these systematic challenges, we introduce Reflect-SQL, a novel text-to-SQL framework that leverages multi-stage self-reflection to build understanding of obscure schemas through a Knowledge Base, establish an efficient retrieval pipeline, and generate syntactically and semantically sound SQL queries."

"Rather than relying on single-pass attempts, our system employs LLM-as-a-judge scoring within tightly coupled feedback loops to iteratively refine outputs at each stage: a retrieval feedback loop refines the user's natural language query, a synthesis loop validates and repairs SQL code, and an entailment loop optimizes the end-to-end process and dynamically enriches the Knowledge Base. Across the challenging BIRD benchmark, our framework achieves an execution accuracy of 72.03%, significantly outperforming state-of-the-art baselines."

Từ khóa: Text-to-SQL Self-reflection Retrieval-Augmented Generation Knowledge Base LLM-as-a-judge BIRD Benchmark

1. Ba Thách Thức Chí Tử Của Text-to-SQL Trong Thế Giới Thực

Tại sao các mô hình LLM đơn lượt (single-pass) thất bại khi đối mặt với cơ sở dữ liệu doanh nghiệp

1

Lược Đồ Khó Hiểu (Schema Obscurity)

Các cơ sở dữ liệu thực tế chứa hàng chục bảng với tên cột viết tắt tối nghĩa (ví dụ: 'A2', 'dname', 'k_symbol'), thiếu tài liệu mô tả và mối quan hệ khóa ngoại không được định nghĩa rõ ràng. LLM không thể suy luận chính xác chỉ dựa vào lược đồ thô.

2

Truy Xuất Lạc Ngữ Cảnh (Contextual Retrieval)

Người dùng kinh doanh thường đưa ra các câu hỏi mơ hồ ("khách hàng tiềm năng nhất", "món bán tốt"). Kỹ thuật RAG thông thường chỉ so khớp từ khóa bề mặt, dễ truy xuất nhầm bảng hoặc bỏ sót các cột cần thiết cho phép JOIN hoặc tổng hợp (GROUP BY).

3

Sai Lệch Toàn Vẹn Logic (Logical Integrity)

Mã SQL có thể chạy thành công về mặt cú pháp (không báo lỗi compiler) nhưng hoàn toàn sai lệch về mặt nghiệp vụ logic: thiếu điều kiện lọc NULL, chia cho 0, nhầm lẫn giữa INNER JOIN và LEFT JOIN, hoặc gom nhóm sai cấp độ chi tiết.

Bảng Đối Chiếu: Tiếp Cận Đơn Lượt Truyền Thống vs Khung Tự Suy Ngẫm Reflect-SQL

Khía Cạnh Kỹ Thuật Text-to-SQL Đơn Lượt (Single-Pass / Standard RAG) Reflect-SQL (Multi-Stage Self-Reflection)
Cơ sở tri thức lược đồ Tĩnh (Static), chỉ nạp câu lệnh CREATE TABLE thô vào context Động (Dynamic KB): phân cấp bảng-cột, liên tục được làm giàu qua thực thi
Xử lý câu hỏi mơ hồ Truy xuất một lần duy nhất; nếu sai thì sinh mã SQL sai theo Vòng lặp tinh chỉnh truy vấn ($Score_r$): tự động viết lại câu hỏi chi tiết hơn
Kiểm tra chất lượng SQL Chỉ kiểm tra cú pháp (Syntax check); bỏ qua lỗi ngữ nghĩa logic Xác thực 4 chiều ($C, G, J, Q$) + Kiểm tra suy diễn logic ($E_{schema}, E_{data}$)
Độ chính xác trên BIRD 46.35% – 57.41% (BIRD baseline, DAIL-SQL) 72.03% (+14.6% đến +25.7% tuyệt đối)

2. Kiến Trúc Khung Làm Việc Reflect-SQL & Cơ Sở Tri Thức Động

Luồng tính toán tổng thể từ xây dựng KB phân cấp đến 3 vòng lặp phản hồi lặp lại

Sơ Đồ Luồng Hoạt Động Khép Kín Của Reflect-SQL (End-to-End Computational Flow)

flowchart TD User["Câu Hỏi Ngôn Ngữ Tự Nhiên (User Query Q)"] --> RetLoop["1. Vòng Lặp Truy Xuất RAG Phân Cấp"] subgraph KB_Section ["Cơ Sở Tri Thức Động (Dynamic Knowledge Base)"] G_Coll["Global Collection: Nhúng Mô Tả Bảng"] L_Coll["Local Collections: Nhúng Mô Tả Cột Từng Bảng"] Meta["Quan Hệ & Giá Trị Mẫu"] end KB_Section <--> RetLoop RetLoop -->|"Score_r ≥ θ_r"| GenLoop["2. Vòng Lặp Sinh & Sửa Mã SQL"] RetLoop -.->|"Score_r < θ_r (Viết lại Q' & Mở rộng)"| RetLoop GenLoop -->|"Đúng Cú Pháp & Điểm Ngữ Nghĩa S ≥ θ_s"| Exec["Thực Thi Trên Database Engine (Ra Kết Quả R)"] GenLoop -.->|"Lỗi Cú Pháp hoặc S < θ_s (Prompt sửa lỗi)"| GenLoop Exec --> EntailLoop{"3. Kiểm Tra Suy Diễn Logic (Entailment Check)"} EntailLoop -->|"E(Q, R) ≥ θ_e (Hợp Lệ)"| Final["Trả Kết Quả Về Cho Người Dùng"] EntailLoop -->|"E(Q, R) ≥ θ_e"| Enrich["Làm Giàu Cơ Sở Tri Thức (KB Enrichment)"] Enrich --> KB_Section EntailLoop -.->|"E(Q, R) < θ_e (Sai Lệch Logic)"| RetLoop

Chi Tiết Mục 3 (Bài Báo Gốc): Cơ Sở Tri Thức Phân Cấp & Tự Tinh Chỉnh (Knowledge Base)

3.1 Xây Dựng Cơ Sở Tri Thức (Construction)

Two-Step KB

Cơ sở tri thức đóng vai trò là xương sống ngữ nghĩa của khung làm việc. Được xây dựng thông qua việc tổng hợp đa nguồn dữ liệu:

  • Nguồn dữ liệu đa tầng: Lược đồ CSDL thô, giá trị dữ liệu mẫu, tập huấn luyện câu hỏi mẫu kèm bằng chứng bên ngoài (external evidence) và từ điển thuật ngữ doanh nghiệp.
  • Mô hình biểu diễn phân cấp: Sử dụng mô hình Sentence Embedding để vector hóa thành cấu trúc JSON chi tiết gồm 2 tầng:
    • Tập hợp toàn cục (Global Collection): Nhúng mô tả chức năng của từng bảng và các đường dẫn liên kết khóa ngoại (join paths).
    • Các tập hợp cục bộ (Local Collections): Mỗi bảng sở hữu một collection riêng nhúng mô tả từng cột (kiểu dữ liệu, giá trị đặc thù).
  • Quy trình truy xuất 2 bước (Two-Step Retrieval): Trước tiên xác định top-$k$ bảng liên quan ở tầng toàn cục, sau đó thu hẹp phạm vi vào các cột cụ thể ở tầng cục bộ, tránh bùng nổ token ngữ cảnh.

3.2 Tinh Chỉnh Lặp (Iterative Refinement)

Adaptive Learning

Trong bước hậu xử lý sau khi thực thi SQL thành công, hệ thống không dừng lại ở việc trả kết quả mà thực hiện cập nhật tri thức có điều kiện (conditional refinement):

Điều Kiện Ngặt: Vượt qua Syntax + Semantic + Entailment ($E(Q, R) \ge \theta_e = 3$).
Chống Ô Nhiễm: Ngăn chặn hoàn toàn các câu truy vấn lỗi, ảo giác hoặc sai lệch ngữ cảnh làm hỏng cơ sở tri thức.
Học Tập Thích Ứng: Tự động giải nghĩa các tên cột viết tắt tối nghĩa và liên tục cập nhật theo sự thay đổi của lược đồ thế giới thực.

Bảng 1: Minh Họa Tinh Chỉnh Cơ Sở Tri Thức Trên Tập Chuẩn BIRD (Jain & Shrivastava, 2026)

Table 1 in Paper
Thành Phần (Component) Trước Khi Tinh Chỉnh (Before Refinement) Sau Khi Tinh Chỉnh (After Refinement)
loan.status Cột phân loại trạng thái khoản vay với các giá trị 'A', 'B', 'C', 'D'.
(Categorical column for loan status with values 'A', 'B', 'C', 'D'.)
Trạng thái trả nợ: 'A' biểu thị đã hoàn thành hoặc đã thanh toán, 'B' biểu thị vỡ nợ, 'C' đang trả đúng hạn...
(Loan repayment state: 'A' indicates finished or paid, 'B' indicates defaulted, 'C' on schedule...)
trans.k_symbol Cột văn bản tên 'k_symbol' với các giá trị 'POJISTNE', 'SIPO'.
(Text column named 'k_symbol' with values 'POJISTNE', 'SIPO'.)
Danh mục giao dịch: Xác định cụ thể loại thanh toán (ví dụ: 'POJISTNE' tương ứng với Bảo hiểm, 'SIPO' là Hộ gia đình)...
(Transaction Category: determines payment type, e.g., 'POJISTNE' maps to Insurance, 'SIPO' to Household...)

* Nhờ cơ chế 3.2 Iterative Refinement, sau mỗi lần chạy truy vấn thành công và vượt qua kiểm định logic, các tên cột viết tắt tối nghĩa trong thế giới thực được làm giàu tự động thành tri thức ngữ nghĩa hoàn chỉnh cho các chu kỳ Text-to-SQL kế tiếp.

3. Vòng Lặp 1: Truy Xuất RAG Phân Cấp & Tinh Chỉnh Truy Vấn

Khắc phục câu hỏi mơ hồ của người dùng thông qua công thức chấm điểm liên quan & đầy đủ

Mô Hình Toán Học Truy Xuất & Chấm Điểm

1. Truy xuất Top-$k$ Bảng Bằng Độ Tương Đồng Cosine: $$\text{score}(T_i, Q) = \cos(t_i, q) = \frac{t_i \cdot q}{\|t_i\| \|q\|} \quad (1)$$ Trong đó $t_i$ là vector nhúng mô tả bảng $T_i$, $q$ là vector nhúng của câu hỏi người dùng. Bổ sung ngay các bảng có quan hệ trong KB để bảo đảm sẵn sàng các đường dẫn liên kết (join paths).
2. Điểm Truy Xuất Tổng Hợp (Retrieval Score): $$Score_r = \alpha R + (1 - \alpha)C \quad (2)$$ Với $\alpha = 0.6$ (tối ưu qua Grid Search).
- $R$ (Relevance Score): Đánh giá mức độ căn chỉnh ngữ nghĩa giữa các bảng/cột lấy ra với câu hỏi.
- $C$ (Completeness Score): Đánh giá xem đã lấy đủ tất cả các thành phần cần thiết để trả lời câu hỏi chưa (tránh thiếu cột).

Quy Trình Tinh Chỉnh Truy Vấn Khi $Score_r < \theta_r$

Nếu $Score_r < \theta_r$ (ngưỡng tối ưu $\theta_r = 4/10$), hệ thống xác định rằng ngữ cảnh lược đồ thu được chưa đủ điều kiện để sinh SQL chính xác. Vòng lặp phản hồi kích hoạt cơ chế kép (dual mechanism):

A
Định dạng lại câu truy vấn ($Q \to Q'$): LLM giám khảo chỉ ra các khía cạnh còn thiếu và viết lại câu truy vấn ban đầu thành một phiên bản chi tiết hơn, rõ nghĩa hơn.
B
Mở rộng phạm vi tìm kiếm: Tăng số lượng top-$k$ bảng và top-$m$ cột cần lấy trong lượt truy xuất tiếp theo từ vector database.

Vòng lặp dừng lại ngay khi $Score_r \ge \theta_r$ hoặc chạm giới hạn số lần lặp tối đa (tránh lặp vô hạn).

4. Vòng Lặp 2: Sinh Mã SQL & Xác Thực Hai Tầng (Cú Pháp & Ngữ Nghĩa)

Quy trình tự sửa lỗi mã SQL: Compiler Error Recovery kết hợp Đánh giá Ngữ nghĩa 4 Chiều

1 Tầng 1: Xác Thực Cú Pháp (Syntactic Loop)

Compiler Level

Câu truy vấn SQL vừa sinh ra được biên dịch ngay lập tức trên Database Engine thực tế (SQLite/PostgreSQL):

  • Phát hiện lỗi cú pháp tức thì: Sai từ khóa, thiếu dấu ngoặc, sai tên bảng hoặc phép join không hợp lệ.
  • Phản hồi sửa lỗi khép kín: Toàn bộ thông báo lỗi của compiler (error trace) được ghép cùng schema và SQL lỗi gửi ngược lại LLM để sửa mã ngay lập tức.
  • Loại bỏ 100% lỗi cú pháp ngớ ngẩn: Đảm bảo chỉ những câu lệnh SQL thực sự thực thi được mới bước sang vòng thẩm định ngữ nghĩa.

2 Tầng 2: Xác Thực Ngữ Nghĩa 4 Chiều (Semantic Loop)

Semantic Level

Mã SQL đúng cú pháp chưa chắc đã đúng ý định. LLM-as-a-judge chấm điểm trên 4 khía cạnh nghiệp vụ:

$$S = w_c \cdot C + w_g \cdot G + w_j \cdot J + w_q \cdot Q \quad (3)$$
Ngưỡng tối ưu: $\theta_s = 5/10$. Nếu $S < \theta_s$, LLM nhận phản hồi chẩn đoán để tái sinh câu lệnh.

Chi Tiết 4 Khía Cạnh Đánh Giá Ngữ Nghĩa Của LLM Giám Khảo (Bảng Tham Số Bài Báo)

Khía Cạnh Đánh Giá Ký Hiệu Trọng Số Tối Ưu Ý Nghĩa & Trọng Tâm Kiểm Tra Của Giám Khảo
Tính nhất quán tên cột (Column Consistency) $C$ $w_c = 0.1$ Kiểm tra các cột được chọn có tồn tại hợp lệ và tương thích kiểu dữ liệu trong DB hay không.
Mức độ chi tiết & Phép tổng hợp (Granularity & Aggregation) $G$ $w_g = 0.3$ Kiểm tra các hàm COUNT, SUM, AVG, MAX, MIN và mệnh đề GROUP BY, HAVING có khớp cấp độ hạt của câu hỏi.
Tính nhất quán phép nối & quan hệ (Join Consistency) $J$ $w_j = 0.4$ Trọng số cao nhất! Đảm bảo các bảng được liên kết qua đúng khóa ngoại (foreign keys), tránh Cartesian Product hoặc join sai nhánh.
Sự căn chỉnh logic truy vấn (Query Logic Alignment) $Q$ $w_q = 0.2$ Kiểm tra logic mệnh đề WHERE, ORDER BY, LIMIT có phản ánh đúng mục tiêu mà người dùng đặt ra hay không.

5. Vòng Lặp 3: Kiểm Tra Suy Diễn Logic (Entailment) & Cập Nhật Tri Thức

Lớp bảo vệ cuối cùng xác thực xem tập kết quả thực tế có thực sự trả lời đúng câu hỏi người dùng hay không

Công Thức Tính Điểm Suy Diễn Logic (Entailment Scoring)

Công thức tính điểm suy diễn giữa câu hỏi $Q$ và tập kết quả $R$: $$E(Q, R) = \beta \cdot E_{schema} + (1 - \beta) \cdot E_{data} \quad (4)$$ Với $\beta = 0.2$ (ưu tiên trọng số $0.8$ cho $E_{data}$!).
- $E_{schema}$ (Tính nhất quán lược đồ): Các cột trong kết quả trả về có tương ứng đúng với các thực thể được hỏi trong $Q$ không.
- $E_{data}$ (Tính nhất quán dữ liệu): Giá trị trả về có hợp lý không? (Ví dụ: có bị dính NULL, rỗng do lỗi chia cho 0, hoặc format sai lệch không).
Quyết định rẽ nhánh: Nếu $E(Q, R) \ge \theta_e = 3$: Trả kết quả về cho người dùng và gửi cặp $(Q, SQL)$ vào module KB Enrichment để làm giàu lược đồ.
Nếu $E(Q, R) < 3$: Kích hoạt lại quy trình từ Vòng lặp 1 kèm lý do chẩn đoán sai sót.

Ví Dụ Định Tính Khắc Phục Lỗi Logic Tinh Vi (Bảng 4 Trong Bài Báo)

Câu hỏi người dùng:
"Liệt kê 3 mức tỷ lệ miễn phí hợp lệ thấp nhất cho học sinh tại các trường bổ túc."
Mã SQL ban đầu (Bị lỗi logic):
SELECT (f.Count / f.Enrollment) 
FROM frpm f JOIN schools s ON f.CDSCode = s.CDSCode 
WHERE s.SOCType LIKE '%Continuation%' 
ORDER BY 1 ASC LIMIT 3
Kết quả Entailment Check (Điểm: 2/5): Lỗi chia nguyên thành 0 và dính giá trị NULL do Enrollment = 0.
Mã SQL đã tự sửa đổi sau phản hồi:
SELECT (CAST(f.Count AS REAL) / f.Enrollment) 
FROM frpm f JOIN schools s ON f.CDSCode = s.CDSCode 
WHERE f.Enrollment > 0 AND s.SOCType LIKE '%Continuation%' 
ORDER BY 1 ASC LIMIT 3
Mục 7 Bài Báo Gốc

7. Giảm Thiểu Thiên Kiến Trong Đánh Giá Dựa Trên LLM (Mitigating Bias)

Chiến lược neo giữ phán đoán bằng Rubrics chuẩn hóa và Few-Shot Prompting để triệt tiêu thiên vị của LLM-as-a-judge

Nhóm tác giả (Jain & Shrivastava, 2026) chỉ ra rằng việc sử dụng mô hình ngôn ngữ lớn làm giám khảo (LLM-as-a-judge) tiềm ẩn nguy cơ xuất hiện các thiên kiến cố hữu (inherent biases) như: thiên vị độ dài phản hồi, thiên vị vị trí thứ tự, hoặc sự phán đoán không nhất quán giữa các lượt đánh giá độc lập (Zheng et al., 2023 [17]). Để kiểm soát rủi ro và đảm bảo tính khách quan tuyệt đối cho quá trình tự phản tỉnh, Reflect-SQL triển khai 3 trụ cột kỹ thuật:

1. Tiêu Chí Rubrics Tường Minh

Tất cả các tác vụ chấm điểm (Relevance, Completeness, 4D Semantic Scoring $S$, Entailment $E$) đều được quy định bằng khung chấm (rubrics) chi tiết với các tiêu chí định lượng từ 1 đến 5 hoặc 1 đến 10, ngăn chặn sự tùy tiện cảm tính.

Explicit Rubrics
2. Neo Giữ Few-Shot In-Context

Cung cấp các cặp ví dụ mẫu chuẩn hóa (few-shot exemplars) trực tiếp trong prompt. Các ví dụ này đóng vai trò neo giữ (anchor) phán đoán của LLM vào các tiêu chuẩn cụ thể phù hợp với tác vụ, đảm bảo tính ổn định và khả năng tái lập cao.

Few-Shot Anchoring
3. Tách Biệt Vai Trò Chấm Điểm

Mô hình sinh SQL (Generator) và mô hình giám khảo (Judge) được phân tách rõ ràng về ngữ cảnh prompt và vai trò tính toán, loại trừ nguy cơ tự xác thực thiên lệch hoặc tự bỏ qua lỗi của chính mình.

Role Isolation

6. Đánh Giá Thực Nghiệm Trên BIRD Benchmark & So Sánh SOTA

Kiểm thử toàn diện trên tập chuẩn BIRD (95 CSDL phức tạp) và bảng so sánh các mô hình LLM hàng đầu

Bảng 2: Siêu Tham Số Khung Làm Việc Reflect-SQL (Tối Ưu Bằng Grid Search)

θ_r (Retrieval)
4
θ_s (Semantic)
5
θ_e (Entailment)
3
α (R/C weight)
0.6
β (Schema/Data)
0.2
w_c (Column)
0.1
w_g (Granularity)
0.3
w_j (Join)
0.4

Bảng 3: Độ Chính Xác Thực Thi (%) Trên BIRD Dev Phân Cấp Theo Độ Khó

Mô Hình Nền Tảng (LLM Backbone) Đơn Giản (Simple) Trung Bình (Moderate) Thách Thức (Challenging) Tổng Thể (Overall) Mức Tăng Trưởng
Claude 4.5 Sonnet (Có Suy Ngẫm) 88.97% 50.65% 32.41% 72.03% +7.11%
Claude 4.5 Sonnet (Không Suy Ngẫm) 81.18% 45.25% 24.13% 64.92% Baseline
OpenAI o1-preview (Có Suy Ngẫm) 75.89% 48.49% 18.62% 62.19% +6.53%
OpenAI o1-preview (Không Suy Ngẫm) 69.35% 40.54% 15.86% 55.66% Baseline
DeepSeek Reasoner (Có Suy Ngẫm) 73.62% 46.55% 17.24% 60.10% +8.22%
DeepSeek Reasoner (Không Suy Ngẫm) 62.90% 40.54% 12.41% 51.88% Baseline
DeepSeek-Coder-V2-Lite Local (Có Suy Ngẫm) 43.55% 21.62% 3.44% 35.02% +12.38%
DeepSeek-Coder-V2-Lite Local (Không Suy Ngẫm) 30.65% 13.51% 0.00% 22.64% Baseline
Mục 9.3 Bài Báo Gốc

9.3 Đánh Giá Của Con Người (Human Evaluation)

Phân tích định tính của chuyên gia con người về sự căn chỉnh ngữ nghĩa và bắt các lỗi logic tinh vi

Qualitative Audit

Để bổ trợ cho việc đánh giá tự động dựa trên độ chính xác thực thi (Execution Accuracy), các chuyên gia con người đã trực tiếp kiểm toán định tính các câu lệnh SQL sinh ra, tập trung vào khả năng phát hiện các lỗi logic tinh vi (subtle logical errors) mà các công cụ kiểm tra cú pháp truyền thống hoàn toàn bỏ sót.

Bảng 4: Ví Dụ Về Tinh Chỉnh SQL Nhờ Phản Hồi Từ Kiểm Tra Suy Diễn Logic (Table 4 in Paper)
Giai Đoạn (Stage) Phân Tích / Đoạn Mã SQL (Analysis / SQL Snippet)
Truy vấn người dùng (User Query) "Liệt kê ba mức tỷ lệ miễn phí hợp lệ thấp nhất cho học sinh tại các trường bổ túc."
(List the lowest three eligible free rates for students in continuation schools.)
Mã SQL ban đầu (Initial SQL)
SELECT (f.Count / f.Enrollment) 
FROM frpm f JOIN schools s ON f.CDSCode = s.CDSCode 
WHERE s.SOCType LIKE '%Continuation%' 
ORDER BY 1 ASC LIMIT 3
⚠️ Mã chạy thành công trên compiler nhưng kết quả trả về toàn giá trị NULL/0 do phép chia nguyên và dính mẫu số 0.
Kết quả Entailment Check
Điểm: 2 / 5 (Thất bại, Dưới ngưỡng θ_e = 3)

Chẩn đoán tự động: Kết quả trả về chứa giá trị None/rác do chia cho 0 khi Enrollment = 0 và phép chia số nguyên bị làm tròn về 0. Cần bổ sung điều kiện Enrollment > 0 và ép kiểu CAST(f.Count AS REAL).

SQL đã tinh chỉnh (Refined SQL)
SELECT (CAST(f.Count AS REAL) / f.Enrollment) 
FROM frpm f JOIN schools s ON f.CDSCode = s.CDSCode 
WHERE f.Enrollment > 0 AND s.SOCType LIKE '%Continuation%' 
ORDER BY 1 ASC LIMIT 3
✅ Kết quả chính xác tuyệt đối, trả về 3 tỷ lệ số thực hợp lệ, vượt qua Entailment Check với điểm 5/5.

Bảng 5: So Sánh Reflect-SQL Với Các Phương Pháp Tiên Tiến Nhất (SOTA on BIRD Dev)

Phương Pháp (Method) Hội Nghị / Công Bố Độ Chính Xác Tổng Thể (%) Khoảng Cách So Với Reflect-SQL
BIRD Baseline Paper NeurIPS 2023 46.35% -25.68%
DIN-SQL (Pourreza et al.) ACL 2023 50.72% -21.31%
DAIL-SQL (Gao et al.) VLDB 2024 57.41% -14.62%
MAC-SQL (Wang et al.) LREC-COLING 2024 59.59% -12.44%
CHASE-SQL + Claude 3.5 Sonnet arXiv:2410.01943 69.53% -2.50%
Reflect-SQL + Claude 4.5 Sonnet (Của Nhóm Tác Giả) IIIT Hyderabad (2025/2026) 72.03% Đỉnh Cao SOTA

7. Phân Tích Cắt Bỏ Thành Phần (Ablation Analysis)

Đo lường sự đóng góp định lượng của từng vòng lặp tự suy ngẫm trên mô hình DeepSeek-Chat

Biến Thể Mô Hình (Variant) Đơn Giản (Simple) Trung Bình (Moderate) Thách Thức (Challenging) Tổng Thể (Overall) Mức Suy Giảm Khi Loại Bỏ
Mô Hình Đầy Đủ (Full Model - All 3 Loops) 68.64% 43.10% 14.48% 55.80% Chuẩn
Không có tự suy ngẫm trong sinh SQL (w/o SQL Reflection) 62.91% 37.93% 12.41% 50.58% -5.22% (Mất mát lớn nhất!)
Không có kiểm tra suy diễn logic (w/o Entailment Check) 64.10% 41.59% 13.10% 52.47% -3.33%
Không có truy xuất RAG lặp lại (w/o Iterative Retrieval) 67.02% 40.30% 10.34% 53.58% -2.22%
Vòng Lặp Sinh SQL Là Xương Sống: Việc loại bỏ bước tự sửa lỗi cú pháp & ngữ nghĩa gây sụt giảm lớn nhất (-5.22%), chứng minh các sai sót về join và điều kiện gom nhóm xảy ra thường xuyên nếu chỉ sinh mã một lượt.
Entailment Bắt Lỗi Tinh Vi: Việc loại bỏ kiểm tra suy diễn logic làm mất 3.33% độ chính xác. Đây là các trường hợp SQL chạy ra kết quả nhưng kết quả trống rỗng hoặc dính lỗi chia cho 0.
Truy Xuất Phân Cấp Khóa Vững Schema: Truy xuất lặp giúp tăng cường độ chính xác trên các bài toán trung bình và khó bằng cách tự động định dạng lại câu hỏi khi phát hiện thiếu bảng quan hệ.
Ứng Dụng Khóa Luận Tốt Nghiệp

8. Kế Thừa & Chuyển Giao Công Nghệ Vào Hệ Thống SmartRestaurant

Xây dựng Trợ lý Quản trị & Phân tích Dữ liệu Nhà hàng (Aria Text-to-SQL Engine trên PostgreSQL)

Hệ thống SmartRestaurant quản lý cơ sở dữ liệu quan hệ phức tạp trên PostgreSQL bao gồm các bảng: orders, order_items, menu_items, categories, tables, customers, kitchen_tickets, inventory_logs. Quản lý nhà hàng thường xuyên đặt ra các câu hỏi phân tích bằng ngôn ngữ tự nhiên: "Món nào có tỷ lệ khách gọi lại cao nhất tháng này?", "Bàn số 5 đã đợi món khai vị bao lâu?", "Doanh thu ca tối hôm qua theo từng danh mục?". Reflect-SQL là giải pháp kiến trúc hoàn hảo để Aria sinh mã SQL chuẩn xác tuyệt đối, không gây treo DB hay trích xuất sai dữ liệu.

Bảng Ánh Xạ Khung Làm Việc Reflect-SQL Sang Nghiệp Vụ SmartRestaurant

Thành Phần Trong Reflect-SQL (Jain et al., 2025) Hiện Thực Hóa Trong SmartRestaurant (Trợ Lý Aria) Lợi Ích Nghiệp Vụ Vượt Trội
Cơ Sở Tri Thức Phân Cấp (Hierarchical KB) Tự động nhúng mô tả cấu trúc bảng PostgreSQL + Từ điển thuật ngữ món ăn Giải nghĩa các tên cột rút gọn như prep_time_m, is_combo, tax_rate_bps cho LLM hiểu đúng.
Vòng Lặp Truy Xuất Lặp & Tinh Chỉnh Câu Hỏi Tự động phân rã các truy vấn mơ hồ ("Món bán chạy nhất?") Viết lại rõ ràng: "Top 5 món có tổng số lượng gọi cao nhất trong bảng order_items với trạng thái COMPLETED trong 7 ngày qua".
Xác Thực Cú Pháp & Ngữ Nghĩa (w_j = 0.4) Chạy kiểm thử EXPLAIN trong PostgreSQL sandbox trước khi chạy thực Ngăn chặn 100% các câu lệnh JOIN thiếu khóa gây tràn bộ nhớ RAM database server.
Kiểm Tra Suy Diễn Logic (Entailment Check) Kiểm tra kết quả trả về: loại bỏ đơn hủy (status != 'CANCELLED'), kiểm tra division-by-zero Báo cáo doanh thu và KPI không bị sai lệch số liệu tài chính của nhà hàng.
Làm Giàu Tri Thức Tự Động (KB Enrichment) Ghi nhớ biệt danh món ăn (ví dụ "Trà sữa nướng" → item_id = 108) sau mỗi lần query đúng Hệ thống ngày càng thông minh và phản hồi nhanh hơn qua thời gian thực tế.

Quy Trình Aria Text-to-SQL Khép Kín Cho Quản Lý Nhà Hàng

sequenceDiagram autonumber actor QuanLy as Quản Lý Nhà Hàng participant Aria as Trợ Lý Ảo Aria (Chat UI) participant KB as Dynamic Schema KB (Pgvector) participant SQLGen as Reflect-SQL Generator participant Postgres as PostgreSQL Engine (Read-Only) participant Judge as Entailment Validator QuanLy->>Aria: "Bàn nào đang đợi món lâu nhất ca trưa?" Aria->>KB: Truy xuất bảng [orders, tables, kitchen_tickets] KB-->>SQLGen: Schema Context đã căn chỉnh + Join Paths SQLGen->>Postgres: EXPLAIN query SQL (Test cú pháp) Postgres-->>SQLGen: Cú pháp hợp lệ SQLGen->>Postgres: Chạy thực thi (SELECT ...) Postgres-->>Judge: Tập kết quả (Bàn 4, 32 phút) Judge->>Judge: Kiểm tra logic: Có lọc status 'IN_PROGRESS' chưa? Judge-->>Aria: Đạt Entailment (Score 5/5) + Cập nhật KB Aria-->>QuanLy: "Bàn số 4 đang đợi món Lẩu Thái 32 phút (quá ngưỡng 20p)"

9. Tài Liệu Tham Khảo & Trích Dẫn BibTeX

Các ấn phẩm khoa học nền tảng liên quan và mã trích dẫn tiêu chuẩn

[1] Jain, A., & Shrivastava, M. (2025/2026). Reflect-SQL: A Self-Reflection Based Framework for Text-to-SQL. IIIT Hyderabad.
[2] Li, J., et al. (2023). BIRD: A Big Bench for Large-Scale Database Grounded Text-to-SQL Evaluation. In NeurIPS 2023.
[3] Pourreza, M., & Ghasemzadeh, H. (2023). DIN-SQL: Decomposed In-Context Learning of Text-to-SQL with Self-Correction. In ACL 2023.
[4] Pourreza, M., et al. (2024). CHASE-SQL: Multi-Path Reasoning and Preference Optimized Candidate Selection in Text-to-SQL. In arXiv:2410.01943.
Trích dẫn BibTeX chuẩn Reflect-SQL 2026
@article{jain2026reflectsql,
  author    = {Anupreksha Jain and Manish Shrivastava},
  title     = {Reflect-SQL: A Self-Reflection Based Framework for Text-to-SQL},
  journal   = {International Institute of Information Technology Hyderabad Technical Report},
  year      = {2026},
  publisher = {IIIT Hyderabad, India}
}