4.3 Enforce structured output using tool use and JSON schemas
Ép đầu ra có cấu trúc bằng tool use + JSON schema, và thiết kế schema để model không phải bịa.
- Tool use với JSON schema là cách tin cậy nhất để có đầu ra đúng schema — loại bỏ lỗi cú pháp JSON.
- Schema không chặn lỗi ngữ nghĩa: tổng các dòng không bằng tổng tiền, giá trị nằm sai trường — vẫn cần validate.
- Thông tin có thể không có trong tài liệu → trường nullable/optional. Bắt buộc mọi trường sẽ khiến model bịa cho đủ.
- Hạng mục mở rộng được → enum có "other" + trường mô tả; ca mơ hồ → giá trị "unclear". Thêm quy tắc chuẩn hóa định dạng vào prompt.
- Nhiều schema trích xuất, chưa biết loại tài liệu → tool_choice: "any" để chắc chắn có đầu ra có cấu trúc. Một bước phải chạy trước → ép đúng tool đó ({"type":"tool","name":"extract_metadata"}).