# Structured output (đầu ra có cấu trúc)

> VI: https://5ac.vn/wiki/structured-output/ · EN: https://5ac.vn/en/wiki/structured-output/ · lang: vi · spec_as_of 2026-10-21 (spec no formal spec) · cluster C16

Yêu cầu mô hình trả về định dạng máy đọc được — JSON theo schema, regex hoặc EBNF — thay vì văn bản tự do; nền của pipeline tự động và agent gọi công cụ.

---
## Định nghĩa

Structured output (đầu ra có cấu trúc) là yêu cầu mô hình phải trả về một định dạng mà chương trình đọc được: JSON khớp với JSON Schema, chuỗi đúng regex, hoặc văn phạm EBNF — thay vì đoạn văn tự do. Câu trả lời viết cho người thì dễ đọc là đủ; đầu ra có cấu trúc viết cho máy, nên bước pipeline kế tiếp phải parse được ngay. Khái niệm không có bộ đặc tả chung: engine tự mô tả khả năng bằng những bộ công cụ khác nhau, phần kiểm chứng thuộc về người dùng.

## Cơ chế

Engine suy luận là nơi định dạng được ép chạy thật. Bài về stack inference production của DeepSeek ghi engine nhận structured output theo ba hướng — regex, JSON Schema hay EBNF — đặt cạnh hai tính năng hiếm cho đội eval/RL là batch-invariant inference và deterministic sampling. Ở đầu phổ mã nguồn mở, llama-server trong llama.cpp đưa API tương thích OpenAI kèm JSON schema và function calling, còn SGLang được bài local AI xếp vào nhóm "rất giỏi structured outputs, long context, MoE".

Nơi hỏng hay gặp nằm ở lượng tử hóa: bản local AI cảnh báo Q3/Q2 — mức phải nén model mạnh nhất — là lúc "toán, code, structured output, tool use hỏng trước tiên", và một model nhỏ hơn ở chính xác cao hơn đôi khi thắng model to hơn bị nén quá mạnh.

JSON Schema 2020-12 cũng nằm trong bảng đặc tả của các thời kỳ MCP — phần lịch sử do entry [Các thời kỳ của giao thức MCP](/wiki/mcp-eras/) giữ, nên ở đây chỉ dẫn tới đó.

## Bối cảnh ứng dụng

Với đội agent, giá trị thật nằm xa lời giới thiệu: trong bảng so sánh 6 model flash Trung Quốc cho agent harness, chỉ một model đạt json_schema verified HTTP 200 — "duy nhất trong bộ" — và chính bài đó ghi JSON strict chưa có benchmark công khai, BFCL với GAIA vắng bàn, nên muốn tin phải tự đo trên workload thật. Đầu ra cũng suy giảm theo bậc quantization: đó là lý do nhóm chốt bản 4-bit cho chat, document nhưng chừa dư địa cho structured output.

Pipeline CRM, hóa đơn hay báo cáo nội bộ cần đúng một schema để ghi thẳng vào hệ thống: payload đúng chuẩn thì tự đi tiếp, lệch một trường là cảnh báo cho người sửa.

## Nguồn đã truy xuất

- [DeepSeek mở stack inference production: thay đổi gì cho người tự host](/blog/deepseek-mo-stack-inference-production/) — engine nhận structured output theo regex/JSON schema/EBNF — truy cập 21/10/2026
- [So sánh 6 model flash Trung Quốc cho agent harness 2026](/blog/so-sanh-model-flash-trung-quoc-agent-harness/) — json_schema verified HTTP 200, JSON strict chưa có benchmark công khai — truy cập 21/10/2026
- [Local AI 2026: Từ chiếc RTX 3090 đến hạ tầng on-prem cho doanh nghiệp](/blog/local-ai-2026-from-rtx3090-to-enterprise/) — llama-server JSON schema, SGLang structured outputs, ngưỡng quant — truy cập 21/10/2026

## Liên quan

- [Các thời kỳ của giao thức MCP (MCP eras)](/wiki/mcp-eras/)
- [Inference engine (vLLM, engine suy luận)](/wiki/inference-engine/)
