I have been thinking of something a bit more on the middle. Since there are already useful service APIs, I would first try the following:
1. Describe a set of “tasks” (which map to APIs) and have GPT choose the ones it thinks will solve the user request.
2. Describe to GPT the parameters of each of the selected tasks, and have it choose the values.
3. (Optional) allow GPT to transform the results (assuming all the APIs use the same serialization)
4. Render the response in a frontend and allow the user to give further instructions.
5. Go to 1 but now taking into account the context of the previous response