A method implemented by an agentic artificial intelligence platform (agentic AI platform) comprises receiving one or more requests to access one or more tools from one or more AI agents. The one or more requests are analyzed to determine whether the one or more AI agents need an approval to access the one or more tools, based on a context of a corresponding one of the requests and one or more business rules. The one or more requests are provided to an approver when the determination indicates the one or more AI agents need the approval to access a corresponding one or more of the tools. Subsequently, the access to the corresponding one or more tools by the one or more AI agents is allowed upon receiving the approval from the approver.
Legal claims defining the scope of protection, as filed with the USPTO.
receiving, by an agentic artificial intelligence platform (agentic AI platform), one or more requests to access one or more tools from one or more artificial intelligence agents (AI agents); analyzing, by the agentic AI platform, the one or more requests to determine when the one or more AI agents need an approval to access the one or more tools, based on a context of a corresponding one of the requests and one or more business rules; providing, by the agentic AI platform, the one or more requests to an approver when the determination indicates the one or more AI agents need the approval to access a corresponding one or more of the tools; and allowing, by the agentic AI platform, the access to the corresponding one or more of the tools by the one or more AI agents upon receiving the approval from the approver. . A method comprising:
claim 1 . The method of, further comprising: auto-approving one of the AI agents to access the corresponding one or more of the tools for one or more successive requests received from the one of the AI agents, when a predefined number of the requests previously received from the one of the AI agents for the corresponding one or more of the tools have been approved.
claim 1 . The method of, wherein the context of the request comprises: details of a corresponding one of the AI agents from which the request is received, interaction history, current task, and one or more parameters required to access the corresponding one or more of the tools.
claim 3 . The method of, wherein the details of the AI agent comprise: an agent identifier, role, operating domain, one or more tasks that the AI agent is configured to handle, and a timestamp of the request.
claim 1 . The method of, wherein the providing the one or more requests to the approver comprises: the context of the request, and a frequency of the request from the AI agent to access the corresponding tool.
claim 1 . The method of, wherein the approver is an enterprise user or one of the AI agents that are configured with an approver role.
one or more processors; and receive one or more requests to access one or more tools from one or more artificial intelligence agents (AI agents); analyze the one or more requests to determine when the one or more AI agents need an approval to access the one or more tools, based on a context of a corresponding one of the requests and one or more business rules; provide the one or more requests to an approver when the determination indicates the one or more AI agents need the approval to access a corresponding one or more of the tools; and allow the access to the corresponding one or more of the tools by the one or more AI agents upon receiving the approval from the approver. a memory coupled to the one or more processors which are configured to execute programmed instructions stored in the memory to: . An agentic artificial intelligence server (agentic AI server) comprising:
claim 7 auto-approve one of the AI agents to access the corresponding one or more of the tools for one or more successive requests received from the one of the AI agents, when a predefined number of the requests previously received from the one of the AI agents for the corresponding one or more of the tools have been approved. . The agentic AI server of, the one or more processors are further configured to execute programmed instructions stored in the memory to:
claim 7 details of a corresponding one of the AI agents from which the request is received, interaction history, current task, and one or more parameters required to access the corresponding one or more of the tools. . The agentic AI server of, wherein the context of the request comprises:
claim 9 . The agentic AI server of, wherein the details of the AI agent comprise: an agent identifier, role, operating domain, one or more tasks that the AI agent is configured to handle, and a timestamp of the request.
claim 7 . The agentic AI server of, wherein the one or more requests provided to the approver comprises: the context of the request, and a frequency of the request from the AI agent to access the corresponding tool.
claim 7 . The agentic AI server of, wherein the approver is an enterprise user or one of the AI agents that are configured with an approver role.
receive one or more requests to access one or more tools from one or more artificial intelligence agents (AI agents); analyze the one or more requests to determine when the one or more AI agents need an approval to access the one or more tools, based on a context of a corresponding one of the requests and one or more business rules; provide the one or more requests to an approver when the determination indicates the one or more AI agents need the approval to access a corresponding one or more of the tools; and allow the access to the corresponding one or more of the tools by the one or more AI agents upon receiving the approval from the approver. . A non-transitory computer-readable medium storing instructions which when executed by one or more processors, causes the one or more processors to:
13 auto-approve one of the AI agents to access the corresponding one or more of the tools for one or more successive requests received from the one of the AI agents, when a predefined number of the requests previously received from the one of the AI agents for the corresponding one or more of the tools have been approved. . The non-transitory computer-readable medium of, further comprising instructions which when executed by the one or more processors, causes the one or more processors to:
13 . The non-transitory computer-readable medium of, wherein the context of the request comprises: details of a corresponding one of the AI agents from which the request is received, interaction history, current task, and one or more parameters required to access the corresponding one or more of the tools.
15 . The non-transitory computer-readable medium of, wherein the details of the AI agent comprise: an agent identifier, role, operating domain, one or more tasks that the AI agent is configured to handle, and a timestamp of the request.
13 . The non-transitory computer-readable medium of, wherein the one or more requests provided to the approver comprises: the context of the request, and a frequency of the request from the AI agent to access the corresponding tool.
13 . The non-transitory computer-readable medium of, wherein the approver is an enterprise user or one of the AI agents that are configured with an approver role.
receiving, by an agentic artificial intelligence platform (agentic AI platform), a request to access a first tool from a first artificial intelligence agent (AI agent) of a plurality of AI agents; determining, by the agentic AI platform, that the first AI agent is not authorized to access the first tool based on a context of the request and one or more business rules; identifying, by the agentic AI platform, one or more second AI agents of the plurality of AI agents that are authorized to access the first tool; prompting, by the agentic AI platform, one of the second AI agents to access the first tool based on the context of the request; and providing, by the agentic AI platform, to the first AI agent, a result of accessing the first tool received from the prompted second AI agent. . A method comprising:
claim 19 providing, to an enterprise user device, a recommendation to provide access to the first tool for the first AI agent, when the first AI agent does not have the access to the first tool and made a predefined number of requests to access the first tool within a predefined threshold time period. . The method of, further comprising:
claim 19 . The method of, wherein the context of the request comprises: details of the first AI agent, interaction history, current task, and one or more parameters required to access the first tool.
claim 21 . The method of, wherein the details of the first AI agent comprise: an agent identifier, operating domain, role, one or more tasks that the first AI agent is configured to handle, and timestamp of the request.
claim 19 prior to the prompting the second AI agent, verifying, by the agentic AI platform, the request from the first AI agent for the inclusion of one or more parameters required to access the first tool. . The method of, further comprising:
claim 23 . The method of, wherein, when the one or more parameters are not included in the request, the first AI agent is prompted, by the agentic AI platform, to resend the request by including the one or more parameters required to access the first tool.
Complete technical specification and implementation details from the patent document.
This technology generally relates to artificial intelligence agents (AI agents), and more particularly to methods, systems, and computer-readable media for managing and controlling access to tools by AI agents in an agentic artificial intelligence (agentic AI) system.
In recent years, with the advancements in large language models (LLMs) and artificial intelligence (AI) technologies, enterprises are focusing on transitioning from narrow task-specific dialog flow based applications to versatile agentic artificial intelligence (agentic AI) applications constituting AI agents fueled by LLMs. AI agents may be referred to as advanced AI based applications comprising capabilities to independently engage in meaningful conversations, analyze complex instructions, make decisions, access tools and services, and execute actions based on the specified goals and objectives with minimal human intervention. Due to their potential and autonomous capabilities, AI agents are increasingly being deployed by enterprises across industries and domains.
However, AI agents often require access to critical and sensitive tools, services, or data repositories to complete tasks effectively, which may pose significant challenges related to safety, security, and compliance. For example, an AI agent configured to manage bank financial transactions may require access to core banking and payment gateway systems, while another AI agent configured for customer service may require access to customer relationship management (CRM) platforms, which are critical resources comprising sensitive enterprise or customer data. Without robust mechanisms to control and monitor these sensitive data interactions performed by AI agents, there exists a potential risk of unforeseen and unintended actions from AI agents or exploitation of AI agents for misuse by malicious attackers.
Existing methods for controlling access to tools by AI agents are designed based on predefined rules which are not suitable for all contexts or scenarios and need to be periodically reviewed and updated. As AI agents operate dynamically and may request access to tools or services in real-time based on evolving tasks or contextual needs, the existing tool access control methods are often insufficient for AI agents. Additionally, AI agents may request access to tools or services that exceed the original scope of AI agents deployment or are inconsistent with organizational policies or regulations, necessitating real-time validation and governance of the tool access requests.
Hence, there is a need for systems and methods to provide fine-grained control over AI agents accessing tools and services, ensuring AI agents operate securely, transparently, and within predefined constraints.
In an example, the present disclosure relates to a method for controlling access to one or more tools by one or more AI agents. The method performed by an agentic artificial intelligence platform (agentic AI platform) comprises receiving one or more requests to access one or more tools from one or more AI agents. The agentic AI platform then analyzes the one or more requests to determine when the one or more AI agents need an approval to access the one or more tools, based on a context of a corresponding one of the requests and one or more business rules. Further, the agentic AI platform provides the one or more requests to an approver when the determination indicates the one or more AI agents need the approval to access a corresponding one or more of the tools. Subsequently, the agentic AI platform allows the access to the corresponding one or more of the tools by the one or more AI agents upon receiving the approval from the approver.
In another example, the present disclosure relates to an agentic artificial intelligence server (agentic AI server) comprising one or more processors and a memory. The memory coupled to the one or more processors which are configured to execute programmed instructions stored in the memory to receive one or more requests to access one or more tools from one or more AI agents. The one or more requests are then analyzed to determine when the one or more AI agents need an approval to access the one or more tools, based on a context of a corresponding one of the requests and one or more business rules. Further, the one or more requests are provided to an approver when the determination indicates the one or more AI agents need the approval to access a corresponding one or more of the tools. Subsequently, the access to the corresponding one or more of the tools by the one or more AI agents is allowed upon receiving the approval from the approver.
In another example, the present disclosure relates to a non-transitory computer readable storage medium storing instructions which when executed by one or more processors, causes the one or more processors to receive one or more requests to access one or more tools from one or more AI agents. The one or more requests are then analyzed to determine when the one or more AI agents need an approval to access the one or more tools, based on a context of a corresponding one of the requests and one or more business rules. Further, the one or more requests are provided to an approver when the determination indicates the one or more AI agents need the approval to access a corresponding one or more of the tools. Subsequently, the access to the corresponding one or more of the tools by the one or more AI agents is allowed upon receiving the approval from the approver.
In another example, the present disclosure relates to a method for controlling access to one or more tools by one or more AI agents. The method performed by an agentic AI platform comprises receiving a request to access a first tool from a first AI agent of a plurality of AI agents. The agentic AI platform then determines that the first AI agent is not authorized to access the first tool based on a context of the request and one or more business rules. The agentic AI platform identifies one or more second AI agents of the plurality of AI agents that are authorized to access the first tool. Further, the agentic AI platform prompts one of the second AI agents to access the first tool based on the context of the request. Subsequently, the agentic AI platform provides to the first AI agent, a result of accessing the first tool received from the prompted second AI agent.
100 100 100 1 FIG.A Examples of the present disclosure relate to an agentic AI server environment(illustrated in) and, more particularly, to one or more components, systems, computer-readable media, and methods for managing and controlling access to tools and services by AI agents in an agentic AI system. The agentic AI server environmentenables enterprise users (e.g., developers, system administrators, business analysts, solution engineers) operating developer devices to, by way of example, design, develop, deploy, manage, host, and analyze AI agents. Further, the agentic AI server environmentenables the enterprise users to, by way of example, design, develop and configure the AI agents to communicate with language models for responding to user inputs.
1 FIG.A 100 100 110 1 110 120 1 120 140 150 150 130 100 100 n n is a block diagram of an exemplary agentic AI server environmentfor implementing the concepts and technologies disclosed herein. The agentic AI server environmentincludes one or more user devices()-(), one or more developer devices()-(), an external server, and an agentic artificial intelligence server(agentic AI server) all coupled together via a network, although the agentic AI server environmentcan include other types and numbers of systems, devices, components, and/or elements in other topologies and deployments in other examples. Although not illustrated, the agentic AI server environmentmay include additional network components, such as routers, switches, and other devices, which are well known to those of ordinary skill in the art and thus will not be described here.
110 1 110 110 1 110 110 1 110 150 150 160 150 140 n n n The one or more user devices()-() may comprise one or more processors, one or more memories, one or more input devices such as a keyboard, a mouse, a display device, a touch interface, and/or one or more communication interfaces, which may be coupled together by a bus or other link, although the one or more user devices()-() may have other types and/or numbers of other systems, devices, components, and/or elements in other examples. The users accessing the one or more user devices()-() provide inputs (e.g., in text, voice, or a combination thereof) to the agentic AI server. The agentic AI serverprovides responses to the inputs via the agentic AI platformusing one or more AI agents. In one example, the agentic AI servercommunicates with the external serverto provide responses to the inputs.
150 140 130 120 1 120 120 1 120 120 1 120 150 140 130 120 1 120 122 150 140 120 1 120 150 140 150 140 n n n n n The one or more enterprise users, for example, developers may access and interact with the functionalities exposed by the agentic AI serverand the external servervia the networkusing the one or more developer devices()-(). The one or more developer devices()-() may include any type of computing device that can facilitate user interaction, for example, a desktop computer, a laptop computer, a tablet computer, a smartphone, a mobile phone, a wearable computing device, or any other type of device with communication and data exchange capabilities. The one or more developer devices()-() may include software and hardware capable of communicating with the agentic AI serverand/or the external servervia the network. Also, the one or more developer devices()-() may comprise a developer graphical user interface (GUI)to render and display the information received from the agentic AI serverand the external server. The one or more developer devices()-() may communicate with the agentic AI serverand/or the external servervia one or more application programming interfaces (APIs) or one or more hyperlinks exposed by the agentic AI serverand/or the external serverrespectively, although other types and/or numbers of communication methods may be used in other examples.
120 1 120 122 122 n The one or more developer devices()-() may run applications, such as web browsers or AI agent software, which may render the developer GUI, although other types and/or numbers of applications may render the developer GUIin other example configurations.
120 1 120 122 122 n In one example, the one or more developers at the one or more developer devices()-() may, by way of example, make selections, provide inputs using the developer GUIor interact, by way of example, with data, icons, widgets, or other components displayed in the developer GUI.
130 110 1 110 120 1 120 140 150 130 130 n n The networkenables the one or more user devices()-(), the one or more developer devices()-(), the external server, or other such devices to communicate with the agentic AI server. The networkmay be, for example, an ad hoc network, an extranet, an intranet, a wide area network (WAN), a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a wireless WAN (WWAN), a metropolitan area network (MAN), internet, a portion of the internet, a portion of the public switched telephone network (PSTN), a cellular telephone network, a wireless network, a Wi-Fi network, a worldwide interoperability for microwave access (WiMAX) network, or a combination of two or more such networks, although the networkmay include other types and/or numbers of networks in other topologies or configurations.
130 130 156 150 The networkmay support protocols such as, Session Initiation Protocol (SIP), Hypertext Transfer Protocol (HTTP), Hypertext Transfer Protocol Secure (HTTPS), Media Resource Control Protocol (MRCP), Real Time Transport Protocol (RTP), Real-Time Streaming Protocol (RTSP), Real-Time Transport Control Protocol (RTCP), Session Description Protocol (SDP), Web Real-Time Communication (WebRTC), Transmission Control Protocol/Internet Protocol (TCP/IP), User Datagram Protocol (UDP), or Voice over Internet Protocol (VoIP), although other types and/or numbers of protocols may be supported in other topologies or configurations. The networkmay also support standards or formats such as, for example, hypertext markup language (HTML), extensible markup language (XML), voiceXML, call control extensible markup language (CCXML), JavaScript object notation (JSON), although other types and/or numbers of data, media, and document standards and formats may be supported in other topologies or configurations. The network interfaceof the agentic AI servermay include any interface that is suitable to connect with any of the above-mentioned network types and communicate using any of the above-mentioned network protocols, standards, or formats.
150 152 154 156 150 150 150 150 150 150 The agentic AI serverincludes a processor, a memoryand a network interface, although the agentic AI servermay include other types and/or numbers of components in other examples. In addition, the agentic AI servermay include an operating system (not shown). In one example, the agentic AI server, one or more components of the agentic AI server, and/or one or more processes performed by the agentic AI servermay be implemented using a networking environment (e.g., cloud computing environment). In one example, the capabilities of the agentic AI servermay be offered as a service, such as, for example, software-as-a-service (SaaS) using the cloud computing environment.
150 The components of the agentic AI servermay be coupled by a graphics bus, a memory bus, an Industry Standard Architecture (ISA) bus, an Extended Industry Standard Architecture (EISA) bus, a Micro Channel Architecture (MCA) bus, a Video Electronics Standards Association (VESA) Local bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCIe) bus, a serial advanced technology attachment (SATA) bus, a Personal Computer Memory Card Industry Association (PCMCIA) bus, an Small Computer Systems Interface (SCSI) bus, or a combination of two or more of these, although other types and/or numbers of buses may be used in other examples.
152 150 154 152 152 152 152 150 152 1 FIG.A The processorof the agentic AI servermay execute one or more computer-executable instructions stored in the memoryfor the methods illustrated and described with reference to the examples herein, although the processormay execute other types and numbers of instructions and perform other types and numbers of operations in other examples. The processormay comprise one or more central processing units (CPUs) with one or more processing cores and a cache memory for local storage of data and instructions, although the processormay comprise other types and/or numbers of components in other examples. In one example, the functions of the processormay be spread across one or more linked or networked devices or modules. Although the agentic AI servermay comprise multiple processors, only a single processor (i.e., the processor) is illustrated infor simplicity.
154 150 152 152 154 154 152 154 The memoryof the agentic AI serveris an example of a non-transitory computer readable storage medium capable of storing information or instructions for the processorto operate on. The instructions, which when executed by the processor, perform one or more of the disclosed examples. In one example, the memorymay be a random access memory (RAM), a dynamic random access memory (DRAM), a static random access memory (SRAM), a persistent memory (PMEM), a non-volatile dual in-line memory module (NVDIMM), a hard disk drive (HDD), a read only memory (ROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a programmable ROM (PROM), a flash memory, a compact disc (CD), a digital video disc (DVD), a magnetic disk, a universal serial bus (USB) memory card, a memory stick, or a combination of two or more of these. It may be understood that the memorymay include other electronic, magnetic, optical, electromagnetic, infrared or semiconductor based non-transitory computer readable storage medium which may be used to tangibly store instructions, which when executed by the processor, perform the disclosed examples. The non-transitory computer readable medium is not a transitory signal per se and is any tangible medium that contains and stores the instructions for use by or in connection with an instruction execution system, apparatus, or device. Examples of the programmed instructions and steps stored in the memoryare illustrated and described by way of the description and examples herein.
1 FIG.A 154 160 150 154 160 150 110 1 110 120 1 120 160 n n As illustrated in, the memorymay include instructions corresponding to an agentic AI platformof the agentic AI server, although other types and/or numbers of instructions in the form of programs, functions, methods, procedures, definitions, subroutines, or modules may be stored in other examples. The memorymay also include data structures storing information corresponding to the agentic AI platform. The agentic AI serverreceives communications from one or more users at the one or more user devices()-() and/or one or more developers at the one or more developer devices()-() and uses the agentic AI platformto provide responses to the received communications and/or perform necessary actions based on the received communications.
156 150 100 156 156 150 130 156 156 130 The network interfacemay include hardware, software, or a combination of hardware and software, enabling the agentic AI serverto communicate with the components illustrated in the agentic AI server environment, although the network interfacemay enable communications with other types and/or number of components in other examples. In one example, the network interfaceprovides interfaces between the agentic AI serverand the network. The network interfacemay support wired or wireless communications. In one example, the network interfacemay include an Ethernet adapter or a wireless network adapter to communicate with the network.
110 1 110 150 130 110 1 110 110 1 110 150 130 110 1 110 150 n n n n The users at the one or more user devices()-() may access and interact with the functionalities exposed by the agentic AI servervia the network. The one or more user devices()-() may include any type of computing device that can facilitate user interaction, for example, a desktop computer, a laptop computer, a tablet computer, a smartphone, a mobile phone, a wearable computing device, or any other type of device with communication and data exchange capabilities. The one or more user devices()-() may include software and hardware capable of communicating with the agentic AI servervia the network. Also, the one or more user devices()-() may render and display the information received from the agentic AI server.
110 1 110 150 130 100 n 1 FIG.A 1 FIG.A The users at the one or more user devices()-() may interact with the agentic AI servervia the networkby providing inputs in text, voice, or a combination of text and voice via one or more communication channels (not shown in). The one or more communication channels may include channels such as, enterprise messengers (e.g., Skype for Business, Microsoft Teams, Kore. ai Messenger, Slack, Google Hangouts, or the like), social messengers (e.g., Facebook Messenger, WhatsApp Business Messaging, Twitter, Lines, Telegram, or the like), web & mobile channels (e.g., a web application, a mobile application), interactive voice response (IVR) channels, voice channels (e.g., Google Assistant, Amazon Alexa, or the like), live chat channels (e.g., LivePerson, LiveChat, Zendesk Chat, Zoho Desk, or the like), a webhook channel, a short messaging service (SMS), email, a software-as-a-service (SaaS) application, voice over internet protocol (VoIP) calls, computer telephony calls, or the like. Although not illustrated in, it may be understood that to support voice-based communication channels, the agentic AI environmentmay also include, for example, a public switched telephone network (PSTN), a voice server, a text-to-speech (TTS) engine, and/or an automatic speech recognition (ASR) engine.
1 FIG.B 1 FIG.A 1 FIG.B 160 150 160 162 164 1 164 166 1 166 168 1 168 170 172 1 172 160 160 120 1 120 110 1 110 154 n n n n n n is a block diagram of the agentic AI platformof the agentic AI serverillustrated in. As illustrated in, the agentic AI platformcomprises instructions or data corresponding to an agentic application builder, one or more agentic applications()-(), one or more AI agents()-(), one or more tools()-(), a tool permissions manager, and one or more language models()-(), although other types and/or numbers of modules/components may be stored on the agentic AI platformin other examples. The agentic AI platformmay store, manage, or otherwise provide data for delivering software services to the developers at the developer devices()-() or the users at the user devices()-(). This data may be stored in one or more databases or tables as executable instructions in the form of programs, functions, subroutines, structured or unstructured text, or the like. Examples of the steps or functions performed when the programmed instructions stored in the memoryare executed are illustrated and described by way of the figures and description associated with the examples herein.
162 160 150 162 162 162 120 1 120 164 1 164 166 1 166 168 1 168 122 162 120 1 120 172 1 172 162 n n n n n n 2 2 FIGS.A-G The agentic application builderof the agentic AI platformmay be served from and/or hosted on the agentic AI serverand may be accessible as a website, a web application, or a software-as-a-service (SaaS) application, although the agentic application buildermay be accessible in other types and/or numbers of ways in other examples. Enterprise users, such as developers, solution engineers, market analysts, or business analysts, by way of example, may access the functionalities of the agentic application builder, for example, using web requests, API requests, although the functionalities of the agentic application buildermay be accessed using other types and/or numbers of methods in other examples. The one or more developers at the one or more developer devices()-() may design, develop, configure, simulate and/or deploy: the one or more agentic applications()-(), the one or more AI agents()-(), and the one or more tools()-() via the developer GUIof the agentic application builder(as illustrated in). Additionally, the one or more developers at the one or more developer devices()-() may host, create, import, configure, train, deploy, fine-tune, or optimize the one or more language models()-() via the agentic application builder, although other types of and/or numbers of operations may be performed in other examples.
162 122 120 1 120 120 1 120 162 122 120 1 120 164 1 164 166 1 166 168 1 168 120 1 120 162 122 120 1 120 172 1 172 162 n n n n n n n n n In one example, the functionalities of the agentic application buildermay be exposed as the developer GUIrendered in a web page in a web browser accessible using the one or more developer devices()-(), such as a desktop or a laptop, by way of example. The one or more developers at the one or more developer devices()-() may interact with user interface (UI) components, such as windows, tabs, widgets, or icons of the agentic application builderin the developer GUIrendered in the one or more developer devices()-() to design, develop, configure, and/or deploy the one or more agentic applications()-(), the one or more AI agents()-(), or the one or more tools()-(). Additionally, the one or more developers at the one or more developer devices()-() may interact with user interface (UI) components, such as windows, tabs, widgets, or icons of the agentic application builderin the developer GUIrendered in the one or more developer devices()-() to host, create, import, configure, train, deploy, prompt, fine-tune, or optimize the one or more language models()-(), although any other types of and/or numbers of operations may be performed in other examples. The agentic application builderdescribed herein can be integrated with different application platforms, such as development platforms or development tools or components thereof already existing in the marketplace.
166 1 166 166 1 166 172 1 172 168 1 168 166 1 166 166 1 166 168 1 168 166 1 166 166 1 166 168 1 168 166 1 166 n n n n n n n n n n n 2 FIG.C In this example, an agentic application is a software system designed to autonomously determine tasks from the user input, plan the execution of the tasks, make context-aware decisions, and route the tasks to the one or more AI agents()-() for fulfillment without or with minimal user intervention. AI agents()-() are specialized autonomous sub-systems within an agentic application that make use of one or more language models()-() (e.g., large language models), and are responsible for executing specific tasks, interacting with users, collaborating with other AI agents in the agentic application, or accessing the one or more tools()-() for fulfilling the tasks. For example, in an agentic application-“Bank Assist”, one or more AI agents()-() may be configured and deployed to independently handle different banking related tasks. In this example, a first AI agent-“Loan Agent” may be configured to handle different loan related tasks, a second AI agent-“Cards Manager” may be configured to handle different cards related tasks, a third AI agent-“Transaction Manager” may be configured to handle fund transaction related tasks. Additionally, each of the one or more AI agents()-() may be configured to access one or more of the tools()-() specific to the tasks the one or more AI agents()-() are required to fulfill. Thus, each of the one or more AI agents()-() may have its own configuration comprising: a prompt, an LLM, a role, a description, one or more tools()-(), or a custom code to collaborate with other AI agents, which is further explained below in detail with reference to. Further, the agentic application manages communication context and orchestrates communications and data flow between the one or more AI agents()-() for fulfilling the tasks.
1 FIG.B 1 FIG.B 160 168 1 168 166 1 166 168 1 168 160 168 1 168 160 140 166 1 166 168 1 168 168 1 168 120 1 120 168 1 168 164 1 164 166 1 166 162 168 1 168 168 1 168 166 1 166 168 1 168 160 150 140 n n n n n n n n n n n n n n n Referring back to, the agentic AI platformmay host and manage the tools()-() which refer to resources or services that the AI agents()-() may leverage to interact with different computing environments or systems to perform specific tasks and make decisions to achieve desired goals and objectives. Although the tools()-() are shown as hosted on the agentic AI platformin, the tools()-() may be hosted externally to the agentic AI platformsuch as, for example, on the external server. The one or more AI agents()-() may leverage the one or more tools()-() to access information, perform computations, query databases, generate and execute software code, control hardware, or the like. In one example, the one or more tools()-() may include web-based search for dynamic information retrieval, APIs for data integration, simulation tools for predictive modeling, hardware interfaces for device control, or visualization tools for graphical output generation (e.g., images, videos, charts, etc.). The one or more developers at the one or more developer devices()-() may define, configure, and integrate the one or more tools()-() into the one or more agentic applications()-() or the one or more AI agents()-() using APIs, agent frameworks, or prompt-driven mechanisms via the GUI of the agentic application builder, although any other types and/or numbers of mechanisms may be used to define, configure, and integrate the one or more tools()-(). The integration of the one or more tools()-() enhances the functionalities of the AI agents()-() from simple reasoning, text generation, or conversational capabilities to performing complex workflows, making dynamic and real-time decisions, collaborating with other AI agents, or solving complex problems that require external knowledge or performing specific action-oriented tasks. Further, in one example, the one or more tools()-() may be hosted and/or managed externally to the agentic AI platformor the agentic AI server, such as, for example, on the external serveror a cloud computing environment (not shown).
168 1 168 166 1 166 164 1 164 168 1 168 166 1 166 164 1 164 n n n n n n Additionally, in one example, one or more of the tools()-() may be shared and available for access by two or more of the AI agents()-() corresponding to two or more of the agentic applications()-(). In another example, one or more of the tools()-() may be specifically associated to and accessible by one or more of the AI agents()-() corresponding to only one of the agentic applications()-() and not accessible by other AI agents of other agentic applications.
1 FIG.B 160 170 164 1 164 166 1 166 168 1 168 170 164 1 164 166 1 166 168 1 168 120 1 120 168 1 168 164 1 164 166 1 166 n n n n n n n n n n Further, as illustrated in the example in, the agentic AI platformcomprises the tool permissions manager, a framework that regulates and controls which of the one or more agentic applications()-() or the one or more AI agents()-() access and/or how they utilize the one or more tools()-(). The tool permissions managerensures that the one or more agentic applications()-() or the one or more AI agents()-() operate securely, efficiently, and in compliance with organizations predefined constraints by managing the permissions for each of the one or more tools()-(). The one or more developers at the one or more developer devices()-() may configure each of the one or more tools()-() by defining the usage scope of the tool, description of the tool, role of the tool, authentication and authorization requirements, and which of the one or more agentic applications()-() or the one or more AI agents()-() can access the tool, under what conditions or context, and to what extent.
170 168 1 168 164 1 164 166 1 166 170 164 1 164 166 1 166 170 n n n n n Further, the tool permissions managerincludes auditing and logging capabilities to track and record usage of the one or more tools()-() by the one or more agentic applications()-() or the one or more AI agents()-(), for requirements such as, for example, monitoring for sensitive data, frequency of tool access requests, organizational policy or legal compliance checking, debugging, tool access pattern determination, or adjusting tool access permissions dynamically (e.g., based on the context of the tool access request), although the tool permissions managermay have other types and/or numbers of capabilities in other examples. Thus, by managing and controlling tool interactions of the one or more agentic applications()-() or the one or more AI agents()-(), the tool permissions managerminimizes risks, prevents misuse, and ensures compliance with organizational policies or legal regulations.
1 FIG.B 160 172 1 172 172 1 172 172 1 172 160 172 1 172 120 1 120 172 1 172 172 1 172 150 140 150 142 1 142 150 140 n n n n n n n n Further, as illustrated in, the agentic AI platformmay host and/or manage one or more language models()-(). The one or more language models()-() may comprise, for example, LLMs that may be pre-trained general purpose LLMs (e.g., LLaMA 2, Claude, Cohere, Flan T5, BERT, GPT 3.5, GPT 4, . . . ) or fine-tuned LLMs, or small language models (e.g., Mistral 7B, DistilBERT, Phi-2, LLaMA 3, Gemma, . . . ) for an enterprise or one or more domains, although the one or more language models()-() may comprise other types of language models in other examples. The agentic AI platformmay create, host, and/or manage the one or more language models()-() based on the training provided by the one or more developers at the one or more developer devices()-(). The one or more language models()-() may be integrated and/or accessed using APIs. In one example, the one or more language models()-() may be hosted externally to the agentic AI server, such as, for example, on the external serverand managed remotely by the agentic AI server. In another example, the one or more language models()-() may be hosted and managed externally to the agentic AI server, such as, for example, on the external server.
164 1 164 166 1 166 110 1 110 164 1 164 166 1 166 164 1 164 166 1 166 n n n n n n n Upon deploying the one or more agentic applications()-() or the one or more AI agents()-(), the users at the one or more user devices()-() may communicate with the one or more agentic applications()-() or the one or more AI agents()-() to, for example, purchase products, raise tickets, access services provided by the enterprise, to know information about the products/services offered by the enterprise, or the like. Each of the one or more agentic applications()-() or the one or more AI agents()-() may be configured to fulfill one or more user related or system related tasks in one or more domains.
2 2 FIGS.A-G 1 FIG.A 2 2 FIGS.A-G 2 2 FIGS.A-G 162 164 1 164 166 1 166 150 162 n n are wireframes of graphical user interface (GUI) screens of the agentic application builderillustrating exemplary ways to develop, configure, deploy, and simulate the one or more agentic applications()-() and the one or more AI agents()-() on the agentic AI serverillustrated in. The wireframes of the GUI screens of the agentic application builderillustrated inare exemplary and it is to be understood that the GUI screens may comprise, in one example, a different layout with one or more additional windows, tabs, icons, buttons, menus or features, and in another example, the GUI screens may not comprise one or more of the windows, tabs, icons, buttons, menus or features illustrated in the wireframes of.
2 FIG.A 2 FIG.A 2 FIG.A 162 200 164 1 164 120 1 120 164 1 164 202 202 120 1 164 1 164 1 164 1 204 n n n is a wireframe of the agentic application builderillustrating an exemplary GUIto create, deploy, and manage the one or more agentic applications()-(). As illustrated in, the developers at the one or more developer devices()-() may create the one or more agentic applications()-() using an option “+New App”. Further, by using the option “+New App”, the developer at the developer device() may create an agentic application() by providing a name and a description to the agentic application(). In this example, as illustrated in, the agentic application() created is “HR Assist”.
2 FIG.B 2 FIG.C 2 FIG.B 162 210 166 1 166 204 120 1 120 166 1 166 204 212 166 1 166 204 n n n n is a wireframe of the agentic application builderillustrating an exemplary GUIto create, configure, deploy, and manage the one or more AI agents()-(). In this example, upon selecting the created agentic application—“HR Assist”, the developers at the one or more developer devices()-() may create and configure the one or more AI agents()-() corresponding to the agentic application-“HR Assist” using an option “+New Agent” (as illustrated in). In this example, as illustrated in, the one or more AI agents()-() created corresponding to the agentic application—“HR Assist” are “Employee Directory”, “Helper Agent”, and “Leave Agent”.
2 FIG.C 2 FIG.B 2 FIG.C 2 FIG.C 162 220 166 1 212 120 1 166 1 172 1 166 1 168 1 168 166 1 172 1 166 1 n is a wireframe of the agentic application builderillustrating an exemplary GUIto create and configure an AI agent(). Upon clicking the option “+New Agent” (illustrated in), the developer at the developer device() may create and configure an AI agent(), as illustrated in, by providing a name, a role, a description, a language model() for use by the AI agent(), the one or more tools()-() that the AI agent() can access, and a prompt for the language model(). Although not illustrated in, the AI agent() configuration may comprise other types and/or numbers of details in different formats in other examples.
166 1 120 1 168 1 168 166 1 162 230 168 1 120 1 230 168 1 168 1 n 2 FIG.D 2 FIG.C 2 FIG.D 2 FIG.D While creating and configuring the AI agent(), the developer at the developer device() may configure the one or more tools()-() for the AI agent() to access for fulfilling the tasks.is a wireframe of the agentic application builderillustrating an exemplary GUIfor configuring a tool(). Upon clicking the “+Add Tool” option illustrated in, the developer at the developer device() is presented with the exemplary GUIfor configuring the tool(), as illustrated in. The tool() may be configured by providing details such as, for example, a tool name, a tool description, one or more tool parameters required to execute the tool, tool API, or a tool execution script. Although not illustrated in, the tool configuration may comprise other types and/or numbers of details in different formats in other examples.
2 FIG.E 2 FIG.E 2 FIG.F 162 240 204 120 1 120 172 1 172 204 166 1 166 204 166 1 166 204 166 1 166 166 1 166 204 110 1 110 166 1 166 204 120 1 120 120 1 120 242 n n n n n n n n n n is a wireframe of the agentic application builderillustrating an exemplary GUIfor configuring orchestration capabilities for the agentic application, in this example, HR Assist. As illustrated in, the developers at the one or more developer devices()-() may select and configure one of the language models()-() as a supervisor agent that can orchestrate communications related to the agentic application—HR Assist. The communications may comprise communication exchanges between: two or more of the AI agents()-() of the agentic application-HR Assist; the one or more AI agents()-() of the agentic application-HR Assistand another one or more AI agents()-() of other agentic applications; the one or more of the AI agents()-() of the agentic application-HR Assistand the one or more users at the one or more user devices()-(); or the one or more of the AI agents()-() of the agentic application-HR Assistand the one or more developers at the one or more developer devices()-(). The one or more developers at the one or more developer devices()-(), using the orchestration settings optionmay define orchestration capabilities for the supervisor agent in the form of a textual prompt, which is described in detail further with reference to.
2 FIG.F 2 FIG.F 162 244 242 120 1 120 244 120 1 120 166 1 166 204 166 1 166 164 1 164 n n n n n is a wireframe of the agentic application builderillustrating an exemplary GUIfor defining the orchestration capabilities for the supervisor agent. Upon clicking on the orchestration settings option, the one or more developers at the one or more developer devices()-() may be presented with the exemplary GUI. As illustrated in, the one or more developer devices()-() may provide the details such as, for example, roles and responsibilities of the supervisor agent, details of each of the AI agents()-() of the agentic application (HR Assist, in this example), communication or task routing instructions, reasoning instructions, or one or more business rules, although the details may comprise any other types of and/or numbers of information in other examples. The details of each of the AI agents()-() of the agentic application may comprise, for example, name, role(s), description, and tool(s) that the AI agent have access, although any other types of and/or numbers of details corresponding to each of the AI agents may be provided in other examples. For each of the one or more agentic applications()-(), all the related communications will be routed through the corresponding supervisor agent.
164 1 164 164 1 164 166 1 164 1 164 1 166 1 166 1 n n When the supervisor agent receives one or more communications, based on the information provided in the prompt, the supervisor agent may perform one or more operations, such as, for example, determining task(s)/action(s) to be performed, determining recipient(s) of the one or more communications, summarizing the one or more communications, routing the one or more communications to the recipient(s), collaborating with the one or more AI agents of the agentic application, generating one or more response(s) for the one or more communications, monitoring activity of the one or more AI agents of the agentic application, generating an explanation for the performed task(s)/action(s), tracking and logging the agentic application activity for auditing purposes, etc., although the supervisor agent may perform any other types of and/or numbers of operations in other examples. In one example, the supervisor agent of each of the one or more agentic applications()-() acts as a mediator between one or more users (developers, or system components) and the one or more AI agents of the corresponding one of the agentic applications()-(). In another example, once a communication session is established between the one or more users (developers, or system components) and one of the AI agents (e.g., the AI agent()) of the agentic application(), the supervisor agent corresponding to the agentic application() may offload the orchestration capabilities to the AI agent() and request the AI agent() to report back once the communication session ends.
2 FIG.G 2 FIG.G 2 FIG.G 2 FIG.F 162 250 204 250 252 254 256 252 166 1 166 120 1 254 166 1 166 120 1 204 204 120 1 n n is a wireframe of the agentic application builderillustrating an exemplary GUIto simulate and test the flow of the created agentic application (HR Assist, in this example). As illustrated in, the GUIcomprises sections,and. The GUI sectionprovides the available menus options, such as, for example, the one or more AI agents()-() configured, sharing and permission settings, API keys, tracing and audit logs, guardrails for using the agentic application, simulate flow, and other configurations, although the menu options may comprise other types and/or numbers of options in other examples. Further, as illustrated in, upon the developer at the developer device() clicking on the menu option—“simulate flow”, the GUI sectionis presented to the developer, where the developer may test the performance of the agentic application by providing inputs. The agentic application responds to the inputs using the configured one or more AI agents()-(). In this example, when the developer at the developer device() simulates the agentic application-HR Assist, based on the orchestration logic configured (as described above with reference to), the agentic application—HR Assistorchestrates the communications with the AI agents-Employee Directory, Helper Agent, and Leave Agent, to respond to the developer at the developer device().
2 FIG.G 256 250 256 204 204 Further, as illustrated in, the GUI sectionof the GUIdisplays the hierarchy of components of the agentic application. In this example, the GUI sectiondisplays the components of the agentic application-HR Assistcomprising the AI agents and the tools configured for the agentic application-HR Assist, in hierarchical form. The first level in the hierarchy from the top comprises the agentic application, the second level in the hierarchy from the top comprises the AI agents configured for the agentic application, and the last level in the hierarchy from the top comprises the one or more tools configured for the AI agents.
2 FIG.H 260 170 120 1 120 122 170 166 1 166 168 1 168 170 164 1 164 170 164 1 168 1 168 166 1 166 164 1 170 164 1 164 168 1 168 166 1 166 164 1 164 n n n n n n n n n n is a wireframe of an exemplary GUI screenof the tool permissions managerthat is presented to the developers at the one or more developer devices()-() in the developer GUI. The tool permissions manageris a critical component in an agentic AI system, responsible for controlling and managing which of the one or more AI agents()-() can access the one or more tools()-() and under what conditions. In one example, an independent tool permissions managermay be configured for each of the one or more agentic applications()-(). For example, the tool permissions managerconfigured for the agentic application() will be responsible for controlling and managing the access to the one or more tools()-() by the one or more AI agents()-() corresponding only to the agentic application(). In another example, a single centralized tool permissions managermay be configured across the one or more agentic applications()-(), which will be responsible for controlling and managing the access to the one or more tools()-() by the one or more AI agents()-() of the one or more agentic applications()-().
2 FIG.H 2 FIG.H 2 FIG.H 170 120 1 120 168 1 168 260 120 1 120 166 1 166 168 1 168 120 1 120 120 1 166 1 166 1 166 1 166 1 1 n n n n n n n n As illustrated in, the tool permissions managercomprises tool permission settings which may be used by the developers at the one or more developer devices()-() to configure the settings for each of the one or more tools()-(). For each tool, using the tool permission settings in the GUI screen, the developer at the one or more developer devices()-() may configure one or more tool access types for one or more AI agent roles and one or more approvers for the one or more tool access types, as illustrated in. The one or more tool access types may comprise types such as, for example, direct access, approval based access, delegation based access, etc., although the tool access types may comprise other types and/or numbers of methods in other examples. The one or more AI agent roles may comprise roles such as, for example, supervisor, worker, specialist, observer, etc., although there may be other types of and/or numbers of AI agent roles in other examples. The one or more approvers may comprise one or more human operators or one or more of the AI agents()-() that are configured to function as approvers. Additionally, for each of the one or more tools()-(), for each of the one or more tool access types, the developers at the one or more developer devices()-() may associate one or more AI agent roles. For example, as illustrated in, the developer at the developer device() may define that the one or more AI agents()-() configured with “specialist” role can directly access tool() and the one or more AI agents()-() configured with “worker” role can access the tool() only upon seeking an approval from supervisor().
Supervisor Agent: In an agentic application, a supervisor agent is an AI agent that is responsible for delegating and coordinating one or more tasks among one or more worker agents in the agentic application. The supervisor agent may also monitor the activities of the one or more worker agents after delegating the one or more tasks, to ensure alignment with goals and objectives, rules, and regulations, and intervene to reallocate resources or modify instructions. In one example, the supervisor agent may act as a standalone AI agent, perform one or more tasks, or execute one or more tools.
Worker Agent: In the agentic application, a worker agent is an AI agent that is configured to perform one or more specific tasks (e.g., generate text, retrieve data from data sources, execute tools, etc.). The worker agent may perform the one or more tasks based on a prompt provided and execute one or more tools to complete the assigned tasks.
Specialist Agent: In the agentic application, a specialist agent is an AI agent that is purpose-built and configured to perform one or more advanced or high-level domain-specific tasks. The specialist agent may be configured to access and execute one or more specialized or critical tools. For example, in a healthcare agentic application, the AI agent that analyzes medical reports and generates medical insights is a specialist agent that is purpose-built to deeply analyze medical reports.
Observer Agent: In the agentic application, an observer agent is an AI agent that continuously monitors the one or more AI agents of the agentic application for performance, anomalies, or deviations from expected behavior. The observer agent may be responsible for recording and managing activity logs, identifying anomalies, generating alerts, or assisting in debugging or audit processes.
166 1 166 166 1 168 1 n Additionally, in one example, the one or more AI agents()-() may be configured to switch between multiple roles depending on the context, which enables agentic AI systems to dynamically adapt to changing operational needs. For example, the AI agent() may be configured to act as a worker agent during a reasoning task and act as an observer agent when accessing the tool().
2 FIG.H 170 120 1 120 168 1 168 164 1 164 166 1 166 170 n n n n Rule (1): All the AI agents must seek an approval from a human operator before executing a fund transfer tool to process transactions exceeding $10,000. Rule (2): For processing transactions exceeding $10,000, the AI agents can access the fund transfer tool only between 10:00 AM and 5:00 PM on business days. Rule (3): Tools categorized as “worker” are not allowed to interact directly with other tools without explicit approval from a supervisor tool. Rule (4): No tool is allowed to process more than 1,000 transactions per day without a human operator's approval. Rule (5): No tool is allowed to run more than five concurrent tasks. Rule (6): When any of the rules (1)-(5) are not obeyed by any of the AI agents, an alert should be generated and sent to a human operator. Further, as illustrated in, the tool permissions managercomprises a section for the developers at the one or more developer devices()-() to define one or more business rules applicable to the one or more tools()-() across the one or more agentic applications()-() or the one or more AI agents()-(). Below are a few example business rules that may be defined in the business rules section of the tool permissions managerassociated with a bank agentic application-Bank Assist:
170 166 1 166 166 1 166 166 1 166 n n n With the tool permission settings and the one or more business rules configured, the tool permissions managerensures that the one or more AI agents()-() operate within ethical, operational, and organizational boundaries, which in turn ensures accountability and prevents misuse of the one or more AI agents()-() by malicious attackers, or unauthorized or inappropriate actions by one or more AI agents()-().
3 FIG.A 1 FIG.A 1 FIG.A 3 FIG.A 300 168 1 168 166 1 166 150 300 100 150 100 300 300 n n is a flowchart of an exemplary methodfor managing and controlling access to the one or more tools()-() by the one or more AI agents()-() at the agentic AI serverillustrated in. The exemplary methodmay be performed by the system components illustrated in the agentic AI server environmentof. The agentic AI servermay interact with other components of the agentic AI server environmentto perform the steps of the exemplary method. In, the ordering of steps of the methodis exemplary and any other ordering of the steps may be possible, not all the steps may be required, and in some implementations, some steps may be omitted, or other steps may be added.
302 160 168 1 168 166 1 166 166 1 166 110 1 110 168 1 168 166 1 166 168 1 168 168 1 168 n n n n n n n n At step, the agentic AI platformreceives one or more requests to access the one or more tools()-() from the one or more AI agents()-(). In one example, the one or more AI agents()-() are user facing AI agents that communicate with the users at the one or more user devices()-(), gets triggered by one or more user inputs or actions, and have access to the one or more tools()-(). In another example, the one or more AI agents()-() are system facing AI agents that get triggered by one or more system generated inputs or events and have access to the one or more tools()-(). Additionally, in one example, the user facing AI agents may not have the access to the one or more tools()-() that the system facing AI agents have access to and vice versa.
304 160 166 1 166 168 1 168 160 170 166 1 166 168 1 168 160 166 1 168 1 n n n n At step, the agentic AI platformanalyzes the received one or more requests to determine whether the one or more AI agents()-() need an approval to access the one or more tools()-(), based on a context of a corresponding one of the requests and the one or more business rules. In one example, the agentic AI platformmakes use of the tool permission settings and the business rules defined in the tool permissions managerto analyze the received one or more requests and determine the type of access defined for roles of the one or more AI agents()-() for accessing the one or more tools()-(). Additionally, in this example, the agentic AI platformdetermines a corresponding approver that needs to approve the tool access request, when the determination indicates that the AI agent() needs the approval to access the tool().
166 1 166 168 1 168 166 1 166 1 166 1 168 1 168 1 168 1 168 1 n n The context of a request may comprise one or more of: details of a corresponding one of the AI agents()-() from which the request is received, interaction history, current task, and one or more parameters required to access the corresponding one or more of the tools()-(). The details of the AI agent() may comprise: an agent identifier (e.g., name, which may be in the form of text, numbers, alphanumeric, or the like), role (e.g., supervisor, worker, specialist, observer, etc.), operating domain (e.g., banking), one or more tasks that the AI agent() is configured to handle (e.g., checking balance), and timestamp of the request. Additionally, the current task may refer to the task that is currently being executed or performed by the AI agent(). The one or more parameters required to access a tool() may refer to the parameters that are necessary for executing the tool(). For example, in the case of a tool configured for applying leaves, the parameters that are necessary for applying a leave may include: employee ID, leave type, leave start date, and leave end date. Additionally, access to the tool() may be allowed only when the one or more parameters that are necessary for executing the tool() are available in the received tool access request.
166 1 110 1 110 166 1 166 1 166 1 166 166 1 166 166 1 166 166 1 166 n n n n n The interaction history, in one example, may refer to the recorded communication exchanges between the AI agent() and the user at the one or more user devices()-(), which may include one or more of: user input(s), response(s) of the AI agent(), task(s)/action(s) performed by the AI agent(), or the like. In another example, the interaction history may refer to the recorded communication exchanges between the AI agent() and another AI agent(), which may include one or more of: the message(s)/command(s)/data exchanged between the AI agent() and the AI agent(), task(s)/action(s) performed by the AI agent() and the AI agent(), decision(s) made by the AI agent() and the AI agent(), or the like.
3 FIG.A 306 160 304 166 1 166 168 1 168 166 1 166 304 160 166 1 166 166 1 166 160 306 160 120 1 120 306 n n n n n n Referring back to, at step, the agentic AI platformprovides the one or more requests to an approver when the determination (at step) indicates that the one or more AI agents()-() need the approval to access a corresponding one or more of the tools()-(). Upon determining the approver that needs to approve the one or more requests from the one or more AI agents()-() (at step), the agentic AI platformprovides the one or more requests along with the corresponding context and frequency of the request, to the approver for review and approval. In one example, the approver may be an enterprise user (e.g., a developer, system administrator, product owner, etc.) or one of the AI agents()-() that are configured with an approver role. In this example, when the approver is one of the AI agents()-(), the agentic AI platformprompts the approver with the details corresponding to the one or more requests, as described above at step, for review and approval. Additionally, in this example, when the approver is the enterprise user, the agentic AI platformmay provide the details corresponding to the one or more requests as a notification to the enterprise user at one of the developer devices()-(), as described above at step, for review and approval. Further, the approver may review the provided details corresponding to the one or more requests and either approve or reject the one or more requests.
308 160 168 1 168 166 1 166 160 154 168 1 168 166 1 166 166 1 166 n n n n n Subsequently, at step, the agentic AI platformallows the access to the corresponding one or more of the tools()-() by the one or more AI agents()-() upon receiving the approval from the approver. Additionally, in one example, the agentic AI platformmay track and store in the memorytool access request logs comprising: the frequency of the one or more requests to access the one or more tools()-() from the one or more AI agents()-(); a timestamp of each of the one or more requests; and the number of approvals or rejections for each of the one or more requests from the one or more AI agents()-().
160 166 1 168 1 168 166 1 168 1 160 166 1 168 1 168 1 168 166 1 166 160 166 1 166 n n n n Additionally, the agentic AI platformmay analyze the tool access request logs to determine whether any AI agent (e.g., AI agent()) has previously been granted access to any particular tool of the one or more tools()-() a predefined number of times (e.g., 500, 750, 1000, etc.) within a predefined threshold time period (e.g., last 30 days, 60 days, quarter, etc.). Upon identifying that the AI agent() has previously been granted access to one particular tool, e.g., tool() for the predefined number of times within the predefined threshold time period, the agentic AI platformmay auto-approve one or more future requests from the AI agent() to access the corresponding tool(), without requiring explicit approval from the approver. This method of determining tool access patterns and auto approving the one or more future requests to access the one or more tools()-() from the one or more AI agents()-() may enhance the efficiency of the agentic AI system by reducing redundant approval requests and minimizing delays in tool access. Additionally, by analyzing the tool access request logs, the agentic AI platformmay develop trust for the one or more AI agents()-() for future tool access requests.
160 160 120 1 120 166 1 166 1 168 1 120 1 120 166 1 160 166 1 120 1 120 160 166 1 166 166 1 n n n n Further, the agentic AI platformmay also track and store the logs for tool access requests that are auto approved. The agentic AI platformmay analyze these logs, develop further trust, and generate a recommendation for the one or more enterprise users at the one or more developer devices()-() to change a role of the AI agent or adding an additional role to the configuration of the AI agent (e.g., AI agent()), when the AI agent() has been auto approved to access a particular tool, e.g., tool() a second predefined threshold number of times within a second predefined threshold time period. The recommendation may comprise information such as, for example, the details of the AI agent for which the recommendation is made, summary of the logs analysis based on which the recommendation is made, details of the tool(s) for whose access the AI agent has gained the auto approval, and a role that is being recommended for the AI agent and why, although the recommendation may comprise any other types and/or numbers of details. The role that may be recommended for the AI agent may comprise, for example, an approver, a supervisor, a specialist, or the like. The one or more enterprise users at the one or more developer devices()-() may review the recommendation and modify the configuration of the AI agent() accordingly. In another example, based on the analysis described above, the agentic AI platformmay automatically modify the configuration of the AI agent() with a new role and a new prompt, and notify the one or more enterprise users at the one or more developer devices()-() to review the modifications before deployment. In another example, the generated recommendation and corresponding logs may be provided by the agentic AI platformto one of the AI agents()-() that is configured as a “review specialist”, for reviewing the recommendation before automatically modifying the configuration of the AI agent(), which may reject or approve the recommendation, or generate new recommendations.
168 1 166 1 166 4 166 1 166 2 166 4 166 2 166 4 168 1 166 1 166 2 160 168 1 166 2 166 2 168 1 166 3 166 4 166 2 166 1 166 1 For example, in the agentic AI system comprising a tool() and four AI agents()-(), the AI agent() may be configured with a supervisor role and the other three AI agents()-() are configured with worker roles. In this example, the three worker AI agents()-() may be initially configured to access the tool() only upon getting an approval from the supervisor AI agent(). Further, in this example, based on the logs analysis described above, the worker AI agent() may have won the trust of the agentic AI platformand has gained the auto approval for accessing the tool(). Additionally, the worker AI agent() may be recommended for a role change to an approver. Once, the worker AI agent() role is changed to approver, any future requests to access the tool() from the other two worker AI agents()-() may be now routed to the AI agent() for approval instead of being sent to the supervisor AI agent(), which reduces the workload on the supervisor AI agent() and allowing it to handle other important tasks. This method allows for better resource allocation, reduced delays in tool access, and efficient load balancing in the agentic AI system.
3 FIG.B 1 FIG.A 1 FIG.A 3 FIG.B 320 168 1 168 166 1 166 150 320 100 150 100 320 320 n n is a flowchart of another exemplary methodfor managing and controlling access to the one or more tools()-() by the one or more AI agents()-() at the agentic AI serverillustrated in. The exemplary methodmay be performed by the system components illustrated in the agentic AI server environmentof. The agentic AI servermay interact with other components of the agentic AI server environmentto perform the steps of the exemplary method. In, the ordering of steps of the methodis exemplary and any other ordering of the steps may be possible, not all the steps may be required, and in some implementations, some steps may be omitted, or other steps may be added.
322 160 168 1 168 168 1 166 1 166 166 1 n n At step, the agentic AI platformreceives a request to access one of the tools()-(), hereinafter referred to as a “first tool()”, from one of the AI agents()-(), hereinafter referred to as a “first AI agent()”.
324 160 166 1 168 1 166 1 168 1 166 1 166 1 At step, the agentic AI platformdetermines that the first AI agent() is not authorized to or does not have access to the first tool() based on the context of the request and the one or more business rules. The context of the request may comprise one or more of: details of the first AI agent() from which the request is received, interaction history, current task, and one or more parameters required to access the first tool(). The details of the first AI agent() may comprise: an agent identifier (e.g., name, which may be in the form of text, numbers, alphanumeric, or the like), role (e.g., supervisor, worker, specialist, observer, etc.), operating domain (e.g., banking), one or more tasks that the first AI agent() is configured to handle (e.g., checking balance), and timestamp of the request.
326 160 166 1 166 168 1 170 n At step, the agentic AI platformidentifies one or more second AI agents of the one or more AI agents()-() that have access to or are authorized to access the first tool() using the tool permission settings defined in the tool permissions manager.
328 160 166 5 168 1 166 1 166 168 1 166 1 166 5 160 166 1 168 1 168 1 168 1 160 166 1 168 1 n At step, the agentic AI platformprompts one of the identified second AI agents, hereinafter known as the “second AI agent()” to access the first tool() based on the context of the request. In one example, one of the AI agents()-() that has access to the first tool() and whose output can be consumed by the first AI agent() (e.g., determined based on the business rules) is identified as the second AI agent. Additionally, the second AI agent() may be prompted by the agentic AI platformonly when the request received for the first AI agent() to access the first tool() comprises all the parameters that are required for executing the first tool(). When the request to access the first tool() does not comprise all the required parameters, the agentic AI platformprompts the first AI agent() to send a new access request with all the parameters that are required for executing the first tool().
330 160 166 1 168 1 166 5 166 5 168 1 160 166 1 166 5 168 1 166 1 Subsequently, at step, the agentic AI platformprovides the first AI agent() a result of accessing the first tool() received from the second AI agent(). In one example, upon prompting, the second AI agent() access or executes the first tool() based on the context of the request provided and outputs the result of the execution to the agentic AI platform, which in turn provides the result to the first AI agent(). In another example, the second AI agent() may provide the result of executing the first tool() directly to the first AI agent().
160 166 1 166 160 166 1 166 1 120 1 120 168 1 166 1 166 1 168 1 168 1 166 1 168 1 120 1 120 166 1 160 168 1 166 1 n n n Additionally, the agentic AI platformmay also track and store the logs for tool access requests made by the one or more AI agents()-(). In this example, the agentic AI platformmay analyze the tool access request logs of the first AI agent(), develop trust for the first AI agent(), and generate a recommendation for the one or more enterprise users at the one or more developer devices()-() to provide access to the first tool() for the first AI agent(), when the first AI agent() does not have the access to the first tool(), but made a predefined number of requests (e.g., 750, 1000, 1500, etc.) to access the first tool() within a predefined threshold time period (e.g., last 30 days, 60 days, quarter, etc.). The recommendation may comprise information such as, for example, the details of the first AI agent() for which the recommendation is being made, summary of the logs analysis and a reason based on which the recommendation is being made, and details of the first tool() for whose access the recommendation is being made, although the recommendation may comprise any other types and/or numbers of details. The one or more enterprise users at the one or more developer devices()-() may review the recommendation and modify the configuration of the first AI agent() accordingly. In another example, based on the analysis described above, the agentic AI platformmay automatically add access to the first tool() in the tools section of the first AI agent() configuration.
4 FIG.A 3 FIG.A 1 FIG.A 4 FIG.A 4 FIG.A 4 FIG.A 400 300 168 1 168 166 1 166 150 400 100 n n is an exemplary flow diagramof methodillustrated infor managing and controlling access to the one or more tools()-() by the one or more AI agents()-() at the agentic AI servershown in. Further, it may be understood that the steps illustrated indo not have to take place in the sequence illustrated in the exemplary flow diagram. Furthermore, it may be understood that one or more components and the one or more steps illustrated inmay not be needed for managing and controlling tool access. Although not illustrated in, other components of the agentic AI server environmentmay also be used to implement the exemplary method disclosed herein.
402 166 1 110 1 110 100 166 1 166 1 166 1 166 1 166 1 166 1 n As illustrated at step, the AI agent() may receive a user input from the one or more user devices()-() or a system input from one or more components of the agentic AI server environment. In one example, when the AI agent() is a user facing AI agent, then the AI agent() gets triggered by the user input. For example, if the AI agent() is a “check balance agent” and is user facing, then the check balance agent may be triggered by one or more user inputs such as—“Show me my balance”, “What is my account balance?”, etc. In another example, when the AI agent() is a system facing AI agent, then the AI agent() gets triggered by the system input. For example, if the AI agent() is a “loan processing agent” and is system facing, then the loan processing agent may be triggered when a new loan application is received by a banking system.
402 166 1 168 1 166 1 170 168 1 Further, at step, the AI agent() may analyze the received input, determine one or more tasks to be fulfilled from the input, and determine that the tool() needs to be accessed to fulfill the one or more tasks. Further, the AI agent() may request the tool permissions managerto access the tool().
404 406 170 166 1 168 1 408 166 1 168 1 406 166 1 168 1 At stepsand, based on the context of the request, the tool permissions managerdetermines whether the AI agent() is allowed direct access the tool(). At step, the AI agent() may be directly allowed to access the tool(), when it is determined (at step) that the AI agent() has direct access to the tool().
4 FIG.A 4 FIG.A 410 170 166 1 168 1 412 168 1 166 1 410 166 1 168 1 414 166 1 168 1 166 1 168 1 410 166 1 168 1 414 166 1 168 1 416 Further, as illustrated in, at step, the tool permissions managerdetermines whether the AI agent() need any explicit approval to access the tool(). At step, the request to access the tool() received from the AI agent() is provided to an approver for review and approval, when it is determined (at step) that the AI agent() requires an explicit approval from the approver to access the tool(). Further, at step, when the approver approves the AI agent() to access the tool(), the AI agent() is allowed to access the tool(). Furthermore, when at stepit is determined that the AI agent() is not allowed to access the tool() or when at stepthe approver rejects the tool access request, the AI agent() is denied access to the tool(), as illustrated at stepof.
4 FIG.B 3 FIG.B 1 FIG.A 4 FIG.B 4 FIG.B 4 FIG.B 420 320 168 1 168 166 1 166 150 420 100 n n is an exemplary flow diagramof methodillustrated infor managing and controlling access to the one or more tools()-() by the one or more AI agents()-() at the agentic AI servershown in. Further, it may be understood that the steps illustrated indo not have to take place in the sequence illustrated in the exemplary flow diagram. Furthermore, it may be understood that one or more components and the one or more steps illustrated inmay not be needed for managing and controlling tool access. Although not illustrated in, other components of the agentic AI server environmentmay also be used to implement the exemplary method disclosed herein.
422 166 1 110 1 110 100 422 166 1 168 1 166 1 170 168 1 n As illustrated at step, the AI agent() may receive the user input from the one or more user devices()-() or the system input from one or more components of the agentic AI server environment. Further, at step, the AI agent() may analyze the received input, determine one or more tasks to be fulfilled from the input, and determine that the tool() needs to be accessed to fulfill the one or more tasks. Further, the AI agent() may request the tool permissions managerto access the tool().
424 170 166 1 168 1 426 170 166 5 168 1 166 1 166 5 At step, the tool permissions managermay determine that the AI agent() does not have the access to the tool(). At step, the tool permissions managermay identify another AI agent, for example, AI agent(), that has access to tool() and informs the AI agent() about the AI agent().
428 166 1 166 5 168 1 166 1 166 5 168 1 170 166 5 430 166 5 168 1 166 1 At step, the AI agent() may provide the required context and request the AI agent() to access the tool(). In one example, instead of the AI agent() requesting the AI agent() to access the tool(), the tool permissions managermay forward the tool access request the AI agent(). Subsequently, at step, the AI agent() may output a result of executing the tool() to the AI agent().
Having thus described the basic concept of the invention, it will be rather apparent to those skilled in the art that the foregoing detailed disclosure is intended to be presented by way of example only and is not limiting. Various alterations, improvements, and modifications will occur and are intended for those skilled in the art, though not expressly stated herein. These alterations, improvements, and modifications are intended to be suggested hereby, and are within the spirit and scope of the invention. Additionally, the recited order of processing elements or sequences, or the use of numbers, letters, or other designations, therefore, is not intended to limit the claimed processes to any order except as may be specified in the claims. Accordingly, the invention is limited only by the following claims and equivalents thereto.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
February 24, 2025
August 27, 2026
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.