Jonathan's Blog

LLM Apps Are Hiding Controllability

I’ve noticed a recent trend in LLM chat apps like ChatGPT and Google Gemini, where the lower level features for controlling the response style of an LLM are slowly being taken away. When using an LLM locally or through an API you generally have two different types of prompts: system and user. The user prompts are what you’re generally typing into the chat thread. The system prompt on the other hand is meant to be more powerful. Instead of being a query, it’s a definition of “who” 1 1 I know, I know. Anthropomorphising these models can often be harmful but in this instance I think it does help the model is, what its capabilities are, and how it should respond.

Originally, in the ChatGPT app when system prompts were introduced for the first time (remember, GPT-3 was just a straight completion model, these types of prompts are obviously not in the Common Crawl) you could put in your own system prompt raw. It felt like you had much more control over the model and the type of outputs you got. Now, most of that has been taken away and we’re left we these vague “memories” and/or “preferences” that we’re supposed to add to give the model more information about ourselves and what style we like.

Over time, as LLM chat apps have gotten more popular–according to Pew Research we just passed 58% usage for adults under 30–these types of lower level features have slowly been phased out and dumbed down. It does make sense that as these apps get more popular and are used by an increasing proportion of the population their features will have to be made more intuitive. A great example of this is that it’s often impossible to tell what model you’re even using in the ChatGPT app. Another example is how context control is being taken away. Often I want to wipe the model’s memory of a previous bad attempt or hallucination and restart, but the new “feature” of the LLM having access to every previous chat takes yet another tool out of the toolbox for controlling the model outputs.

As someone who at least has a reasonably good understanding of these model’s capabilities, I do miss these kinds of features. I know there are plenty of other apps for using LLMs and I’ve probably tried the majority of them at one point or another, but there’s just still not a good replacement for the polish and integration that the official apps from the AI companies have. I haven’t seen good search and grounding capabilities yet from an open-source power users interface yet, which is one of the main killer features of AI.

I think the best way to solve this is to just do what so many other types of apps do, have a “Developer” or “Advanced” section in the app settings with a warning when you click on it that says “These settings may cause bugs. Only change these settings if you are an advanced user.” and allows users to change the raw system prompt to have more control over the model.


Changes