Additional Instructions per run are ignored

Hi. I’m trying to provide additional_instructions with each thread run to ensure the assistant has the most relevant context within the app (state of the NPC character). But it seems that additional instructions are getting ignored often. I tried to use Playground to see what was going on. I see Add Message and a Run requests

{
"role":"user"
"content":"Hi"
}
{
"assistant_id":"asst_7Shq9JxBeQGEXfTxmBH5M5Cx"
"additional_instructions":"Make sure to add 'TEST INSTRUCTION' at the end of your reply"
}

but the answer is

Hello! How can I assist you today?

Model is set to gpt-3.5-turbo

Instructions field is set to

You are a helpful assistant helping to develop and debug API integration. End your answer with information about instructions and additional instructions that you were given.

Why it is not working correctly?
It seems that switching to GPT-4-Turbo and back to 3.5 makes it work. But it is very inconsistent.

Maybe there is another way of providing relevant information to the assistant for each run?

Just seeing the same thing here.

Using:

assistant_response = openai.beta.threads.runs.create_and_poll(
        thread_id=thread_id,
        assistant_id=assistant_id,
        additional_instructions=additional_instructions,

And if I print the assistant_response … There is no sign of the additional_instructions…

Looking at one of the examples

They simply override the instruction…

And looking at the latest source of that function openai-python/src/openai/resources/beta/threads/runs/runs.py at 906ece0e45235cb170bc062902182eb8b55698b9 · openai/openai-python · GitHub

They do seem to pass it to the create function that sends that additional_instructions to the backend… So not sure what happens next…

This is still broken – For now I just prepend any additional_instructions to the message, anyone has a better solution? Thanks!

Broken — additional_instructions doesn’t seem to do anything.

Can confirm this is still broken.

I am having the same issue with model 4o even. Any updates on this?

Still broken, although I find that if I ask the model why it didn’t use the additional instructions, it apologises and then uses them from that point onward. GPT-4o

I guess I’m having a similar issue. First of all I didn’t find in the documentation if additional_instructions suppose to update the context if send with each query.

Obviously it’s not working on my code, because I change the body of the query each time the user selects another item on UI and send the query with new additional_instructions based on body data. But when I ask the title of the selected item it always gives me the same item’s name, probably when the one memoized at the time of thread creation.

When I ask it to chatgpt 4o, it suggests the statement below, but couldn’t find this info anywhere

3. Why Are You Getting Old Answers?

The likely reason is that:

  1. Thread Context Is Static Once Created:
  • The assistant is still using the initial thread context (including the additional_instructions provided when the thread was created).
  • Updated additional_instructions during subsequent requests only influence the current response but don’t overwrite or append to the thread’s memory.
  1. Assistant Context Prioritization:
  • If the thread already contains a memory of the old task title, it uses that memory instead of dynamically incorporating the new additional_instructions.
1 Like

I confirm the problem still exists. Openai ignore additional_instructions parameter in create run API.
Its very handful feature for ai agents like https://shonoai.com