Skip to content
Discussion options

You must be logged in to vote

We currently default to allowing arbitrary tools and system prompts from the frontend. A bad actor can escalate their “authority” in the chain of command (see also: Model Spec – Chain of Command).

The justification is this: Because current models are already highly vulnerable to jailbreaking, you have to design your LLM tools surface with jailbreak risk in mind anyway.

There are strong developer experience (DX) benefits to:

  • Defining tools in the frontend (including those that can run code in the frontend)
  • Exposing application state in the system prompt (e.g., useAssistantInstructions("the user is currently on the settings page"))

That’s why our current default is to allow passing system…

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by bestickley
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants