I am using the Assistants API with file search, I deploy all my runs via a Python script without obtaining any input from a human user, and my sole goal is for the assistant to provide a JSON object following the schema that I give it. Currently, I attach all my files to the assistant object, my system message is short (“You are an excellent assistant. Use the uploaded files to best respond to a senior project manager’s questions.”), and my first user message is lengthy and includes my desired JSON schema and other related instructions. Then, my Python script parses the assistant’s JSON response and only issues additional automated user message(s) if the JSON object needs to be corrected by the assistant. In the future when I have more files to add, I will retrieve the assistant and thread, add the new files to a new user message, and run it.
Would it be better to move everything in my current initial user message to the system message? If so, would this be a good initial user message: “Follow the system instructions.”?