Tách prompt khỏi vòng đời deploy: prompt là dữ liệu có phiên bản, code chỉ tham chiếu tới một phiên bản.
Cấu trúc tối thiểu:
- Bảng prompts (key, version, template, model, params, created_by, created_at) — bản ghi bất biến, sửa là tạo phiên bản mới.
- Bảng prompt_deployments (key, env, active_version) — trỏ tới phiên bản đang chạy. Rollback = đổi con trỏ này, có hiệu lực trong vài giây.
- Server cache bản đang hoạt động trong bộ nhớ, có TTL ngắn để không truy vấn DB ở mỗi request.
Ghi phiên bản vào mọi dấu vết. Mỗi request log lại prompt_key, prompt_version, model. Không có trường này thì khi chất lượng tụt bạn không so sánh được trước và sau, và cũng không biết nên quay về đâu.
Phát hiện tụt chất lượng nhanh:
- Cổng offline trước khi bật: chạy phiên bản mới trên bộ dữ liệu vàng, chặn nếu điểm số thấp hơn bản đang chạy.
- Tín hiệu online sau khi bật: tỷ lệ phản hồi tiêu cực, tỷ lệ trả về sai định dạng, tỷ lệ chuyển sang người thật, độ dài đầu ra bất thường, chi phí token mỗi lượt. Cảnh báo khi lệch khỏi đường cơ sở của phiên bản trước.
- Bật dần: cho phiên bản mới nhận 5–10% lưu lượng trước, mở rộng khi các chỉ số ổn định.
Cạm bẫy: cho người không có kỹ thuật sửa prompt trực tiếp trên production mà không có cổng đánh giá — đây là cách nhanh nhất để chất lượng đi xuống mà không ai truy được nguyên nhân. Giữ luồng: đề xuất → chạy eval → duyệt → bật dần.