TODO: This section needs further development and refinement.
TODO: This section needs further development and refinement.
TODO: This section needs further development and refinement.
As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.
The key words MAY and MUST in this document are to be interpreted as described in BCP 14 [[RFC2119]] [[RFC8174]] when, and only when, they appear in all capitals, as shown here.
The Agent Identity component is defined by the following companion specifications. This split separates the DID-method-agnostic authentication protocol from DID method definitions and method-specific validation rules.
did:wba, did:web, and
did:webvh participate in the common Agent Identity protocol.
did:wba DID Method Specification
defines creation, resolution, update, deactivation, path-to-key binding,
and DID Document proof processing for did:wba.
This material has moved to Agent Identity and HTTP Authentication.
This material has moved to DID Method Binding Profiles.
did:wba DID Method Specification
This material has moved to
did:wba DID Method Specification.
The core objective of the Agent Description module is to establish standardized agent description mechanisms, enabling agents to clearly publish their basic information, service capabilities, and interaction interfaces to other agents in the network, thereby achieving efficient capability discovery and collaboration matching:
Therefore, agent description protocols must possess good extensibility and semantic clarity, ensuring that different agents can accurately understand each other's capability boundaries.
The following example demonstrates an agent description document:
{
"@context": {
"@vocab": "https://schema.org/",
"ad": "https://example.com/ad#"
},
"@type": "ad:AgentDescription",
"name": "SmartAssistant",
"did": "did:web:agent.example.com:agents:alice",
"description": "An intelligent agent providing natural language processing capabilities",
"version": "1.0.0",
"interfaces": [
{
"@type": "ad:NaturalLanguageInterface",
"protocol": "YAML",
"url": "https://agent.example.com/alice/nl-interface.yaml"
}
]
}
This specification defines two core concepts for agent description: Information and Interface. These concepts provide a standardized framework for agents to publish information externally, ensuring that agents can effectively discover, understand, and interact with each other.
Information represents data resources that an agent provides to external entities. These resources can be structured or unstructured data used to describe the agent's capabilities, status, products, or services.
Information resources include but are not limited to the following types:
Information has the following key characteristics:
Interface defines standardized entry points for agents to engage in dynamic interactions with external entities. Interfaces provide callable representations of agent functionality, allowing other agents or systems to interact with them programmatically.
Interfaces are divided into the following two main categories:
Natural language interfaces provide agents with human language-based interaction capabilities. These interfaces allow the use of natural language queries and commands to access agent functionality.
Characteristics of natural language interfaces include:
Structured interfaces provide programmatic interaction methods based on predefined protocols and data formats. These interfaces follow standardized API design principles, ensuring predictability and efficiency.
Characteristics of structured interfaces include:
Agents implementing the protocol should follow the following priority and selection strategies when choosing interaction interfaces:
The protocol adopts a linked data-based interaction model that allows agents to organize their Information and Interfaces into a navigable data network through Uniform Resource Locators (URLs). This approach is similar to the hyperlink structure of the World Wide Web, enabling agents to construct their public data into a data network, where all data networks can be connected into an AI-accessible data network.
The core principle of the interaction model is based on the following architectural design:
Agents must use URLs as a unified addressing mechanism to organize their Information and Interface resources. Each URL points to a specific resource or interface definition, forming a traversable link graph. This design ensures:
It is recommended that each agent provide a primary entry point, typically manifested as an Agent Description Document. This document functions similarly to a website's homepage and contains:
The interaction process between agents is similar to how web crawlers work, starting from an entry point and proceeding with recursive navigation. The client agent first obtains the target agent's description document URL, retrieves the document through an HTTP request, and then parses the Information resource links and Interface definition links contained within. Based on task requirements, the client agent selectively accesses relevant URL links. If the retrieved resources contain further links, it continues recursive retrieval until sufficient information needed to complete the task is collected.
While gathering information, the client agent integrates this data in its local environment, formulates execution strategies, and selects appropriate Interfaces for invocation. The entire process emphasizes local decision processing, with sensitive information not passed to third parties but analyzed and processed locally at the client. Finally, the client agent executes specific operations through discovered Interfaces, processes return results, and completes tasks. This model ensures both privacy security and flexible on-demand information retrieval.
Fully leverages existing web technology stacks and infrastructure:
The local decision-making model provides important privacy protection advantages:
Note: This section is being continuously refined. We sincerely invite community members to contribute and jointly improve the technical specifications and implementation solutions for agent description standards.
The core objective of the Agent Discovery module is to establish efficient agent discovery mechanisms, enabling agents to be conveniently found and accessed by other agents in different network environments, thereby building dynamic and open agent collaboration networks:
This specification defines the Agent Discovery Service Protocol (ADSP), a standardized protocol for discovering agents. Based on the JSON-LD format, it provides two discovery mechanisms: active discovery and passive discovery, aimed at enabling agents to be effectively discovered and accessed by other agents or search engines in the network.
The core elements of the protocol include:
We use JSON-LD (JavaScript Object Notation for Linked Data) as the format for agent discovery documents, consistent with the Agent Description Protocol. By using JSON-LD, we can achieve rich semantic expression and linking relationships while maintaining simplicity and ease of use.
Agent description documents are detailed expressions of agent information, as referenced in the Agent Description Protocol. The agent discovery document serves as a collection page, containing URLs of all public agent description documents under a domain, facilitating indexing and access by search engines or other agents.
Active discovery refers to search engines or agents only needing to know a domain to discover all public agent description documents under that domain. We adopt the Web standard .well-known URI path as the entry point for agent discovery.
According to RFC 8615, .well-known URI provides a standardized way to discover services and resources. For agent discovery, we define the following path:
https://{domain}/.well-known/agent-descriptions
This path should return a JSON-LD document containing URLs of all public agent description documents under the domain.
Active discovery documents adopt the JSON-LD format, using the CollectionPage type, containing the following core properties:
@context: Defines the JSON-LD context used in the document@type: Document type, value is "CollectionPage"url: URL of the current pageitems: Array of agent description itemsnext: (Optional) URL of the next page, used for pagination scenariosEach agent description item contains:
@type: Type, value is "ad:AgentDescription"name: Agent name@id: URL of the agent description document (unique identifier of the resource){
"@context": {
"@vocab": "https://schema.org/",
"did": "https://w3id.org/did#",
"ad": "https://example.com/ns/agent-description#"
},
"@type": "CollectionPage",
"url": "https://example.com/.well-known/agent-descriptions",
"items": [
{
"@type": "ad:AgentDescription",
"name": "Smart Assistant",
"@id": "https://example.com/agents/smartassistant/ad.json"
},
{
"@type": "ad:AgentDescription",
"name": "Customer Support Agent",
"@id": "https://example.com/agents/customersupport/ad.json"
}
],
"next": "https://example.com/.well-known/agent-descriptions?page=2"
}
When there are a large number of agents under a domain, a pagination mechanism should be adopted. Pagination is implemented through the next property, pointing to the URL of the next page. Clients should recursively retrieve all pages until there is no next property.
Passive discovery refers to agents actively submitting their agent description URLs to other agents (typically search service agents), enabling them to index and crawl their information.
Passive discovery typically requires using the registration API provided by search service agents. These APIs are defined by the search service agents themselves and should be clearly stated in their agent description documents. Agents can register their description URLs with search services by calling these APIs.
sequenceDiagram
participant Agent as Agent
participant Search as Search Service Agent
Agent->>Search: Get agent description document
Search-->>Agent: Return description document (including registration API info)
Note over Agent: Parse registration API from description document
Agent->>Search: Send registration request (including own description URL)
Note over Search: Verify request
Search-->>Agent: Confirm registration
Note over Search: Crawl agent description document and index
To ensure the security of agent discovery, the following measures are recommended:
did:wba, did:web, or did:webvh) and apply its method-specific resolution and verification rules before authenticating an agentThe Agent Discovery Protocol is closely related to the following protocols:
did:wba, did:web, and did:webvhNote: This section is being continuously refined. We sincerely invite community members to contribute and jointly improve the technical specifications and implementation solutions for agent discovery standards.
The core objective of the Security Considerations module is to ensure the security of agents during interactions, establish multi-layered security protection systems, and maximize defense against various security threats and malicious attacks:
Therefore, agent security protocols must adopt defense-in-depth strategies, establishing corresponding security protection measures at the network layer, application layer, and data layer.
Note: This section is being continuously refined. We sincerely invite community members to contribute and jointly improve the technical specifications and implementation solutions for agent security standards.
The core objective of the Privacy Considerations module is to maximize the protection of personal privacy during agent interactions, ensuring that users' sensitive information is not improperly transmitted or leaked between agents, and establishing privacy-first interaction mechanisms:
Therefore, agent privacy protocols must make privacy protection a fundamental design principle, ensuring that technological progress does not come at the expense of user privacy.
Note: This section is being continuously refined. We sincerely invite community members to contribute and jointly improve the technical specifications and implementation solutions for agent privacy protection standards.