With every door unlocked by
#GenerativeAI, we have to be mindful of the wider implications. something, something great responsibility.
Everyone is talking about OpenAI's implementation of function calls. But there is a much important problem that's being swept under the rug:
Many of us have used GPT to generate functionality in real time. In their example, the model decides that it needs to know the weather, and we want to give it access to call a weather api. The immediate problem is the impedance mismatch between unstructured language from the model and the structure needed by the api.
We ask the model to generate json, and sometimes it's not well formed so things break. No problem, OpenAI now fixes this by giving us reliable json. Great.
So what's the real issue? That the language model is now generating programs on the fly, that will be executed by calling arbitrary resources on the internet (to clarify, of course you are responsible for these calls, OpenAI won't make them for you). And the logic of these programs is unreliable, because it depends on two things:
1) the questionable "reasoning" of the LLM.
2) user input (which can be malicious).
With regular glue code, we can run regression tests and make sure we patch obvious vulnerabilities. But with this "language glue" spontaneously created by LLMs, there is no such thing. Even if we could, if OpenAI changes the behavior of the model then we are back to square one.
Let's brace ourselves for years of the most absurd security holes imaginable.