AI Skill có thể được kích hoạt đúng nhưng vẫn cho kết quả khó dùng nếu đầu ra không có hợp đồng rõ ràng. Output contract là bộ quy tắc mô tả AI phải trả về những trường nào, theo thứ tự nào và với tiêu chí kiểm tra ra sao. Khi contract được thiết kế tốt, người dùng dễ đọc kết quả, hệ thống dễ kiểm thử và các Skill phối hợp với nhau ít lỗi hơn.
Output contract của AI Skill là gì?
Output contract là cam kết về hình dạng và chất lượng tối thiểu của đầu ra. Nó quy định AI phải trả về trường nào, theo thứ tự nào và với tiêu chí kiểm tra ra sao; nhờ đó kết quả có thể đọc, so sánh và tái sử dụng thay vì chỉ đúng một lần.
Vì sao Skill cần contract đầu ra?
Không có contract, cùng một yêu cầu có thể tạo ra kết quả dài ngắn khác nhau, thiếu trường hoặc sai thứ tự. Điều này dễ làm hỏng bước chuyển sang CMS, bảng tính hoặc Skill tiếp theo. Contract biến câu trả lời tự do thành kết quả có thể kiểm thử và hồi quy.
Sáu thành phần nên có trong output contract
Một contract thực dụng gồm mục tiêu đầu ra, trường bắt buộc, kiểu dữ liệu và định dạng, giới hạn độ dài, tiêu chí chất lượng, cùng cách báo lỗi hoặc thiếu dữ liệu. Sáu thành phần này đủ để kiểm tra kết quả mà không biến contract thành toàn bộ quy trình.
Cách viết contract dễ hiểu cho AI
Viết contract theo thứ tự: đầu ra trước, trường bắt buộc sau, rồi đến định dạng và tiêu chí kiểm tra. Mỗi quy tắc nên là một câu mệnh lệnh rõ ràng. Ví dụ: Trả về một bài blog tiếng Việt gồm một H1, H2/H3 logic, FAQ, ba SEO title, meta description, canonical và danh sách link nội bộ đã xác minh.
Quy trình kiểm thử output contract
Tạo một yêu cầu chuẩn để kiểm tra đủ trường, một yêu cầu thiếu dữ liệu để xem Skill có báo NEEDS_SOURCE hay không, rồi thử một yêu cầu gần phạm vi nhưng thuộc Skill khác. Cuối cùng chạy lại cùng bộ test sau mỗi lần sửa contract và so sánh các trường bắt buộc. Có thể kết hợp với bộ test hồi quy AI Skill để phát hiện lỗi sớm.
Checklist trước khi đóng gói Skill
Checklist: mục tiêu đầu ra rõ; trường bắt buộc có thể kiểm tra; kiểu dữ liệu và thứ tự nhất quán; giới hạn hợp lý; có cách báo NEEDS_SOURCE; có positive, negative và conflict case; contract không mâu thuẫn với instructions.
Output contract có bắt buộc phải là JSON không?
Không. JSON hữu ích khi đầu ra được máy khác đọc, còn bài viết, checklist hoặc bảng có thể dùng Markdown. Điều quan trọng là trường và tiêu chí phải rõ.
Contract càng chi tiết càng tốt phải không?
Không. Contract nên đủ chi tiết để kiểm tra đầu ra nhưng không biến thành toàn bộ quy trình. Quy tắc thừa hoặc mâu thuẫn làm Skill khó linh hoạt.
Khi thay đổi contract có cần chạy lại test không?
Có. Chỉ một thay đổi nhỏ ở tên trường, thứ tự hoặc giới hạn cũng có thể làm hỏng bước downstream. Hãy chạy lại bộ test hồi quy và ghi nhận kết quả trước khi đóng gói.
Để triển khai an toàn, hãy đọc thêm cách xây dựng bộ test hồi quy cho AI Skill, cách thiết kế trigger và negative control và cách viết description đúng phạm vi. Output contract là lớp nghiệm thu giúp Skill tạo kết quả ổn định, dễ kiểm thử và dễ mở rộng.
