IP Library Granted Patent US 12682000
Granted Patent B2
US 12682000 · App. 18/963,691 · Granted Jul 14, 2026

System and method for creating, searching and executing artificial intelligence agents

Inventor: Ram Venkat (Falls Church, VA)
Assignee: Ram Venkat
G06F16/953G06F16/951
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12682000
App. No.
18/963,691
Granted
Jul 14, 2026
Kind
B2
Abstract

This invention defines a computing platform to create, store and search for artificial intelligence agents in a system domain and execute them in client modules. The invention also defines a machine-readable, textual format for creating agents and describing them to a search engine module in the system domain. Agents are grouped by namespaces in the system domain. Client modules receive search queries, search for agents using the system domain and execute them, which provides search responses or performs actions. A client module is associated with a namespace and can only search and execute agents in its namespace.

Claims (238)

1 . A system comprising: a first set of one or more processors and a first memory coupled to the first set of processors comprising instructions executable by the first set of processors, the first set of processors being operable when executing the instructions to:

create a data storage service, a search engine module, an admin module, a creation module, and an execution module

and the admin module to process a request to create an authorization for a namespace comprising:

receiving a namespace;

generating a Universally Unique Identifier (UUID) as an authorization key; and

storing the namespace and authorization key in the data storage service

and the creation module to process a request to create an artificial intelligence agent (agent), comprising:

receiving a namespace and an agent specification wherein the agent specification is in a machine-readable, textual format comprising:

an agent name;

an agent title comprising a formatted string literal (f-string);

an ordered list of one or more task units wherein each task unit comprises:

a task name; and

an ordered list of one or more command units wherein each command unit comprises:

 a command type; and

 a command spec comprising an f-string that evaluates to a code block

and storing the namespace, agent name and agent specification in the data storage service

and the search engine module to process a request to index an agent, comprising:

receiving a namespace and an agent descriptor wherein the agent descriptor comprises:

an agent name;

a description of the agent;

one or more filters wherein each filter comprises a name and a value;

one or more classes in one or more classification schemes;

one or more keywords;

one or more named lists;

one or more string patterns;

one or more example queries; and

one or more natural language entity fields wherein each entity field comprises:

an entity type;

a minimum and a maximum number of occurrences of the entity type; and

one or more classes in a classification scheme that a value of the entity type can have

and indexing the agent descriptor and mapping it to the agent name

and the search engine module to process a request to search for agents comprising:

receiving a namespace, a search query and one or more inputs wherein each input comprises a key and a value;

matching the namespace, search query and inputs to one or more agent names; and

returning the matched agent names and titles

and the execution module to process a request to search for agents comprising:

receiving an authorization key, a search query and one or more inputs wherein each input comprises a key and a value;

reading a namespace associated with the authorization key in the data storage service;

forwarding the namespace and the request to the search engine module and receiving matched agents and titles; and

returning the matched agents and titles

and the execution module to process a request to retrieve an agent specification comprising:

receiving an authorization key and an agent name;

reading a namespace associated with the authorization key in the data storage service;

reading an agent specification associated with the namespace and agent name in the data storage service; and

returning the agent specification.

2 . The system of claim 1 additionally comprising: a second set of one or more processors and a second memory coupled to the second set of processors comprising instructions executable by the second set of processors, the second set of processors being operable when executing the instructions to:

create a client module and the client module reading an authorization key

and the client module to process a search request comprising:

receiving a search query and one or more inputs wherein each input comprises a name and a value;

sending the authorization key, search query and inputs to the execution module and receiving matched agent names and titles;

selecting an agent name that occurs first in matched agent names and titles;

sending a request to the execution module to retrieve an agent specification with the selected agent name and receiving a selected agent specification;

creating an agent state object in the second memory;

adding the search query, inputs, matched agent names and titles to the agent state object;

executing the selected agent specification comprising:

executing a task unit that occurs first in the ordered list of task units in the selected agent specification comprising:

executing each command unit in the task unit sequentially in the order they occur in the task unit wherein executing a command unit comprises:

 executing the command spec comprising:

 evaluating the f-string specified in the command unit to a first code block; and

 executing the first code block

and returning the agent state object.

3 . The system of claim 2 wherein a command unit additionally specifies a variable unit comprising:

an ordered list of one or more variables wherein each variable comprises:

a variable name; and

a value specified by a f-string

and the client module executes the command unit by additionally executing the variable unit comprising:

evaluating each variable in the variable unit in the order specified in the variable unit wherein evaluating a variable comprises:

evaluating the value specified by a f-string to a first value; and

storing the first value in the agent state object keyed by the variable name.

4 . The system of claim 2 wherein a command spec alternately specifies:

an f-string that specifies an Application Programming Interface (API) service endpoint;

a protocol type and protocol subtype used to communicate with the API service;

one or more pairs of names and f-strings specifying headers included in request to the API service;

one or more pairs of names and f-strings specifying parameters included in request to the API service; and

a response name

and the client module alternately executes the command spec comprising:

evaluating all f-strings in the API service endpoint, headers and parameters;

using the protocol type and protocol subtype to send a request to a server at the API service endpoint with evaluated values of f-strings in the API service endpoint, headers and parameters and receiving a response; and

storing the response in the agent state object keyed by the response name.

5 . The system of claim 2 wherein a command spec alternately specifies a conditional execution unit comprising:

a f-string that evaluates to either true or false;

a loop value that evaluates to either true or false;

a first list of ordered commands; and

a second list of ordered commands

and the client module alternately executes the command spec comprising:

executing a first step comprising evaluating the f-string to a first value;

executing a second step comprising:

if the first value is true, executing the first list of commands in the order specified; and

if the first value is false, executing the second list of commands in the order specified and ending the execution of command spec; and

if the loop value is true, repeating the first step and second step until the first value evaluates to false; and

if the loop value is false, ending the execution of the command spec.

6 . The system of claim 2 wherein a command spec alternately specifies an agent state object to be stored, and the client module alternately executes the command spec comprising:

creating an object name by generating a UUID;

serializing the agent state object; and

sending a request to the execution module to store an object with the authorization key, object name and serialized agent state object.

7 . The system of claim 2 wherein a command spec alternately specifies that an agent state object be restored, and the client module alternately executes the command spec comprising:

sending a request to the execution module to retrieve an object with the authorization key and an object name and receiving an object;

deserializing the received object; and

restoring the agent state object from the deserialized object.

8 . The system of claim 2 wherein a command spec alternately specifies a list of one or more additional inputs required to continue executing an agent wherein an additional input comprises an input name and a hint, and the client module alternately executes the command spec comprising storing the list of additional inputs in the agent state object.

9 . The system of claim 2 wherein the execution module additionally handles a request to store an event comprising:

receiving an authorization key, an event name and a list of parameters wherein each parameter contains a name and a value;

reading a namespace associated with the authorization key in the data storage service; and

storing the namespace, event name and the list of parameters in the data storage service

and a command spec alternately specifies an event name and a list of parameters, and the client module alternately executes the command spec by sending a request to the execution module to store an event with the authorization key, the event name and the list of parameters.

10 . The system of claim 2 wherein the execution module additionally handles a request to call a Large Language Model (LLM) comprising:

receiving an authorization key, a model name, an input and a list of parameters wherein each parameter comprises a name and a value;

reading a namespace associated with the authorization key in the data storage service; and

calling a first LLM service with the model name and input and receiving an output; and

returning the output

and a command spec alternately specifies:

an LLM model name;

an f-string that specifies an input;

a list of parameters; and

a response name

and the client module alternately executes the command spec comprising:

evaluating the f-string to an input value;

sending a request to the execution module to call an LLM model comprising the authorization key, LLM model name, evaluated input value and the list of parameters and receiving a value; and

storing the value in the agent state object keyed by value of the response name.

11 . A method comprising, by a first computing system:

creating a data storage service, a search engine module, an admin module, a creation module, and an execution module

and the admin module processing a request to create an authorization for a namespace comprising:

receiving a namespace;

generating a Universally Unique Identifier (UUID) as an authorization key; and

storing the namespace and authorization key in the data storage service

and the creation module processing a request to create an artificial intelligence agent (agent), comprising:

receiving a namespace and an agent specification wherein the agent specification is in a machine-readable, textual format comprising:

an agent name;

an agent title comprising a formatted string literal (f-string);

an ordered list of one or more task units wherein each task unit comprises:

a task name; and

an ordered list of one or more command units wherein each command unit comprises:

 a command type; and

 a command spec comprising an f-string that evaluates to a code block

and storing the namespace, agent name and agent specification in the data storage service

and the search engine module processing a request to index an agent, comprising:

receiving a namespace and an agent descriptor wherein the agent descriptor comprises:

an agent name;

a description of the agent;

one or more filters wherein each filter comprises a name and a value;

one or more classes in one or more classification schemes;

one or more keywords;

one or more named lists;

one or more string patterns;

one or more example queries; and

one or more natural language entity fields wherein each entity field comprises:

an entity type;

a minimum and a maximum number of occurrences of the entity type; and

one or more classes in a classification scheme that a value of the entity type can have

and indexing the agent descriptor and mapping it to the agent name

and the search engine module processing a request to search for agents comprising:

receiving a namespace, a search query and one or more inputs wherein each input comprises a key and a value;

matching the namespace, search query and inputs to one or more agent names; and

returning the matched agent names and titles

and the execution module processing a request to search for agents comprising:

receiving an authorization key, a search query and one or more inputs wherein each input comprises a key and a value;

reading a namespace associated with the authorization key in the data storage service;

forwarding the namespace and the request to the search engine module and receiving matched agents and titles; and

returning the matched agents and titles

and the execution module processing a request to retrieve an agent specification comprising:

receiving an authorization key and an agent name;

reading a namespace associated with the authorization key in the data storage service;

reading an agent specification associated with the namespace and agent name in the data storage service; and

returning the agent specification.

12 . The method of claim 11 , further comprising a second computing system:

creating a client module and the client module reading an authorization key

and the client module processing a search request comprising:

receiving a search query and one or more inputs wherein each input comprises a name and a value;

sending the authorization key, search query and inputs to the execution module and receiving matched agent names and titles;

selecting an agent name that occurs first in matched agent names and titles;

sending a request to the execution module to retrieve an agent specification with the selected agent name and receiving a selected agent specification;

creating an agent state object in the second memory;

adding the search query, inputs, matched agent names and titles to the agent state object;

executing the selected agent specification comprising:

executing a task unit that occurs first in the ordered list of task units in the selected agent specification comprising:

executing each command unit in the task unit sequentially in the order they occur in the task unit wherein executing a command unit comprises:

 executing the command spec comprising:

 evaluating the f-string specified in the command unit to a first code block; and

 executing the first code block

and returning the agent state object.

13 . The method of claim 12 , wherein a command unit additionally specifying a variable unit comprising:

an ordered list of one or more variables wherein each variable comprises:

a variable name; and

a value specified by a f-string

and the client module executing the command unit by additionally executing the variable unit comprising:

evaluating each variable in the variable unit in the order specified in the variable unit wherein evaluating a variable comprises:

evaluating the value specified by a f-string to a first value; and

storing the first value in the agent state object keyed by the variable name.

14 . The method of claim 12 , wherein a command spec alternately specifying:

an f-string that specifies an Application Programming Interface (API) service endpoint;

a protocol type and protocol subtype used to communicate with the API service;

one or more pairs of names and f-strings specifying headers included in request to the API service;

one or more pairs of names and f-strings specifying parameters included in request to the API service; and

a response name

and the client module alternately executing the command spec comprising:

evaluating all f-strings in the API service endpoint, headers and parameters;

using the protocol type and protocol subtype to send a request to a server at the API service endpoint with evaluated values of f-strings in the API service endpoint, headers and parameters and receiving a response; and

storing the response in the agent state object keyed by the response name.

15 . The method of claim 12 , wherein a command spec alternately specifying a conditional execution unit comprising:

a f-string that evaluates to either true or false;

a loop value that evaluates to either true or false;

a first list of ordered commands; and

a second list of ordered commands

and the client module alternately executing the command spec comprising:

executing a first step comprising evaluating the f-string to a first value;

executing a second step comprising:

if the first value is true, executing the first list of commands in the order specified; and

if the first value is false, executing the second list of commands in the order specified and ending the execution of command spec; and

if the loop value is true, repeating the first step and second step until the first value evaluates to false; and

if the loop value is false, ending the execution of the command spec.

16 . The method of claim 12 , wherein a command spec alternately specifying an agent state object to be stored, and the client module alternately executing the command spec comprising:

creating an object name by generating a UUID;

serializing the agent state object; and

sending a request to the execution module to store an object with the authorization key, object name and serialized agent state object.

17 . The method of claim 12 , wherein a command spec alternately specifying that an agent state object be restored, and the client module alternately executing the command spec comprising:

sending a request to the execution module to retrieve an object with the authorization key and an object name and receiving an object;

deserializing the received object; and

restoring the agent state object from the deserialized object.

18 . The method of claim 12 , wherein a command spec alternately specifying a list of one or more additional inputs required to continue executing an agent wherein an additional input comprises an input name and a hint, and the client module alternately executing the command spec comprising storing the list of additional inputs in the agent state object.

19 . The method of claim 12 , wherein the execution module additionally handling a request to store an event comprising:

receiving an authorization key, an event name and a list of parameters wherein each parameter contains a name and a value;

reading a namespace associated with the authorization key in the data storage service; and

storing the namespace, event name and the list of parameters in the data storage service

and a command spec alternately specifying an event name and a list of parameters, and the client module alternately executing the command spec by sending a request to the execution module to store an event with the authorization key, the event name and the list of parameters.

20 . The method of claim 12 , wherein the execution module additionally handling a request to call a Large Language Model (LLM) comprising:

receiving an authorization key, a model name, an input and a list of parameters wherein each parameter comprises a name and a value;

reading a namespace associated with the authorization key in the data storage service; and

calling a first LLM service with the model name and input and receiving an output; and

returning the output

and a command spec alternately specifying:

an LLM model name;

an f-string that specifies an input;

a list of parameters; and

a response name

and the client module alternately executing the command spec comprising:

evaluating the f-string to an input value;

sending a request to the execution module to call an LLM model comprising the authorization key, LLM model name, evaluated input value and the list of parameters and receiving a value; and

storing the value in the agent state object keyed by value of the response name.