Bài viết
Đừng ném thẳng SOP cho AI Agent nữa: Dùng RFC 2119 (MUST/SHOULD/MAY) để kiểm soát chính xác hành vi của Agent
Ném thẳng tài liệu SOP của con người vào LLM thường khiến Agent chạy đúng một lần nhưng toang tới ba lần. Bài viết này hướng dẫn cách dùng MUST, SHOULD, MAY trong RFC 2119 để viết lại System Prompt và Agent Skill, phân định rõ ràng giữa ràng buộc cứng, khuyến nghị mạnh và quyền tự quyết, đi kèm ba nguyên tắc triển khai thực tế.
· 4 phút đọc
Cái bẫy phổ biến nhất mà nhiều team gặp phải khi đưa Agent vào thực tế là bê nguyên cả file SOP trên Word/Notion vốn dành cho người đọc nhét thẳng vào LLM, rồi kỳ vọng nó tự xử lý ngon lành. Kết quả thường chẳng khác gì chơi xổ số: một lần chạy đúng thì ba lần toang.
Vấn đề không nằm ở việc model chưa đủ mạnh, mà là SOP của con người ẩn chứa rất nhiều "tri thức ngầm (Tacit Knowledge)". Não người sẽ tự hiểu "số tiền dưới 500 thì không cần duyệt", "bước này gặp lỗi thì cứ tạm bỏ qua"; nhưng với LLM, văn bản phi cấu trúc không hề có ranh giới mạnh yếu, và nó chỉ còn cách tự biên tự diễn.
Để hành vi của Agent đạt được tính xác định (determinism), bước đầu tiên không phải là đổi sang model to hơn, mà là áp dụng tiêu chuẩn kinh điển từ các đặc tả giao thức mạng: phân cấp ngữ nghĩa theo RFC 2119.
Tóm lại trước: Chỉ gán MUST cho compliance, bảo mật và Schema cốt lõi; các ranh giới còn lại hãy để cho SHOULD và MAY; các điểm nút rủi ro cao thì giao cho con người xét duyệt.
Tại sao lại là RFC 2119?#
Khi viết System Prompt, Agent Skill hay Workflow Rule, những câu mơ hồ như "vui lòng lưu ý", "tốt nhất nên", "cố gắng" hoàn toàn không có tính ràng buộc đối với model. Chuyển sang các cấp độ động từ rõ ràng sẽ ép model phải phân định ranh giới ra quyết định một cách dứt khoát.
MUST / REQUIRED: Ràng buộc cứng, không thỏa hiệp#
- Ngữ nghĩa: Tuyệt đối không được bỏ qua, không có ngoại lệ.
- Áp dụng cho: Validate dữ liệu, kiểm tra bảo mật, quy chuẩn output của Schema, chặn đứng rủi ro cao.
- Ví dụ: "Trước khi gọi API hóa đơn,
MUST xác thực mã nhân viên có tồn tại hay không; nếu giá trị trả về rỗng, MUST lập tức dừng thực thi."
SHOULD / RECOMMENDED: Khuyến nghị mạnh, nhưng cho phép lệch hướng hợp lý#
- Ngữ nghĩa: Bắt buộc phải tuân thủ trừ khi có lý do ngữ cảnh cực kỳ thỏa đáng; nếu đi chệch hướng, Agent phải giải trình được lập luận suy luận của mình.
- Áp dụng cho: Lựa chọn chiến lược thuật toán, thiên hướng phân loại, logic retry.
- Ví dụ: "Đối với Ticket dạng tư vấn khách hàng,
SHOULD ưu tiên gán cho CSKH tuyến một; nhưng nếu liên quan đến tranh chấp thanh toán, cho phép chuyển sang đội kiểm toán tài chính."
MAY / OPTIONAL: Tùy chọn tự do, toàn quyền quyết định#
- Ngữ nghĩa: Model có thể tự quyết định thực thi hay không tùy thuộc vào tài nguyên ngữ cảnh hiện tại hoặc budget token.
- Áp dụng cho: Thông tin bổ sung, gợi ý mở rộng tư duy, định dạng log tùy chọn.
- Ví dụ: "Khi tạo tóm tắt xử lý,
MAY đính kèm 1~2 Ticket ID lịch sử của các vụ việc tương tự để tham khảo."
Ba nguyên tắc triển khai thực tế#
1. Tránh rải MUST khắp nơi, chừa không gian cho Reasoning#
Viết mọi quy tắc thành MUST chẳng khác nào coi LLM như một Deterministic Compiler, rất dễ dẫn đến xung đột quy tắc hoặc bế tắc logic do Context bị phình to. Chỉ đánh dấu MUST cho "compliance, bảo mật, Schema cốt lõi", các ranh giới còn lại hãy giao cho SHOULD.
2. Kết hợp với các khối Markdown có cấu trúc#
Chia tách Prompt thành bốn khối bên dưới để phạm vi hiệu lực (Scope) của từng mức độ ngữ nghĩa rõ ràng trong nháy mắt:
## Parameters
## Constraints (RFC 2119)
## Execution Steps
## Error Handling
3. Buộc các điểm nút rủi ro cao vào Human-in-the-loop#
Khi điều kiện chạm tới ranh giới MUST trọng yếu (như số tiền một giao dịch > $5,000, thay đổi quyền Admin), hành vi MUST duy nhất của Agent là "tạm dừng pipeline, chờ con người duyệt nhấn OK", chứ không được tự ý quyết định thay con người.
Kết luận: Từ đồ chơi Demo tiến lên Production-Ready#
Hãy coi Agent như một dây chuyền sản xuất công nghiệp, thay vì một "siêu nhân đa năng" ôm đồm việc vặt. Bằng cách thiết lập khế ước hành vi thông qua RFC 2119, Agent của bạn mới thực sự thoát mác đồ chơi Demo để vươn tới đẳng cấp Production-Ready phục vụ môi trường thực tế.