Tuyệt vời! Với vai trò là một chuyên gia kỹ thuật prompt, tôi sẽ tiến hành phân tích chi tiết cấu trúc prompt bạn cung cấp.
1. Phân tích Cấu trúc Prompt
Prompt này được thiết kế để yêu cầu hệ thống AI tối ưu hóa và tạo ra một lịch trình phẫu thuật chi tiết cho một khoảng thời gian nhất định. Cấu trúc của prompt bao gồm các phần chính sau:
- Mục tiêu chính: “Tối ưu hóa lịch trình phẫu thuật cho tuần từ [NGÀY_BẮT_ĐẦU] đến [NGÀY_KẾT_THÚC].” Đây là câu lệnh trực tiếp, xác định rõ nhiệm vụ và phạm vi thời gian của kết quả mong muốn.
- Dữ liệu đầu vào: “Lập danh sách các ca phẫu thuật [DANH_SÁCH_CA_PHẪU_THUẬT] với thông tin về: Tên thủ thuật, Bác sĩ phẫu thuật chính, Đội ngũ hỗ trợ (Gây mê, Y tá), Thời gian dự kiến, Mức độ ưu tiên (Khẩn cấp/Thông thường/Lên kế hoạch).” Phần này định nghĩa các biến và thuộc tính cần thiết cho mỗi ca phẫu thuật. Các biến này sẽ là những thông tin cần được cung cấp bởi người dùng hoặc lấy từ một nguồn dữ liệu khác khi sử dụng template.
- Ràng buộc và Tiêu chí tối ưu hóa: “Đảm bảo các yếu tố: thời gian thực hiện không xung đột, có đủ nhân lực cho mỗi ca, và lịch trình tuân thủ giờ làm việc của nhân viên y tế. Cân nhắc nghỉ ngơi của phẫu thuật viên chính giữa các ca mổ kéo dài.” Đây là phần quan trọng nhất, đặt ra các quy tắc và điều kiện mà lịch trình phải tuân thủ để đạt được tối ưu hóa thực sự. Bao gồm các yếu tố về xung đột lịch, nguồn lực (nhân lực), quy định làm việc và cả yếu tố con người (nghỉ ngơi).
- Định dạng đầu ra: “Trình bày lịch trình theo: Phòng mổ | Ngày | Giờ bắt đầu | Giờ kết thúc dự kiến | Thủ thuật | Bác sĩ chính | Đội ngũ hỗ trợ”. Phần này chỉ định rõ cấu trúc bảng hoặc định dạng trình bày mà người dùng mong muốn nhận được. Các dấu phân cách “|” cho thấy cấu trúc của một bảng dữ liệu.
Các biến trong template được định nghĩa trong dấu ngoặc vuông `[]`, cho thấy chúng là các placeholder cần được thay thế bằng thông tin cụ thể khi sử dụng. Các biến chính là:
[NGÀY_BẮT_ĐẦU]
: Ngày bắt đầu của khoảng thời gian lập lịch.[NGÀY_KẾT_THÚC]
: Ngày kết thúc của khoảng thời gian lập lịch.[DANH_SÁCH_CA_PHẪU_THUẬT]
: Danh sách chi tiết các ca phẫu thuật dự kiến, mỗi ca bao gồm các thông tin đã liệt kê (Tên thủ thuật, Bác sĩ, Đội ngũ hỗ trợ, Thời gian dự kiến, Mức độ ưu tiên).
2. Ý nghĩa & Cách hoạt động
Prompt này về bản chất là một yêu cầu chuyển đổi dữ liệu và tối ưu hóa dựa trên các quy tắc nghiệp vụ (business rules) cụ thể trong lĩnh vực y tế. Khi người dùng sử dụng template này, họ sẽ cần cung cấp các thông tin sau:
- Giá trị cho
[NGÀY_BẮT_ĐẦU]
và[NGÀY_KẾT_THÚC]
: Ví dụ: “2023-10-23” và “2023-10-29”. - Giá trị cho
[DANH_SÁCH_CA_PHẪU_THUẬT]
: Đây là phần dữ liệu phức tạp nhất. Nó cần được cung cấp dưới dạng một danh sách có cấu trúc, trong đó mỗi mục là một ca phẫu thuật với đầy đủ các thuộc tính quy định. Ví dụ, có thể là một danh sách các đối tượng JSON hoặc một văn bản mô tả rõ ràng từng ca.
Cách hoạt động của AI khi nhận prompt này:
- Phân tích yêu cầu: AI sẽ hiểu rằng nhiệm vụ là tạo lịch trình phẫu thuật.
- Xử lý dữ liệu đầu vào: AI sẽ trích xuất danh sách các ca phẫu thuật cùng với thông tin chi tiết của từng ca.
- Áp dụng quy tắc: Đây là bước cốt lõi. AI sẽ sử dụng logic để sắp xếp các ca phẫu thuật, tuân thủ các ràng buộc sau:
- Không xung đột thời gian: Hai ca phẫu thuật không thể diễn ra đồng thời ở cùng một phòng mổ hoặc yêu cầu cùng một nguồn lực (ví dụ: cùng bác sĩ chính nếu họ không thể làm nhiều việc cùng lúc).
- Đủ nhân lực: Mỗi ca phẫu thuật phải có đủ đội ngũ hỗ trợ (gây mê, y tá) được chỉ định hoặc AI có thể suy luận dựa trên thông tin tổng quát về khả dụng của nhân lực.
- Tuân thủ giờ làm việc: Lịch trình không được xếp ca phẫu thuật ngoài giờ làm việc tiêu chuẩn của nhân viên, trừ khi được quy định khác (ví dụ: trực cấp cứu).
- Nghỉ ngơi của phẫu thuật viên: AI cần tính toán và chèn vào các khoảng thời gian nghỉ hợp lý cho phẫu thuật viên chính, đặc biệt là giữa các ca kéo dài hoặc liên tiếp.
- Ưu tiên: Các ca “Khẩn cấp” hoặc “Ưu tiên cao” sẽ được xếp ưu tiên trước các ca “Thông thường” hoặc “Lên kế hoạch”.
- Tối ưu hóa: Dựa trên các quy tắc, AI cố gắng tìm ra một lịch trình khả thi và hiệu quả nhất. Điều này có thể bao gồm việc sắp xếp các ca xen kẽ, phân bổ phòng mổ, hoặc đề xuất điều chỉnh thời gian nếu có xung đột khó giải quyết.
- Định dạng kết quả: Cuối cùng, AI sẽ trình bày lịch trình đã tạo ra theo đúng định dạng bảng đã yêu cầu.
3. Ví dụ Minh họa
Giả sử người dùng cung cấp dữ liệu như sau:
Input cụ thể cho template:
[NGÀY_BẮT_ĐẦU] = 2023-10-23
[NGÀY_KẾT_THÚC] = 2023-10-23
[DANH_SÁCH_CA_PHẪU_THUẬT] = [
{ "Tên thủ thuật": "Cắt ruột thừa nội soi", "Bác sĩ chính": "BS. An", "Đội ngũ hỗ trợ": {"Gây mê": "BS. Minh", "Y tá": "NS. Hoa, NS. Lan"}, "Thời gian dự kiến": "1.5 giờ", "Mức độ ưu tiên": "Thông thường" },
{ "Tên thủ thuật": "Thay khớp háng", "Bác sĩ chính": "BS. Bình", "Đội ngũ hỗ trợ": {"Gây mê": "BS. Minh", "Y tá": "NS. Mai, NS. Cúc"}, "Thời gian dự kiến": "3.0 giờ", "Mức độ ưu tiên": "Lên kế hoạch" },
{ "Tên thủ thuật": "Mổ thoát vị bẹn", "Bác sĩ chính": "BS. An", "Đội ngũ hỗ trợ": {"Gây mê": "BS. Tâm", "Y tá": "NS. Hoa, NS. Linh"}, "Thời gian dự kiến": "1.0 giờ", "Mức độ ưu tiên": "Thông thường" },
{ "Tên thủ thuật": "Cấp cứu: Vỡ gan", "Bác sĩ chính": "BS. Bình", "Đội ngũ hỗ trợ": {"Gây mê": "BS. Tâm", "Y tá": "NS. Mai, NS. Cúc"}, "Thời gian dự kiến": "4.0 giờ", "Mức độ ưu tiên": "Khẩn cấp" }
]
Output ví dụ do AI tạo ra (sau khi xử lý và tối ưu hóa):
Giả định giờ làm việc từ 8:00 đến 17:00. AI sẽ cần sắp xếp BS. Minh (Gây mê) không thể trực