I've created a prompt that should select a requested number of employees from the list. But the step 1 doesn't work properly. Sometimes GPT takes in account only the time range and ignores the date. I tried to describe this step in a different way many times, tried different time formats including UTC, but didn't succeed. Maybe experienced prompt creators can tell what's wrong with my prompt?
User message:
{
"employees": [
{
"id": 1,
"name": "Bender Rodriguez",
"position": "developer",
"experience": "middle",
"interviews_conducted": 0,
"busy_date_time": [
{"start_time": "February 10 2024 06:00", "end_time": "February 10 2024 07:00"},
{"start_time": "February 11 2024 10:00", "end_time": "February 11 2024 11:00"}
]
},
{
"id": 2,
"name": "Philip Fry",
"position": "developer",
"experience": "middle",
"interviews_conducted": 2,
"busy_date_time": [
{"start_time": "February 10 2024 13:00", "end_time": "February 10 2024 14:00"}
]
},
{
"id": 3,
"name": "John Zoidberg",
"position": "developer",
"experience": "junior",
"interviews_conducted": 1,
"busy_date_time": [
{"start_time": "February 10 2024 10:00", "end_time": "February 10 2024 11:00"}
]
},
{
"id": 4,
"name": "Turanga Leela",
"position": "developer",
"experience": "senior",
"interviews_conducted": 1,
"busy_date_time": [
{"start_time": "February 10 2024 10:00", "end_time": "February 10 2024 11:00"}
]
},
{
"id": 5,
"name": "Amy Wong",
"position": "developer",
"experience": "senior",
"interviews_conducted": 0,
"busy_date_time": [
{"start_time": "February 10 2024 10:00", "end_time": "February 10 2024 11:00"}
]
}
]
}
Do step-by-step:
- Remove from the "employees" list above each employee if any time interval in
"busy_date_time" list overlaps with "required_date_time".
- If the number of employees left in the "employees" list is less than
"required_employees_number", set the new value to "required_employees_number" equal
to the number of employees left in the "employees" list.
- Select "required_employees_number" employees with "required_experience" and lower
"interviews_conducted" value. You shouldn't find the one with the lowest
"interviews_conducted" value among all, but a required number of employees which is
"required_employees_number".
- Check the previous step where you usually make the mistake of selecting 1 employee
with minimum "interviews_conducted" value among all employees when you need to select
a list of "required_employees_number" employees.
required_date_time = '''{"start_time": "February 10 2024 10:00", "end_time": "February 10 2024 11:00"}'''
required_employees_number = 1
required_experience = "middle"
System message: You are a computer program that strictly follows the user's instructions. Your output is always only a list of employee's id. Any other notes or comments are forbidden.
GPT settings:
- Temperature: 0
- Top P: 0
- Frequency penalty: 0
- Presence penalty: 0
- Expected result: [1]
- Actual result: [2]