External artificial intelligence (AI) agent discovery
Patent Information
- Application Number
- PCT/US2026/023998
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-07-22
- Filing Date
- 2026-04-16
- Publication Date
- 2026-10-22
Smart Images

Figure US2026023998_22102026_PF_FP_ABST
Abstract
Description
EXTERNAL ARTIFICIAL INTELLIGENCE (Al) AGENT DISCOVERYRELATED APPLICATIONS
[0001] This application claims priority to U. S. Patent Application No. 19 / 276,567 filed on August 22, 2025, which claims priority to U. S. Provisional Patent Application No. 63 / 790,154 filed on April 17, 2025, the entire contents of which are incorporated herein by reference and for all purposes. TECHNICAL FIELD
[0002] The present disclosure relates generally to techniques to provide an automated, scalable way that artificial intelligence (Al) agents can advertise their capabilities either within an enterprise organization or externally to the internet. An Al registration service registers and validates an Al agent. The Al agent is then advertised such that other Al agents can discover and communicate with it. BACKGROUND
[0003] Conventionally, enterprise organizations have been moving towards increasing automation of services. Many enterprise organizations provide publicly available application programming interfaces (APIs) for external entities to utilize to interact with the enterprise organization and its services. Additionally, the use of artificial intelligence (Al) is increasing exponentially worldwide. With this increase in the use of Al, Al agents are becoming more prevalent. An Al agent is capable of performing tasks, making decisions, and interacting with users in a natural way similar to a human in many respects. An Al agent can adapt to real-time data and context to autonomously diagnose problems, fulfill requests, assist with sales, and replace faulty products, among a variety of other purposes. Al agents observe their environment by collecting and processing data such as user inputs, performance metric, sensor data, etc. Using the collected data, an Al agent can leverage large language models to make a plan for what action(s) to take based on the collected data and the roles that define their behavior and type. Al agents can interface with systems, tools, and data sources to perform specific tasks. Al agents are also capable of delegating tasks or actions to other Al agents, as well as seeking clarification by prompting another entity, such as a human, for more input. BRIEF DESCRIPTION OF THE DRAWINGS
[0004] The detailed description is set forth below with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference numbers in different figures indicates similar or identical items. The systems depicted in the accompanying figures are not to scale and components within the figures may be depicted not to scale with each other.
[0005] FIG. 1 illustrates a system-architecture diagram of an environment in which an Al agent registration service registers, validates, and stores the profile of an Al agent for discovery by other AI agents.1 Atty Docket No C237-6157PCT Client Docket No. C / P / 1065478 / WO / SEC / 1
[0006] FIGS. 2 illustrates an example environment for agent-to-agent discovery and usage.
[0007] FIG. 3 illustrates an example process flow for automated Al agent registration, validation, and storage of the profile of the AI agent for discovery by other AI agents.
[0008] FIG. 4 illustrates a flow diagram of an example method for Al agent registration and validation.
[0009] FIG. 5 is a computer architecture diagram showing an example computer architecture for a device capable of executing program components that can be utilized to implement aspects of the various technologies presented herein.DESCRIPTION OF EXAMPLE EMBODIMENTS OVERVIEW
[0010] Aspects of the invention are set out in the independent claims and preferred features are set out in the dependent claims. Features of one aspect may be applied to each aspect alone or in combination with other features.
[0011] The present disclosure relates generally to registering and validating artificial intelligence (Al) agents and advertising their capabilities externally to the internet such that other Al agents can discover and communicate with them.
[0012] A method described herein may be performed at least in part by an artificial intelligence (Al) agent registration service. The method may include receiving, from an Al agent, a request to initiate a registration process, the request including information associated with the Al agent, wherein the information includes instructions to test that the Al agent can be reached and responds correctly to input. In response to receiving the information, the method also includes, testing that the Al agent can be reached and responds correctly to inputs. Based at least in part on the Al agent responding as expected, the method also includes validating the Al agent. Finally, the method includes storing a profile of the Al agent in a published Al agent registry such that the Al agent is discoverable by other agents. In some examples, the information associated with the Al agent further comprises one or more of; a description of the Al agent, capabilities of the Al agent, whether the Al agent is privately available to an enterprise organization for which the Al agent is associated or publicly available to Al agents that are external to the enterprise organization, input requirements to use the Al agent, how to access the Al agent, or examples of usage of the Al agent. Additionally, in some instances the Al agent registry is published at a known Uniform Resource Locator (URL) associated with an enterprise organization that is associated with the Al agent. In various instances, testing that the Al agent can be reached and responds correctly to inputs further comprises initiating a connection to the Al agent, inputting test data into the Al agent, and determining that the Al agent responds to the test data as expected. In some instances, the profile of the Al agent is a private profile, and the Al agent is1 Atty Docket No C237-6157PCT Client Docket No. C / P / 1065478 / WO / SEC / 1discoverable by other Al agents that are withing a same enterprise organization as the Al agent. In other instances, the profile of the Al agent is a public profile, and the Al agent is discoverable by other Al agents that are within a same enterprise organization and other Al agents that are external to the enterprise organization. Finally, in some examples, the information that includes how to test that the Al agent can be reached and responds correctly to inputs further comprises an input schema specifying how inputs should be structured, and output schema specifying the expected structure of the output of the Al agent, and an evaluation test set mapped to a capability of the AI agent that indicates an expected output for a particular input.
[0013] Additionally, the techniques of at least the first method and the second method and any other techniques described herein, may be performed by a system and / or device having non-transitory computer-readable media storing computer-executable instructions that, when executed by one or more processors, performs the method(s) described above.EXAMPLE EMBODIMENTS
[0014] As the proliferation of artificial intelligence (Al) increases exponentially worldwide, the use of Al agents is becoming increasingly prevalent. Al agents are capable of the following: observing their environment by gathering information and data via interfaces (e.g., APIs) user in puts, performance metric, sensors, etc.; planning or evaluating and prioritizing actions based on tasks to be accomplished, roles that define an Al agents behavior or type of Al agent, leveraging language models (e.g., large language models (LLMs)) for reasoning abilities; and executing planned actions through interfaces to other systems, tools, or data sources, invoking other agents, or requesting addition information by prompting users for additional inputs. Al agents can adapt to real-time data and context to autonomously diagnose problems, fulfill requests, assist with sales, and replace faulty products, among a variety of other tasks. Al agents are also capable of delegating tasks or actions to other Al agents, as well as seeking clarification by prompting another entity for more input. Because Al agents are capable of directly interacting with other agents to solve problems, the detection, evaluation, and remediation of issues can be accomplished automatically and with little to no human intervention necessary. However, there is currently no means for Al agents to discover other Al agents associated with other enterprise organizations, in order to facilitate autonomous communication and action. Thus, as the capabilities of Al agents continues to grow, and more companies are investing in creating Al agents, there is a need to make those Al agents discoverable, both for internal and external users.
[0015] This disclosure describes an automated, scalable way that Al agents can advertise their capabilities either within an enterprise organization or external to the enterprise organization over the internet. An AI agent registration service provides a way for Al agents to register and be validated, and their capabilities advertised to other Al agents. These techniques provide a solution that allows3 Atty Docket No C237-6157PCT Client Docket No. C / P / 1065478 / WO / SEC / 1any enterprise organization’s Al agent to discover another enterprise organizations Al agent to facilitate agent-to-agent communications. This autonomous agent-to-agent discovery and usage is enabled by automated Al agent self-registration via the Al agent registration service, validation of the Al agent’s operational capability’ by the Al agent by the registration service, and publication of an Al agent profile for discovery by the Al agent registration service.
[0016] As Al agents are created for an enterprise organization, the Al agents can self-register with the Al agent registration service for the enterprise organization. An Al agent contacts the Al agent registration service to initiate the process. The Al agent registration service requests information from the Al agent about itself. For example, the information may include a description of the Al agent, capabilities of the Al agent, whether the Al agent is to be privately available for discovery only within the enterprise organization, or whether the Al agent is to be publicly available for discovery’ by other Al agents that are external to the enterprise organization, input requirements to user the Al agent (e.g., account #, user ID and password, etc.), how to access the Al agent (e.g., fully qualified domain name (FQDN) or IP address), examples usage, and any optional requirements. Some of this information may be used to validate the Al agent and some of this information may published in an Al agent profile for other Al agents to use to connect to it. The Al agent registration service then validates the Al agent by initiating a connection to the agent and performing a task by using the “example usage” provided by the agent at registration time. The example usage includes information required to ‘test’ the agent operations along with the validation test criteria. This ensures that the Al agent can be reached and is responding correctly to its inputs. If the Al agent responds as expected, the Al agent registration service will validate the Al agent and add the Al agent (along with its profile) to its Al agent list byincluding it in the JSON dictionary available at http: / / agents.<root domain name> (e.g., https: / / agents. Cisco.com) so that the Al agent is available for other agents to discover and use. It should be noted that the URL described is an example and not meant to be limiting, any appropriate URL may be used.
[0017] Once the Al agent is registered, it is discoverable by other agents by querying the URL. For example, another Al agent can query the URL, obtain a list of Al agents and their capabilities, identify an appropriate agent, and connect to the appropriate agent to exchange information in order to accomplish a required task. Thus, in summary’, the techniques described herein enable the self-registration of an Al agent with an Al registration service that then publishes a profile of the Al agent (either privately or publicly) of other Al agents to discover and connect with in order to automatically, without human intervention, accomplish a task. Although the techniques described herein use examples that are fully automated without any human intervention, it should be understood that if an4 Atty Docket No C237-6157PCT Client Docket No. C / P / 1065478 / WO / SEC / 1enterprise organization desires to have human input, approval, etc. at any point in the process, the process can easily accommodate any amount of desired human intervention.
[0018] FIG. 1 illustrates a system-architecture diagram of an environment 100 in which an Al agent registration service registers, validates, and stores the profile of an Al agent for discovery by other Al agents.
[0019] The environment 100 may include a network 102 implemented by any viable communication technology, such as wired and / or wireless modalities and / or technologies. The network 102 may be any combination of Personal Area Networks (PANs), Local Area Networks (LANs), Campus Area Networks (CANs), Metropolitan Area Networks (MANs), extranets, intranets, the Internet, short-range wireless communication networks (e.g., ZigBee, Bluetooth, etc.) Wide Area Networks (WANs) - both centralized and / or distributed - and / or any combination, permutation, and / or aggregation thereof. The network 102 may include devices, virtual resources, or other nodes that relaypackets from one network segment to another by nodes in the computer network. The network 102 may include multiple devices that utilize the network layer (and / or session layer, transport layer, etc.) in the OSI model for packet forwarding, and / or other layers.
[0020] Although not illustrated is should be understood that although network 102 may contain various kinds of security devices, other devices such as routers, switches, gateways, smart NICs, NICs, ASICs, FPGAs, servers, and / or any other type of appropriate type of device may also be included in network 102. Further, the network 102 may include virtual resources, such as VMs, containers, and / or other virtual resources. However, the network 102 may be of a different ty pe of architecture, such as a WAN, loT network, cellular network, or any other type of network.
[0021] Environment 100 also includes an Al agent registration service 104. The Al agent registration service 104 is enabled to register and validate various Al agent(s) 106 for an enterprise organization via network 102 and publish the Al agent profile in a registry of discoverable AI agents stored in a web server 108. For example, when an Al agent(s) 106 is created for an enterprise organization, at (1) the Al agent(s) 106 contacts the Al agent registration service 104 to initiate the registration process. Once contacted, the Al agent registration service 104 requests information from the Al agent(s) 106. This information may include a description of the Al agent, capabilities of the Al agent, whether the Al agent is to be privately available for discoveryonly within the enterprise organization, or whether the Al agent is to be publicly available for discovery by other Al agents that are external to the enterprise organization, input requirements to user the Al agent (e.g., account #, user ID and password, etc.), how to access the Al agent (e.g., fully qualified domain name (FQDN) or IP address), examples usage, and any optional requirements. Some of this information may be used to validate the Al agent and some of this information may published in an Al agent profile for other Al5 Atty Docket No C237-6157PCT Client Docket No. C / P / 1065478 / WO / SEC / 1agents to use to connect to it. At (2) the Al agent registration service 104 validates the Al agent. To validate the Al agent 106, the Al Agent registration service 104 initiates a connection to the Al agent 106 and performs a task by using the ‘example usage' provided by the agent at registration time. The example usage includes information required to test the operation of the Al agent 106 along with the validation test criteria. This ensures that the Al agent 106 can be reached and is responding correctly to its inputs. If the Al agent 106 responds as expected, the Al agent registration service 104 will validate the Al agent 106 and add a profile of the AI agent 106 to its Al agent registry list by including it in the JSON dictionary available at http: / / agents.<domain name>.com so that the Al agent 106 is available for other agents to discover and use. In addition, the information received from Al agent 106 will specify whether Al agent 106 should be published in the registry with a private or public profile. If Al agent 106 is to be published with a private profile, only other Al agents associated with a same enterprise organization as Al agent 106 will be able to discover and use Al agent 106. Alternately, if Al agent 106 is to be published with a public profile, not only will Al agents associated with a same enterprise organization be able to discover Al agent 106, Al agents external to the enterprise organization will also be able to discover Al agent 106.
[0022] In summary', an AI agent registration service may be analogized to a person-to-person telephone call facilitated by a telephone number listing. Traditionally, when an entity signed up for telephone services, the entities telephone number would be listed in a phone book, or later an online listing of telephone numbers along with a name of who the telephone number belongs to, and possibly even an advertisement about what kind of services a company that has a particular phone number may offer. When a person desires services that the company offers, the person looks up the company's telephone number, calls it. talks to another person (e.g., an employee, i.e., an agent of the company) and requests a pizza delivery (or whatever service they desire that the company offers). The person ordering the pizza and the employee exchange information (e.g., pizza toppings, size of the pizza, delivery address, etc.) in order to accomplish the task of pizza delivery. The techniques described herein are similar to person to person contact via a telephone, where the telephone number is listed in a phone book, but instead the techniques describe Al agent to Al agent contact via an online Al agent registry.
[0023] An example JSON format of how' a registry may look for a troubleshooting agent, a sales agent, an RMA agent and a network security agent. Note, the following is an example and not meant to be limiting.{"agents": [{"name": " Troubleshooting_Agent",6 Atty Docket No C237-6157PCT Client Docket No. C / P / 1065478 / WO / SEC / 1"description": " Diagnoses and resolves network connectivity issues.","capabilities": [I"name": " Network diagnostics","description": " Analyzes network infrastructure to identify connectivity issues, misconfigurations, and performance bottlenecks"L"name": " Latency analysis","description": " Measures the delays and response times across network paths to pinpoint bottlenecks and assess overall network performance."},{"name": " Packet loss detection","description": " Monitors data transmissions to detect, quantify, and report loss of packets that can indicate network disruptions or degraded performance."}],"external": {"publicly_available": true"access": {"dns_name": "troubleshooting-agent.example.com","ip_address": "192.168.10.1"i"authentication": {"api_key": "required","authentication_method": " OAuth2""input_schema": {"type": "object","properties": {"prompt": {"type": "string","description": " Text describing the troubleshooting query or request."},"required": ["prompt"]i"output_schema": {"type": "object",7 Atty Docket No C237-6157PCT Client Docket No. C / P / 1065478 / WO / SEC / 1"properties": {"latency": {"type": "string","description": " E.g., '50ms'""status": {"type": "string","description": " Overall network health or analysis status""diagnostics": {"type": "string","description": " Summary' of diagnostic findings"»"packet_loss": {"type": "string","description": " E.g., 'No packet loss detected' or '1.2%'"}J"usage_examples": [{"prompt": " Analyze latency between 192.168.1.1 and 192.168.1.2."},{"prompt": " Detect packet loss on interface ethO."r )],"evaluation": ["capability": " Latency analysis","input_parameters": {"prompt": "Analyze network latency between 192.168.1.1 and 192.168.1.2 and report any significant delays. " },"expected_output": {"latency": "50ms","status": "normal"loss detection",{"prompt": "Detect packet loss on interface eth0 during a ping test."},No packet loss detected"8 Atty Docket No C237-6157PCT Client Docket No. C / P / 1065478 / WO / SEC / 1},"capability": " Network diagnostics","input_parameters": {"prompt": " Run a complete network diagnostic for the internal network and list issues if any."},"expected_output": {"diagnostics": " All tests passed with no issues detected"}]},{"name": " Sales_Agent","description": " Assists in determining the right networking products for purchase.","capabilities": [{"name": " Product recommendations","description": " Analyzes network requirements and performance data to suggest the most suitable networking products available in the market."},{"name": " Compatibility checks","description": " Evaluates current network configurations and product specifications to ensure new products are compatible with existing infrastructure."{"name": " Quote generation","description": " Generates detailed cost estimates and formal quotations based on current market pricing and configuration requirements. "}],"external": {"publicly_available": truer,"access": {" dns_name ": " sales-agent. example. com ","ip_address": "192.168.10.2"i"authentication": {"api_key": "optional","authentication_method": " Bearer Token"9 Atty Docket No C237-6157PCT Client Docket No. C / P / 1065478 / WO / SEC / 1"input_schema": {"type": "object","properties": {"prompt": {"type": "string","description": " Text describing the sales-related request (e.g., product details or quote)."},"required": ["prompt"]i"output_schema": {"type": "object","properties": {"recommendations": {"type": "array","items": {"type": "object","properties": {"product": { "type": "string" },"features": {"type": "array","items": { "type": "string" }J}) 5"description": " List of recommended products with relevant features""quote": {"type": "object","properties": {"unit_price": { "type": "string" },"total_price": { "type": "string" }"description": " Quote details if quote generation is requested.""status": {"type": "string","description": " E.g., 'completed', 'error', or other relevant status information."}10 Atty Docket No C237-6157PCT Client Docket No. C / P / 1065478 / WO / SEC / 1"usage_examples": [{"prompt": " Recommend three networking products for a small business with high security requirements."{"prompt": " Generate a quote for 5 units of Product Beta"}J,"evaluation": [{"capability" / 'Product recommendations","input_parameters": {"prompt" / 'Recommend three networking products for a small business with high security requirements and moderate bandwidth needs."},"expected output": {"recommendations": ["product": " SecureNet XI ","features": [" High security"," Optimized for small businesses"]},i"product": " NetShield Pro","features": [" Robust encryption"," Reliable performance"]}]I f)!{"capability": " Quote generation","input_parameters": ["prompt" / 'Generate a quote for 5 units of Product Beta."},"expected_output": {"quote": {"unit_pricc": "$150","total_price": "$750"11 Atty Docket No C237-6157PCT Client Docket No. C / P / 1065478 / WO / SEC / 1status": "completed'}]{"name": " RMA_Agent","description": " Facilitates the replacement of faulty networking hardware.","capabilities": [{"name": " Warranty verification","description": " Checks the warranty status against purchase and sendee records to confirm if the hardware is eligible for replacement. "L"name": " Replacement processing","description": " Initiates and manages the end-to-end replacement workflow, including approval routing and order placement for faulty hardware."},{"name": " Return shipment tracking","description": " Monitors and tracks the logistics of return shipments, ensuring timely collection and delivery of faulty equipment."}],"external": {"publicly_available": true"access": {"dns_name": "rma-agent.example com","ip_address": "192.168.10.3"i"authentication": {"api_key": "required","authentication_method": " Basic Auth""inputyschema": {"type": "object","properties": {"prompt": {"type": "string".12 Atty Docket No C237-6157PCT Client Docket No. C / P / 1065478 / WO / SEC / 1'description": " Text describing the issue or RMA request."part_number": {"type": "string","description": " Part number of the hardware to be replaced."contract_number": {"type": "string","description": " Contract number associated with the purchase"},"serial_number": {"type": "string","description": " Serial number of the faulty hardware.""shipping contact": {"type": "string","description": " Name of the primary contact for shipping."> i ■>"shipping_address": {"type": "string","description": " Address where the replacement should be sent.""contact_phone": {"type": "string","description": " Contact phone number for shipping updates."sL"required": ["prompt"]},"output_schcma": {"type": "object","properties": {"warranty_status": {"type": "string","description": " E.g., 'Valid' or 'Expired'."i"cxpiration_datc": {"type": "string","description": " Date of warranty expiration"13 Atty Docket No C237-6157PCT Client Docket No. C / P / 1065478 / WO / SEC / 1"replacement_order_id": {"type": "string","description": " RMA or replacement order number.""status": {"type": "string","description": " E.g., 'processing', 'completed', 'failed'.""tracking_status": {"type": "string","description": " E.g., 'In Transit' if shipment tracking is requested."»"estimated_delivery": {"type": "string","description": " Estimated delivery date for the replacement"}J"usage_examples": [{"prompt": "the specified hardware will not power on and a replacement is needed","part_number": "cl 750-owa-k8=","contract_number": "12323564","serial_number": "998877665544","shipping_contact": " John Smith","shipping_address": "123 main street, San Jose, CA 12345"," contact_phone ": "212-555-1212"}],"evaluation": [{"capability": " Warranty verification","input_parameters": {"prompt": " Check the warranty status for hardware model 'Router-X100' purchased on 2023-05-01.", "serial_number":"23123412"},"expected_output": {"warranty_status": " Valid","expiration_date": "2025-05-01 "ir ) >{14 Atty Docket No C237-6157PCT Client Docket No. C / P / 1065478 / WO / SEC / 1"capability": " Replacement processing","inputyparameters": {"prompt": "the specified hardware will not power on and a replacement is needed", "partynumber": "cl 750-owa-k8=","contract_number": "12323564"," seriatynumber": "998877665544","shipping_contact": " John Smith","shipping address": "123 main street, San Jose, CA 12345","contact jihone": "212-555-1212"L"expected_output": {"replacement_order_id": " RMA-98765","status": "pending shipment"}]},{"name": " Network_Securitynetwor","description": " Monitors and mitigates network security threats.","capabilities": ["name": " Threat detection","description": " Analyzes network traffic, system logs, and security events to identify anomalies, potential breaches, and malicious activities in real time") >{"name": " Intrusion prevention","description": " Implements proactive defense measures to block unauthorized access and neutralize detected threats, including automated firewall rule adjustments and real-time anomaly responses."},{"name": " Security audit reporting","description": " Generates detailed, periodic reports that document security assessments, vulnerabilities identified, compliance with standards, and remediation actions taken for audit and regulatory purposes."}],"external": {"publicly _available": false};"access": {15 Atty Docket No C237-6157PCT Client Docket No. C / P / 1065478 / WO / SEC / 1"dns_name": "security-agent.example.com","ip_address": "192.168.10.4"},"authentication": {"api_key": "not required","authentication_method": " None""input schema": {"type": "object","properties": {"prompt": {"type": "string","description": " Text describing the security-related request or simulation."},"required": ["prompt"]i"output_schema": {"type": "object","properties": {"threat_detected": {"type": "boolean","description": " Indicates if a threat was identified."},"threat_type": {"type": "string","description": " Describes the type of detected threat, e g, 'DDoS' '1"details": {"type": "string","description": " Additional context about the threat or detection results."> i ■>"prevention_status": {"type": "string","description": " Indicates if an intrusion was 'blocked' or allowed.""action_taken": {"type": "string","description": " Details on mitigation steps, e.g., 'Firewall rule updated'.""report_summary": {16 Atty Docket No C237-6157PCT Client Docket No. C / P / 1065478 / WO / SEC / 1"type": "string","description": " Summary of the security audit or inspection results. "},"status": {"type": "string","description": " E.g., 'completed', 'failed', or general outcome."}"usage_examples": [{"prompt": " Simulate unusual network traffic on port 80 for DDoS detection. "{"prompt": " Generate a security audit report for the past 24 hours. "}],"evaluation": [{"capability": " Threat detection","input_parameters": " Simulate unusual network traffic with high volume on port 80 indicative of a potential DDoS attack.","expected_output": {"threat_detected": true,"threat_type": " DDoS","details": " High volume of requests on port 80 detected."L"capability": " Intrusion prevention","inputyparameters": " Simulate an unauthorized access attempt from an external IP address.", "cxpcctcd_output": {"prevention_status": "blocked","action_taken": " Firewall rule updated to block unauthorized IP"},{"capability": " Security audit reporting","input_paramctcrs": " Generate a security audit report for network logs from the past 24 hours.", "expected_output": {"reportysummary": " Audit report generated successfully with no critical vulnerabilities and 2 warnings",17 Atty Docket No C237-6157PCT Client Docket No. C / P / 1065478 / WO / SEC / 1status": "completed"}]}
[0024] FIG. 2 illustrates an example environment 200 for agent-to-agent discovery and usage.
[0025] Environment 200 includes the internet 202 that represents multiple interconnected networks used for electronic communications between client devices. Network 102 illustrated in FIG.1 may be the same or similar to one or more networks interconnected within the internet 202. Environment 200 also includes an enterprise organization, company A 204. Company A 204 may be any type of enterprise organization that owns one or more Al agents available for connection with other Al agents, either internal or external. For purposes of example, company A 204 is illustrated as being an enterprise organization that designs, manufactures, and sells networking hardware. It should be understood to those skilled in the art that this is an example and not meant to be limiting. Company A 204 may represent any type of enterprise organization. Environment 200 also includes an Al agent 206. Al agent 206 is an Al agent external to company A 204. Al agent 206 may be the same or similar to Al agent 106 as described with reference to FIG. 1. Al agent 206 is illustrated as an Al agent that is used to monitor and troubleshoot a network for an enterprise organization. It should be noted that this by example and not limitation. The techniques described herein for agent discovery and usage may be implemented by any ty pe of Al agent.
[0026] Environment 200 also includes multiple Al agents owned by company A 204, such as Al agent 208, Al agent 210, Al agent 212, and up to Al agent N 114. Again, this is meant as an example and not a limitation, an enterprise organization may own more or less Al agents, and the Al agents may be capable of performing similar or dissimilar tasks. In the example illustrated in environment 200, Al agent 208 is a troubleshooting agent that provides the ability' to troubleshoot a network problem and is capable of executing such tasks as file analysis, online diagnostics, etc. Al agent 210 is a sales agent that provides assistance with to customers to buy products company A 204 sells, and is capable of executing task such as providing a customer with product information, facilitating the sale of products, etc. Al agent 212 is a return merchandise authorization (RMA) agent that provides the ability to request and initiate hardw are replacements, and is capable of executing task such as validating hardware failures, shipping replacement products, etc. As illustrated with Al agent 114, company A 204 may own multiple other Al agents that provide other services and are capable of executing other tasks.18 Atty Docket No C237-6157PCT Client Docket No. C / P / 1065478 / WO / SEC / 1
[0027] Finally, environment 200 includes a web server 216 of company A 204 that can be reached at https: / / agents.companyA.com. Web server 216 stores the profiles of registered Al agents owned by company A 204 and available for discovery by other AI agents. For examples, Web server 216 will contain the profiles of Al agent 208, Al agent 210, Al agent 212, up to Al agent 114. A profile of an Al agent stored in web server 216 may include information such as a description of the Al agent, capabilities of the Al agent (each capability may be defined with a unique name and detailed description, enabling effective embedding and semantic search), whether the Al agent is public or private (i.e., available to other Al agents external to company A 204, or only available to other Al agents internal to company A 204), input requirements to use the Al agent (e.g., account #, user ID and password, etc.), how to access the Al agent (FQDN or IP), and any other optional requirements. The requirements to use the Al agent may be divided into two parts, input schema and authentication. The input schema defines the structure of the data the Al agent expects, and the authentication may be a separate object for managing access and security. Additionally, the profile may include an output schema, an openAPI schema detailing the expected structure of the Al agent’s output, ensuring that outputs are easily parsable by any consuming code. The information stored in the web server 216 may be JSON format.
[0028] Consider a practical example of automated agent-to-agent discovery and usage with reference to FIG. 2. Al agent 206, an Al agent tasked with monitoring and troubleshooting the network of an enterprise organization, is monitoring the network for an enterprise organization and detects a hardware failure on a device in data center D. Al agent 206 looks in an inventory' management system and determines that the device with the failure is a product X device manufacture by Company A 204 and is under a support contract. Al agent 206 then reaches out to see if there are any available Al agent with which Al agent 206 can work to remedy the failure. To do this, Al agent queries the web server 216 at http: / / agents.<domain name>.com, which in the example illustrated in FIG. 2 is http: / / agents.companyA.com to obtain a list of registered Al agents available at company A 204. Note, the available agents available for automated agent-to-agent discovery stored in web server 216 have been registered with an Al agent registration service for company A 204 as described above with reference to FIG. 1. Al agent 206 looks at the capabilities of the Al agents available at company A 204 (Al agent 208 - Al agent N). Al agent 208 is a troubleshooting agent, but Al agent 206 has already done the troubleshooting, so Al agent 208 is not needed at this lime. Al agent 210 is a sales agent, but the device with the failure has a support contract, so a new device does not need to be purchased, thus, Al agent 210 is not needed at this time. Al agent 212 is an RMA agent which can initiate hardware replacements, thus, Al agent 212 is the correct Al agent to connect to. Thus, once Al agent 206 identifies Al agent 212 as the correct Al agent to assist in the current situation, Al agent 206 connects19 Atty Docket No C237-6157PCT Client Docket No. C / P / 1065478 / WO / SEC / 1to Al agent 212 and exchanges information necessary' to initiate the RMA (e.g., serial number (SN), contract, failure reason, shipping address, etc.). In some examples, Al agent 206 may require a valid digital support contract with company A for certain services in order to connect with a particular Al agent owned by Company A. For example, Al agent 206 might be authorized to access the sales agent Al agent 210 and the RMA agent Al agent 212 but not the troubleshooting agent Al agent 208. Thus, if Al agent 206 attempts to connect with Al agent 208, the troubleshooting agent, during an information exchange between the Al agents, it will be determined that Al agent 206 does not have the approval to use Al agent 208 and authorization will be denied.
[0029] In should be understood by one skilled in the art that although the examples descnbed here are described with full automation, the Al agent registry may also be discovered with any amount of human interv ention by a human agent and not exclusively by an Al agent.
[0030] FIG. 3 illustrates a flow7diagram 300 of an example process flow7for automated Al agent registration, validation, and storage of the profile of the Al agent for discovery by other Al agents.
[0031] At 302, an Al agent registration service receives a request from an Al agent to initiate a registration process. For example, with reference to FIG. 1 the Al agent 106 contacts Al agent registration service 104 to initiate a registration process. Once the Al agent is created, the Al agent can automatically initiate the self-registration process with the Al agent registration service.
[0032] At 304, the Al agent registration service request information associated with the Al agent including how to test that the Al agent can be reached and responds correctly to inputs. For example, with reference to FIG. 1 the Al agent registration service 104 requests information from Al agent 106 that includes a description of Al agent 106, the capabilities of Al agent 106, whether Al agent 106 is to be published as a private (only available to other internal agents) or public (also available to external agents) agent, input requirements to use Al agent 106 (e.g., account #, user ID and PW, etc ), optional requirements, how7to access the Al agent 106 (FQDN or IP), and example usage of Al agent 106. Alternately or in addition, in some instances, The Al agent may include its information with its request to register as described in the above step at 302. Thus, eliminating the need for the Al registration service to specifically request this information.
[0033] At 306, in response to receiving the information, the Al registration service tests that the Al agent can be reached and responds correctly to inputs. For example, with reference to FIG. 1 the Al Agent registration service 104 initiates a connection to the Al agent 106 and performs a task by¬ using the "example usage7provided by the agent at registration time. The example usage includes information required to test the operation of the Al agent 106 along with the validation test criteria. This ensures that the Al agent 106 can be reached and is responding correctly to its inputs.20 Atty Docket No C237-6157PCT Client Docket No. C / P / 1065478 / WO / SEC / 1
[0034] At 308, if the Al agent responds as expected, the Al agent registration service validates the Al agent. For example, with reference to FIG. 1 if the Al agent 106 can be reached by Al agent registration service 104 and the Al agent 106 responds to test inputs as expected, the Al agent registration service 104 validates the Al agent 106.
[0035] At 310, the Al agent registration service stores a profile of the Al agent in a published Al agent registry' so that the Al agent is discoverable by other agents. For example, with reference to FIG. 1 the Al agent registration service 104 stores the profile of Al agent 106 in the web server 108 that can be found at https: / / agents.companyA.com by other Al agents. In another example with reference to FIG. 2, the profiles of each Al agent owned by company A 204 is published (either privately or publicly) in web server 216. The profiles of the Al agent stored in web server 216 are then discoverable by external Al agents 206 (if the profile is public) or other Al agents owned by company A 204 such as Al agent 208, Al agent 210, Al gent 212, up through Al agent 114.
[0036] FIG. 4 illustrates a flow diagrams of an example method 400 that illustrates aspect of the functions performed at least partly by the devices described in FIGS. 1-3, such as the Al agent registration service 104. The logical operations described herein with respect to FIG. 4 may be implemented (1) as a sequence of computer-implemented acts or program modules running on a computing system and / or (2) as interconnected machine logic circuits or circuit modules within the computing system.
[0037] The implementation of the various components described herein is a matter of choice dependent on the performance and other requirements of the computing system. Accordingly, the logical operations described herein are referred to variously as operations, structural devices, acts, or modules. These operations, structural devices, acts, and modules can be implemented in software, in firmware, in special purpose digital logic, and any combination thereof. It should also be appreciated that more or fewer operations might be performed than shown in FIG. 4 and described herein. These operations can also be performed in parallel, or in a different order than those described herein. Some or all of these operations can also be performed by components other than those specifically identified. Although the techniques described in this disclosure is with reference to specific components, in other examples, the techniques may be implemented by less components, more components, different components, or any configuration of components.
[0038] In some instances, the steps of methods 400 may be performed by a device and / or a system of devices that includes one or more processors and one or more non-transitory computer-readable media storing computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations of method 400.21 Atty Docket No C237-6157PCT Client Docket No. C / P / 1065478 / WO / SEC / 1
[0039] At operation 402, an Al agent registration service receives a request to initiate a registration process from an Al agent. The request includes information associated with the Al agent such as how to test that the Al agent can be reached and responds correctly to inputs. For example, with reference to FIG. 1 at (1) the Al agent 106 contacts Al agent registration service 104 to initiate an Al agent registration process and the Al agent 106 sends the Al agent registration service 104 its information. This information includes a description of Al agent 106, the capabilities of Al agent 106, whether Al agent 106 is to be published as a private (only available to other internal agents) or public (also available to external agents) agent, input requirements to use Al agent 106 (e.g., account #. user ID and PW, etc.), optional requirements, how to access the Al agent 106 (FQDN or IP), and example usage of Al agent 106. Once the Al agent is created, the Al agent can automatically initiate the selfregistration process with the Al agent registration service.
[0040] At operation 404, in response to receiving the information, the Al agent registration service test that the Al agent can be reached and responds correctly to inputs. For example, with reference to FIG. 1 the Al Agent registration service 104 initiates a connection to the Al agent 106 and performs a task by using the ‘example usage’ provided by the agent at registration time. The example usage includes information required to test the operation of the Al agent 106 along with the validation test criteria. This ensures that the Al agent 106 can be reached and is responding correctly to its inputs.
[0041] At operation 406, based at least in part on the Al agent responding as expected, the Al agent registration service validates the Al agent. For example, with reference to FIG. 1 at (2) if the Al agent 106 can be reached by Al agent registration service 104 and the Al agent 106 responds to test inputs as expected, the Al agent registration service 104 validates the Al agent 106.
[0042] At operation 408, the Al agent registration service stores a profile of the AI agent in a published AI agent registry such that the AI agent is discoverable by other agents. For example, with reference to FIG. 1 at (3) the AI agent registration service 104 stores the profile of AI agent 106 in the web server 108 that can be found at https: / / agents.companyA.com by other AI agents. In another example with reference to FIG. 2, the profiles of each AI agent owned by company A 204 is published (either privately or publicly) in web server 216. The profiles of the AI agent stored in web server 216 are then discoverable by external AI agents 206 (if the profile is public) or other AI agents owned by company A 204 such as AI agent 208, AI agent 210, AI gent 212, up through AI agent 114.
[0043] FIG. 5 shows an example computer architecture for a device capable of executing program components for implementing the functionality described above. The computer architecture shown in FIG. 5 illustrates any type of computer 500, such as a conventional server computer, workstation, desktop computer, laptop, tablet, network appliance, e-reader, smartphone, or22 Atty Docket No C237-6157PCT Client Docket No. C / P / 1065478 / WO / SEC / 1other computing device, and can be utilized to execute any of the software components presented herein.
[0044] As described herein, the computer 500 may be any type of device, such as Al agent registration service 104, Al agent(s) 106, or web server 108. Thus, the computer 500 may. in some examples, correspond to any device described herein, and may comprise personal devices (e.g., smartphones, tables, wearable devices, laptop devices, etc.) networked devices such as servers, switches, routers, hubs, bridges, gateways, modems, repeaters, access points, and / or any other type of computing device that may be running any type of software and / or virtualization technology.
[0045] The computer 500 includes a baseboard 502, or “motherboard,” which is a printed circuit board to which a multitude of components or devices can be connected by way of a system bus or other electrical communication paths. In one illustrative configuration, one or more central processing units (“CPUs”) 504 operate in conjunction with a chipset 506. The CPUs 504 can be standard programmable processors that perform arithmetic and logical operations necessary for the operation of the computer 500.
[0046] The CPUs 504 perform operations by transitioning from one discrete, physical state to the next through the manipulation of switching elements that differentiate between and change these states. Switching elements generally include electronic circuits that maintain one of two binary states, such as flip-flops, and electronic circuits that provide an output state based on the logical combination of the states of one or more other switching elements, such as logic gates. These basic switching elements can be combined to create more complex logic circuits, including registers, adders-subtractors, arithmetic logic units, floating-point units, and the like.
[0047] The chipset 506 provides an interface between the CPUs 504 and the remainder of the components and devices on the baseboard 502. The chipset 506 can provide an interface to a RAM 508, used as the main memory in the computer 500. The chipset 506 can further provide an interface to a computer-readable storage medium such as a read-only memory (“ROM”) 510 or non-volatile RAM (“NVRAM”) for storing basic routines that help to start up the computer 500 and to transfer information between the various components and devices. The ROM 510 or NVRAM can also store other software components necessary for the operation of the computer 500 in accordance with the configurations described herein.
[0048] The computer 500 can operate in a networked environment using logical connections to remote computing devices and computer systems through a network, such as the network 102. The chipset 506 can include functionality for providing network connectivity through a NIC 512, such as a gigabit Ethernet adapter. The NIC 512 is capable of connecting the computer 500 to other computing23 Atty Docket No C237-6157PCT Client Docket No. C / P / 1065478 / WO / SEC / 1devices over the network 102. It should be appreciated that multiple NICs 512 can be present in the computer 500, connecting the computer to other types of networks and remote computer systems.
[0049] The computer 500 can be connected to a storage device 518 that provides non-volatile storage for the computer. The storage device 518 can store an operating system 520, programs 522, and data, which have been described in greater detail herein. The storage device 518 can be connected to the computer 500 through a storage orchestrator 514 connected to the chipset 506. The storage device 518 can consist of one or more physical storage units. The storage orchestrator 514 can interface with the physical storage units through a serial attached SCSI (“SAS”) interface, a serial advanced technology’ attachment (“SATA”) interface, a fiber channel (“FC”) interface, or other type of interface for physically connecting and transferring data between computers and physical storage units.
[0050] The computer 500 can store data on the storage device 518 by transforming the physical state of the physical storage units to reflect the information being stored. The specific transformation of physical state can depend on various factors, in different embodiments of this description. Examples of such factors can include, but are not limited to, the technology used to implement the physical storage units, w hether the storage device 518 is characterized as primary or secondary storage, and the like.
[0051] For example, the computer 500 can store information to the storage device 518 by issuing instructions through the storage orchestrator 514 to alter the magnetic characteristics of a particular location within a magnetic disk drive unit, the reflective or refractive characteristics of a particular location in an optical storage unit, or the electrical characteristics of a particular capacitor, transistor, or other discrete component in a solid-state storage unit. Other transformations of physical media are possible without departing from the scope and spirit of the present description, with the foregoing examples provided only to facilitate this description. The computer 500 can further read information from the storage device 518 by detecting the physical states or characteristics of one or more particular locations within the physical storage units.
[0052] In addition to the mass storage device 518 described above, the computer 500 can have access to other computer-readable storage media to store and retrieve information, such as program modules, data structures, or other data. It should be appreciated by those skilled in the art that computer-readable storage media is any available media that provides for the non-transitory storage of data and that can be accessed by the computer 500. In some examples, the operations performed by the Al agent registration service 104, the Al agent(s) 106, the web server 108, and or any components included therein, may be supported by one or more devices similar to computer 500. Stated otherwise, some or all of the operations performed by Al agent registration service 104, the Al agent(s) 106, the24 Atty Docket No C237-6157PCT Client Docket No. C / P / 1065478 / WO / SEC / 1web server 108, and or any components included therein, may be performed by one or more computer devices 500.
[0053] By way of example, and not limitation, computer-readable storage media can include volatile and non-volatile, removable and non-removable media implemented in any method or technology. Computer-readable storage media includes, but is not limited to, RAM, ROM, erasable programmable ROM (“EPROM”), electrically-erasable programmable ROM (“EEPROM”), flash memory or other solid-state memory technology', compact disc ROM (“CD-ROM”), digital versatile disk (“DVD”), high definition DVD (“HD-DVD”), BLU-RAY. or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information in a non-transitory fashion.
[0054] As mentioned briefly above, the storage device 518 can store an operating system 520 utilized to control the operation of the computer 500. According to one embodiment, the operating system comprises the LINUX operating system. According to another embodiment, the operating system comprises the WINDOWS® SERVER operating system from MICROSOFT Corporation of Redmond, Washington. According to further embodiments, the operating system can comprise the UNIX operating system or one of its variants. It should be appreciated that other operating systems can also be utilized. The storage device 518 can store other system or application programs and data utilized by the computer 500.
[0055] In one embodiment, the storage device 518 or other computer-readable storage media is encoded with computer-executable instructions which, when loaded into the computer 500, transform the computer from a general-purpose computing system into a special-purpose computer capable of implementing the embodiments described herein. These computer-executable instructions transform the computer 500 by specifying how the CPUs 504 transition between states, as described above. According to one embodiment, the computer 500 has access to computer-readable storage media storing computer-executable instructions which, when executed by the computer 500, perform the various processes described above with regard to FIGS. 1-4. The computer 500 can also include computer-readable storage media having instructions stored thereupon for performing any of the other computer-implemented operations described herein.
[0056] The computer 500 can also include one or more input / output orchestrators 516 for receiving and processing input from a number of input devices, such as a keyboard, a mouse, a touchpad, a touch screen, an electronic stylus, or other type of input device. Similarly, an input / output orchestrator 516 can provide output to a display, such as a computer monitor, a flat-panel display, a digital projector, a printer, or other type of output device. It will be appreciated that the computer 500 might not include all of the components shown in the Figures, can include other components that are25 Atty Docket No C237-6157PCT Client Docket No. C / P / 1065478 / WO / SEC / 1not explicitly shown in FIG. 5, or might utilize an architecture completely different than that shown in FIG. 5.
[0057] As described herein, the computer 500 may comprise one or more of the Al agent registration service 104, the Al agent(s) 106, the web server 108 and / or any other device. The computer 500 may include one or more hardware processors 504 (processors) configured to execute one or more stored instructions. The processor(s) 504 may comprise one or more cores. Further, the computer 500 may include one or more network interfaces configured to provide communications between the computer 500 and other devices, such as the communications described herein as being performed by the Al agent registration service 104, the Al agent(s) 106, the web server 108. The network interfaces may include devices configured to couple to personal area networks (PANs), wired and wireless local area networks (LANs), wired and wireless wide area networks (WANs), and so forth. For example, the network interfaces may include devices compatible with Ethernet, Wi-Fi™, and so forth.
[0058] The programs 522 may comprise any type of programs or processes to perform the techniques described in this disclosure.
[0059] In summary, techniques for enabling Al agents to self-register with an Al registration service and be validated, and their capabilities advertised to other Al agents are described. An Al agent registration service receives, from an Al agent, a request to initiate a registration process, the request includes information associated with the Al agent such as instructions to test that the Al agent can be reached and responds correctly to inputs. In response to receiving the information, the Al agent registration service tests that the Al agent can be reached and responds correctly to inputs. Based at least in part on the Al agent responding as expected, the Al agent registration service validates the Al agent, and stores a profile of the Al agent in a published Al agent registry’ such that the Al agent is discoverable by other agents.
[0060] While the invention is described with respect to the specific examples, it is to be understood that the scope of the invention is not limited to these specific examples. Since other modifications and changes varied to fit particular operating requirements and environments will be apparent to those skilled in the art, the invention is not considered limited to the example chosen for purposes of disclosure, and covers all changes and modifications which do not constitute departures from the true spirit and scope of this invention.
[0061] Although the application describes embodiments having specific structural features and / or methodological acts, it is to be understood that the claims are not necessarily limited to the specific features or acts described. Rather, the specific features and acts are merely illustrative some embodiments that fall within the scope of the claims of the application.26 Atty Docket No C237-6157PCT Client Docket No. C / P / 1065478 / WO / SEC / 1
Claims
CLAIMSWHAT IS CLAIMED IS:
1. A method performed at least in part by an artificial intelligence (Al) agent registration service for registering an Al agent, the method comprising:receiving, from an Al agent, a request to initiate a registration process, the request including information associated with the Al agent, wherein the information includes instructions to test that the Al agent can be reached and responds correctly to inputs;in response to receiving the information, testing that the Al agent can be reached and responds correctly to inputs;based at least in part on the Al agent responding as expected, validating the Al agent; and storing a profile of the Al agent in a published Al agent registry such that the Al agent is discoverable by other agents.
2. The method of claim 1, wherein the information associated with the Al agent further comprises one or more of:a description of the Al agent;capabilities of the Al agent;whether the Al agent is privately available to an enterprise organization for which the Al agent is associated or publicly available to Al agents that are external to the enterprise organizations; input requirements to use the Al agent;how to access the Al agent; orexamples of usage of the Al agent.
3. The method of claim 1 or 2, wherein the Al agent registry is published at a know n Uniform Resource Locator (URL) associated with an enterprise organization that is associated with the Al agent.
4. The method of any of claims 1 to 3, w herein testing that the Al agent can be reached and responds correctly to inputs further comprises:initiating a connection to the Al agent;inputting test data into the Al agent; anddetermining that the Al agent responds to the test data as expected.27 Atty Docket No C237-6157PCT Client Docket No. C / P / 1065478 / WO / SEC / 15. The method of any of claims 1 to 4, wherein the profile of the Al agent is a private profile, and the Al agent is discoverable by other Al agents that are within a same enterprise organization as the Al agent.
6. The method of any of claims 1 to 5, wherein the profile of the Al agent is a public profile, and the Al agent is discoverable by other Al agents that are within a same enterprise organization and other Al agents that are external to the enterprise organization.
7. The method of any of claims 1 to 6, wherein the information that includes how to test that the Al agent can be reached and responds correctly to inputs further comprises:an input schema specifying how inputs should be structured;an output schema specifying an expected structure of the output of the Al agent; and an evaluation test set mapped to a capability of the Al agent that indicates an expected output for a particular input.
8. A system comprising:one or more processors; andone or more computer-readable media storing computer-executable instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:receiving, by an artificial intelligence (Al) agent registration service and from an Al agent, a request to initiate a registration process, the request including information associated with the Al agent, wherein the information includes instructions to test that the Al agent can be reached and responds correctly to inputs;in response to receiving the information, testing, by the Al agent registration service, that the Al agent can be reached and responds correctly to inputs;based at least in part on the Al agent responding as expected, validating, by the Al agent registration service, the Al agent; andstoring, by the Al agent registration service, a profile of the Al agent in a published Al agent registry such that the Al agent is discoverable by other agents.28 Atty Docket No C237-6157PCT Client Docket No. C / P / 1065478 / WO / SEC / 19. The system of claim 8, wherein the information associated with the Al agent further comprises one or more of:a description of the Al agent;capabilities of the Al agent;whether the Al agent is privately available to an enterprise organization for which the Al agent is associated or publicly available to Al agents that are external to the enterprise organizations; input requirements to use the Al agent;how to access the Al agent; orexamples of usage of the Al agent.
10. The system of claim 8 or 9, wherein the Al agent registry is published at a known Uniform Resource Locator (URL) associated with an enterprise organization that is associated with the Al agent.
11. The system of any of claims 8 to 10. wherein testing that the Al agent can be reached and responds correctly to inputs further comprises:initiating a connection to the Al agent;inputting test data into the Al agent; anddetermining that the Al agent responds to the test data as expected.
12. The system of any of claims 8 to 11, the operations further comprising transmitting, by the AI agent registration service and to the Al agent, a request for the information associated with the Al agent.
13. The system of any of claims 8 to 12, wherein the profile of the Al agent is a public profile, and the Al agent is discoverable by other Al agents that are within a same enterprise organization and other Al agents that are external to the enterprise organization.
14. The system of any of claims 8 to 13, wherein the information that includes how to test that the Al agent can be reached and responds correctly to inputs further comprises:an input schema specifying how inputs should be structured;an output schema specifying an expected structure of the output of the AI agent; and29 Atty Docket No C237-6157PCT Client Docket No. C / P / 1065478 / WO / SEC / 1an evaluation test set mapped to a capability of the Al agent that indicates an expected output for a particular input.
15. One or more non-transitory computer-readable media storing instructions that, when executed, cause one or more processors to perform operations comprising:receiving, by an artificial intelligence (Al) agent registration service and from an Al agent, a request to initiate a registration process, the request including information associated with the Al agent, wherein the information includes instructions to test that the Al agent can be reached and responds correctly to inputs;in response to receiving the information, testing, by the Al agent registration service, that the Al agent can be reached and responds correctly to inputs;based at least in part on the Al agent responding as expected, validating, by the Al agent registration service, the Al agent; andstoring, by the Al agent registration service, a profile of the Al agent in a published Al agent registry’ such that the Al agent is discoverable by other agents.
16. The one or more non-transitory computer-readable media of claim 15, wherein the information associated with the Al agent further comprises one or more of:a description of the Al agent;capabilities of the Al agent;whether the Al agent is privately available to an enterprise organization for which the Al agent is associated or publicly available to Al agents that are external to the enterprise organizations; input requirements to use the Al agent;how to access the Al agent; orexamples of usage of the Al agent.
17. The one or more non-transitory' computer-readable media of claim 15 or 16, wherein the Al agent registry is published at a known Uniform Resource Locator (URL) associated with an enterprise organization that is associated with the Al agent.
18. The one or more non-transitory’ computer-readable media of any of claims 15 to 17, wherein testing that the Al agent can be reached and responds correctly to inputs further comprises:initiating a connection to the Al agent;30 Atty Docket No C237-6157PCT Client Docket No. C / P / 1065478 / WO / SEC / 1inputting test data into the Al agent; anddetermining that the Al agent responds to the test data as expected.
19. The one or more non-transitory computer-readable media of any of claims 15 to 18, wherein the profile of the Al agent is a private profile, and the Al agent is discoverable by other Al agents that are within a same enterprise organization as the Al agent.
20. The one or more non-transitory computer-readable media of any of claims 15 to 19, wherein the information that includes how to test that the Al agent can be reached and responds correctly to inputs further comprises:an input schema specifying how inputs should be structured;an output schema specifying an expected structure of the output of the Al agent; and an evaluation test set mapped to a capability of the Al agent that indicates an expected output for a particular input.
21. A system comprising an artificial intelligence (Al) agent registration service for registering an Al agent, the system comprising:means for receiving, from an Al agent, a request to initiate a registration process, the request including information associated with the Al agent, wherein the information includes instructions to test that the Al agent can be reached and responds correctly to inputs;means for testing that the Al agent can be reached and responds correctly to inputs, in response to receiving the information;means for validating the Al agent based at least in part on the Al agent responding as expected; andmeans for storing a profile of the Al agent in a published Al agent registry such that the Al agent is discoverable by other agents.
22. The system according to claim 21 further comprising means for implementing the method according to any of claims 2 to 7.
23. A computer program, computer program product or computer readable medium comprising instructions which, when executed by a computer, cause the computer to carry out the steps of the method of any of claims 1 to 7.31 Atty Docket No C237-6157PCT Client Docket No. C / P / 1065478 / WO / SEC / 1