Idea Summary
Make AI robots defineable as shared components. So that AI Support for end users can easily be added by the developer. For each robot the developer should be able to define the following: Name, Instructions in plain text, tables/views the robot could use to provide answers, procedures and functions the robot could call to get data or do things, a switch to disable “internal knowledge”, and a trigger (like user input from Open AI Assistant, called by Automation, Workflow, PL/SQL, other robots, etc…)
These robots should be useable in the “Open AI Assistant”
Use Cases
Given a simple library application where you can borrow books.
The Apex developer defines a robot (system prompt: “helpful librarian”) with access to the booklist (table) and a PL/SQL procedure to make a reservation for a book. He hooks it to a user dialog (Open AI Assistant).
Now the Customer (end user) can just chat with the robot, using it's internal knowledge of the popular books to enhance the descriptions from the database table (if there are any). And the customer can command the robot to make a reservation.
Or as part of an workflow: there are general tasks coming in, that should be routet to different people, depending on the content (e.g.: is a notebook physically damaged, does an application give some error, or is a mouse needed). Normally it would go to an human operator if it can not be determined by a simple string comparison. But with AI Robots the developer can just add one in the workfow, so that the human operator can concentrate on more complex tasks.
Preferred Solution (Optional)
I would store the config in a table. A column for the system prompt, where the instructions are put. I would define the tables/views and procedures/functions as tools (AI tools that the AI tries to use) with a name and description. The switch could be an add on to the system prompt like “do only use the tools, not your knowledge”