Nhận diện vấn đề cốt lõi
- Không giống con người, AI agent hoàn toàn không cần CSS, JS phía client, hình ảnh
- Những thành phần này chỉ làm lãng phí token và hầu như không cung cấp thông tin thực sự hữu ích
- Điều agent cần chỉ là văn bản sạch, có cấu trúc
Giải pháp của Vercel
- Tận dụng cơ chế HTTP đàm phán nội dung (Content Negotiation)
- Trả về định dạng khác nhau trên cùng một URL tùy theo yêu cầu của client
- Con người (trình duyệt) → trải nghiệm HTML + CSS + JS đầy đủ
- AI agent → cung cấp Markdown
- Triển khai mà không cần site riêng hay nhân đôi nội dung
Cách hoạt động (dựa trên header Accept)
- Ví dụ header do agent gửi
Accept: text/markdown, text/html, */*- → cho biết Markdown là định dạng được ưu tiên cao nhất
- Middleware của Vercel kiểm tra header Accept
- Nếu ưu tiên Markdown → chuyển tiếp đến route handler của Next.js
- Chuyển đổi nội dung rich-text của Contentful sang Markdown để phản hồi
- Khối mã: giữ nguyên marker tô sáng cú pháp
- Tiêu đề: bảo toàn cấu trúc phân cấp
- Liên kết: giữ nguyên
Hiệu quả và số liệu
- Một bài blog thông thường
- Bản HTML: khoảng 500KB
- Bản Markdown: khoảng 2KB
- Tỷ lệ giảm dung lượng: 99.6%
- Lợi ích
- Tối đa hóa hiệu quả ngân sách token → tập trung vào thông tin thực tế thay vì markup
- Có thể xử lý nhiều nội dung hơn trên mỗi yêu cầu
- Hoạt động nhanh hơn + ít chạm giới hạn token hơn
Khả năng bảo trì kỹ thuật
- Sử dụng remote cache của Next.js 16 + slug dùng chung
- Khi nội dung Contentful được cập nhật, bản HTML và bản Markdown được làm mới đồng thời → duy trì đồng bộ
Hỗ trợ agent khám phá nội dung
- Cung cấp sitemap chuyên dụng ở định dạng Markdown
- Thông tin bao gồm: ngày phát hành, loại nội dung, liên kết trực tiếp đến từng bản HTML/Markdown, v.v.
- Giúp agent nắm được toàn bộ bản đồ nội dung khả dụng → dễ chọn định dạng tối ưu
Ý nghĩa kết luận
- Thừa nhận rằng cách con người và AI tiêu thụ web là khác biệt về bản chất
- Một ví dụ thực tiễn về việc cung cấp trải nghiệm tối ưu cho từng loại client
- Điểm khởi đầu quan trọng cho web phục vụ cả con người lẫn AI
2 bình luận
Những thứ như thế này có vẻ rất đáng để học theo.
Có lẽ web trong tương lai cũng có thể sẽ tồn tại dưới dạng không có UI/UX..