Have you ever tried eating carob? The mediterranean fruit of a carob tree is known for its two properties - It is sweet and tasty, and very little flavor can be extracted from a large fruit.
ChatGPT as of 2023 is like a carob fruit. You can ask it programming questions, you will get a valuable answer for a single problem, but the best you can do with it is get an inspiration for what you are trying to do, like a pinterest for programming. It has taste, but you can extract very little for the effort you put in.
As researchers discovered the the power of large language models (LLMs), the discussion quickly came to whether AGI (artificial general intelligence) is achievable.
The answer today is a clear no, even though the idea is entertained a lot in the press. Despite the power of ChatGPT, it cannot actually solve novel problems. Unless it can start solving problems novel to itself as humans can, we think that AGI is not a possibility.
On the one hand ChatGPT is powerful, you can feel it by how well it understands your complex requests and generates close to working results. But it can do little for us today. How can we extract more value from ChatGPT?
The answer lies in creating a framework that makes you - the human solve a problem easier and faster. Think of this framework as a puzzle, that can be solved one piece at a time. Pieces of the problem are given to ChatGPT to solve. Each solution has a nice interface to the next problem as it would naturally occur in a puzzle.
You, the human create the puzzle framework and its pieces. You give out pieces of the puzzle to ChatGPT to solve. One by one, it solves the puzzle and creates the solution.
I am sure others have thought of this approach to using ChatGPT, but surprisingly nobody has ever came up with a similar solution, including the most basic use cases such as generating images.
Today (as of 2023) when you generate images with state of the art LLM services, the image has random artifacts in addition to what you wanted it to generate. Clearly the solutions of today can barely solve 1 piece of the puzzle, and fill in the rest with some boilerplate that don’t work.
How can we create such a framework, that presents the problem in pieces to ChatGPT, puts it together where each piece is in harmony, and solves a bigger problem?
This is the current topic of interest for SaaSBox. Our area of interest is generating the custom code for a SaaS. For example, the framework would split the problem into application pages. Each page would have sections. Each section would have UI elements. UI elements can interact with the server via API calls. The backend deployment is generated by another agent. Each API call is split into a route, and controller part. Each controller implements the database queries for the operation at hand (e.g. modify 2 tables associated with each other), and so on.
If we can create this framework that divides the large problem into many smaller problems, ChatGPT can deliver the result for each, allowing us to create a custom SaaS in the end.
When the path to such a solution is so evident, it is inevitable. We would see variations of the above in the next 3 to 5 years in many fields. It will be the norm to solve bigger problems using AI and LLMs. The quality of the puzzle framework or the skeleton of the problem will be the key to solving bigger problems better.
Update: Apparently there is a term for part of this process we just described: Prompt chaining.
We can imagine this problem to be solved in both breadth and depth dimensions. A puzzle-like approach as described above would work breadth-wise, dividing the problem into smaller pieces that work together. In addition, a depth model would also work where an existing puzzle piece would be progressively improved. For example, the LLM generates the barebones HTML for a DOM component, then decorates it with the correct CSS several times. This approach of improving an existing input with new prompts is called prompt chaining.
There are various tools with a similar approach such as langchain. We haven’t yet found a systematic solution to the above and will have our go at it for solving the SaaS generation problem in pieces.