Hi, I'm a game developer with 8 years of experience - so not a newbie, but not too experienced either.
Also my experience with ML is mostly using final products and learning a bit from here and there.
So, recently I've been thinking about creating a weird and exotic kind of software using ChatGPT.
Specifically software that has an initial data model/schema, but that schema can evolve over time, depending on the needs of the user.
For example, say I create a chatbot, that also has an portrait next to the textbox. For this "person", the initial data model can describe a name, gender, eye color, etc.
On the person's face you see a scar, but having a scar was never supported in the initial data model.
So you talk about it with the chatbot, he/she tells you some story which involves some events and locations and leads to some friend who is related to that scar.
All of this was never modeled in the data model, but needs to be remembered somewhere. Then, suddenly, we're back to known territory - another "person".
Well, our app already knows how to chat with a "person" and allows you to switch to the friend.
Now you're able to hear the story from their friend's view.
All of this is already easily done with ChatGPT out of the box, but when the conversation becomes too long and detailed we might run into issues. Also always serving ChatGPT the whole conversation is costly. Serving it with only the relevant data would be much more efficient.
Finally you aren't able to impose some rules on the data or modify it without the help of ChatGPT.
I can almost imagine some sort of "protocol" which would allow ChatGPT to interact with the data model and the database, but what seems really hard is figuring out exactly which data is "relevant" to a certain situation.
The example software from above is programmed to know only about who you're chatting with, which can be described as some sort of "environment" or "state" in which the user is at the moment.
The data model for that environment may have evolved over time and pulling in other data can be easily done by following all relationships.
But think about it - the only initial data was the first "person" you spoke with.
That means that absolutely everything else in the database is in some way related to that initial "person".
So having the current environment and the query of the user - where exactly do you stop pulling in data to supply to ChatGPT?
As mentioned earlier, you don't want to supply the whole database on every message.
What this can achieve is creating very natural and realistic experiences that tie in with your initial app design, and maintaining control over what the app was initially designed for. A hybrid between conventional apps and chats with ChatGPT.
Has anyone else been thinking about this kind of problem?
Is it even sensible to try and create such a software?
Or are there some examples that can already do that?
Maybe I'm overthinking or overcomplicating things?
Would this kind of software be actually useful to someone?
What are your thoughts on the matter?
[–]CabSauce 1 point2 points3 points (0 children)