Hướng dẫn: bắt LLM trả về JSON đúng định dạng 100% (structured output)
Nhiều bạn hỏi vì sao LLM thỉnh thoảng trả JSON lỗi (thiếu ngoặc, thêm chữ ngoài JSON). Tổng hợp cách mình làm: 1. Dùng tính năng structured output / JSON schema của API nếu có. Đây là cách chắc nhất. 2. Không có thì dùng tool/function calling: khai báo 1 tool với schema, yêu cầu model gọi tool đó. 3. Luôn validate bằng code (Pydantic, Zod...). Lỗi thì gửi lại kèm thông báo lỗi cho model sửa, tối đa 2 lần. 4. Schema đơn giản thôi: ít tầng lồng nhau, field có mô tả rõ, dùng enum cho giá trị cố định. Ai có mẹo khác bổ sung nhé.