Bỏ qua để đến nội dung

XML/Markdown/JSON trong prompt

Level: L2 — Prompt & Context Engineering (Bài 5/10)

Sau bài này, bạn có thể:

  • Dùng XML tags để tách rõ các phần của 1 prompt phức tạp — giảm khả năng AI hiểu nhầm.
  • Kiểm soát lượng Markdown xuất hiện trong câu trả lời của AI thay vì chỉ chấp nhận mặc định.
  • Biết vì sao JSON trong prompt chỉ được giới thiệu sơ lược ở đây, kỹ thuật đầy đủ nằm ở bài 13.
  • Chọn đúng định dạng tuỳ theo mục đích: cấu trúc INPUT hay kiểm soát OUTPUT.
  • XML tags — dùng để cấu trúc phần INPUT: tách rõ đâu là instruction, ngữ cảnh, ví dụ, dữ liệu cần xử lý. Theo Anthropic, “tag XML giúp Claude phân tích prompt phức tạp một cách không mơ hồ” [S37].
  • Markdown — chủ yếu nói về kiểm soát lượng Markdown trong OUTPUT — giảm bullet/heading nếu muốn văn xuôi liền mạch, hoặc giữ nguyên nếu cần cấu trúc rõ [S37].
  • JSON — chỉ giới thiệu mức khái niệm; kỹ thuật ép buộc đúng JSON schema là chủ đề riêng của bài 13.
  • Với prompt dài, phức tạp, AI có thể hiểu nhầm ranh giới “đây là instruction” và “đây là dữ liệu cần xử lý” — XML tags giải quyết trực tiếp.
  • Nhiều người khó chịu vì AI trả lời “quá nhiều bullet point” mà không biết đây là điều có thể kiểm soát được.
  • Biết ranh giới “giới thiệu định dạng” (bài này) và “ép buộc cấu trúc đáng tin cậy” (bài 13) giúp chọn đúng công cụ.

XML tags [S37]: bọc từng loại nội dung trong tag riêng (<instructions>, <context>, <input>); dùng tên tag nhất quán; lồng tag khi có phân cấp tự nhiên (nhiều tài liệu → <documents>, mỗi tài liệu → <document index="n">).

Markdown (kiểm soát output) [S37]: muốn giảm markdown → nói AI làm gì thay vì đừng làm gì (ví dụ “viết dưới dạng đoạn văn liền mạch” thay vì “đừng dùng markdown”) — diễn đạt tích cực hiệu quả hơn phủ định. Phong cách của chính prompt ảnh hưởng phong cách output — bỏ markdown khỏi prompt có thể giảm markdown trong output.

JSON: yêu cầu bằng lời là cách đơn giản nhất nhưng không đảm bảo hợp lệ 100% — cần Structured Outputs (bài 13) để có đảm bảo đó.

Hình dung 3 định dạng theo 3 vai trò trong 1 văn phòng: XML tags = thư mục hồ sơ có nhãn rõ ràng; Markdown = yêu cầu hình thức trình bày báo cáo; JSON = biểu mẫu có cấu trúc bắt buộc — yêu cầu bằng lời giống nhờ ai đó điền đúng mẫu, Structured Outputs (bài 13) giống đưa sẵn tờ mẫu in sẵn ô trống.

  1. Prompt phức tạp, nhiều loại nội dung: bọc từng phần trong XML tag riêng, dùng tên nhất quán.
  2. Nhiều tài liệu/nguồn dữ liệu: lồng tag theo phân cấp.
  3. Output quá nhiều/quá ít markdown: viết yêu cầu ở dạng “hãy làm X” thay vì “đừng làm Y”.
  4. Cần kiểm soát chi tiết định dạng: viết hướng dẫn cụ thể về heading, in đậm, danh sách.
  5. Cần JSON đáng tin cậy 100% cho xử lý tự động: chuyển sang bài 13.

XML tags [S37]: xử lý nhiều tài liệu, bọc chung <documents>, mỗi tài liệu trong <document index="n"> kèm <document_content><source>.

Kiểm soát Markdown [S37]: yêu cầu AI “viết báo cáo… dưới dạng đoạn văn rõ ràng, liền mạch; chỉ dùng markdown cho code inline, khối code, và heading đơn giản; tránh in đậm/in nghiêng; không dùng danh sách trừ khi thực sự đang liệt kê các mục rời rạc.”

Template cấu trúc prompt bằng XML:

<instructions>
[Yêu cầu cụ thể cần AI thực hiện]
</instructions>
<context>
[Bối cảnh/lý do cần thiết]
</context>
<input>
[Dữ liệu/nội dung cần xử lý]
</input>

Template giảm markdown trong output:

Viết câu trả lời dưới dạng đoạn văn liền mạch, đầy đủ câu và ý. Chỉ dùng
markdown cho code inline hoặc khối code nếu thực sự cần. Không dùng danh
sách gạch đầu dòng trừ khi đang liệt kê các mục thực sự rời rạc.
XML tagsThư mục hồ sơcó nhãn rõ ràng(phân loại prompt)MarkdownYêu cầu hình thứctrình bày outputJSONBiểu mẫu có cấu trúcbắt buộc — xem Bài 13
Hình 2.6 — XML, Markdown, JSON trong prompt: 3 vai trò khác nhau trong 'văn phòng' prompt.
  1. Lấy 1 prompt phức tạp bạn từng viết, viết lại bằng XML tags theo template ở mục 8. So sánh độ chính xác kết quả.
  2. Lấy 1 câu trả lời AI từng “quá nhiều bullet point”, áp dụng template giảm markdown, so sánh kết quả.

(Suy luận từ nguyên tắc trong [S37], không phải khảo sát lỗi người dùng đã ghi nhận chính thức.)

  • Dùng tên tag không nhất quán giữa các phần của cùng 1 prompt.
  • Diễn đạt phủ định khi muốn kiểm soát markdown thay vì diễn đạt tích cực.
  • Chỉ yêu cầu JSON bằng lời cho hệ thống tự động xử lý kết quả — cần Structured Outputs (bài 13) nếu độ tin cậy 100% là bắt buộc.

13. Giới hạn & khi nào KHÔNG nên áp dụng

Phần tiêu đề “13. Giới hạn & khi nào KHÔNG nên áp dụng”
  • Với prompt ngắn, đơn giản, chỉ 1 loại nội dung, dùng XML tags là thừa.
  • Kiểm soát markdown là yêu cầu “best-effort” — không đảm bảo tuyệt đối như Structured Outputs.
  • Bài này không đi sâu vào JSON — nếu cần JSON đáng tin cậy, đọc bài 13.

Bài này không có rủi ro an toàn/quản trị trực tiếp. Lưu ý gián tiếp: nếu dùng XML tags bọc dữ liệu thật của khách hàng/công ty, nguyên tắc quản lý dữ liệu nhạy cảm ở bài 2 (L1) vẫn áp dụng đầy đủ — bọc trong tag không làm thay đổi mức độ nhạy cảm của dữ liệu.

  1. Dùng XML tags khi prompt trộn lẫn nhiều loại nội dung.
  2. Lồng tag theo phân cấp tự nhiên khi xử lý nhiều tài liệu.
  3. Diễn đạt tích cực thay vì phủ định khi kiểm soát markdown.
  4. Với JSON cần độ tin cậy cao, chuyển sang bài 13.
16. Nội dung nâng cao (không bắt buộc)
  • Model hiện đại mặc định dùng LaTeX cho biểu thức toán học/kỹ thuật — muốn văn bản thuần cần yêu cầu rõ [S37].
  • “Match phong cách prompt với phong cách output mong muốn” là nguyên tắc rộng hơn: phong cách viết của bạn trong prompt có xu hướng “lan” sang câu trả lời.

[S37] Prompting best practices, Claude Platform Docs (Anthropic).

2026-07-12. Nội dung khái niệm ổn định, ít lỗi thời. Hành vi mặc định của model (ví dụ LaTeX) có thể thay đổi theo phiên bản.