We’re using the Assistants API to provide an AI assistant to the users of our app; this works well: The assistant is fed with context on the user’s application state, and can answer questions based on that.
Not having to build the whole conversation handling ourselves has been a huge time saver in terms of getting this to market quickly, and despite some slightly confusing design choices, we’re really happy with assistants overall.
However, the playground has become a bit of a mine field: When creating new assistant versions to test new instructions, you always need to be extra careful to not accidentally delete or modify an assistant actually used by our application. This gets further complicated by the fact that we have multiple assistants for different features, test and staging environments, archived assistants, and multiple people occasionally working on them.
We duct-taped this in a way, by naming the production assistants something like “PROD ASSISTANT, DO NOT TOUCH!!!” (bold, so you can really feel the name screaming at you)—but I’m sure we can all agree that isn’t a good solution, and doesn’t prevent you from fat-fingering your mouse and hitting the wrong list item.
To solve this, I’d like to request a feature for the assistants API: Introduce a locked (or frozen/protected/something else, not attached to the name in particular) state for individual assistants to avoid accidental modifications.
A locked assistant would require explicit unlocking by an admin user before accepting modifications to its properties or deletion; nothing too fancy, really. I’d just like to introduce a safeguard that enforces conscious action.