<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-zyyhl-agent-networks-framework-00" category="info" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="Agent Networks Framework">Framework for AI Agent Networks</title>
    <seriesInfo name="Internet-Draft" value="draft-zyyhl-agent-networks-framework-00"/>
    <author initials="Y." surname="Zhou" fullname="Ye Zhou">
      <organization>ANP Open Source Community</organization>
      <address>
        <postal>
          <street>No. 188, Zongguantang Road, Gusu District</street>
          <city>Suzhou, Jiangsu Province</city>
          <country>China</country>
        </postal>
        <email>zynetzy1@aliyun.com</email>
      </address>
    </author>
    <author initials="K." surname="Yao" fullname="Kehan Yao">
      <organization>China Mobile</organization>
      <address>
        <email>yaokehan@chinamobile.com</email>
      </address>
    </author>
    <author initials="M." surname="Yu" fullname="Menghan Yu">
      <organization>China Telecom</organization>
      <address>
        <postal>
          <street>Beiqijia Town, Changping District</street>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>yumh1@chinatelecom.cn</email>
      </address>
    </author>
    <author initials="M." surname="Han" fullname="Mengyao Han">
      <organization>China Unicom</organization>
      <address>
        <postal>
          <street>No.9, Shouti South Road, Haidian District</street>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>hanmy12@chinaunicom.cn</email>
      </address>
    </author>
    <author initials="C." surname="Li" fullname="Cheng Li">
      <organization>Huawei</organization>
      <address>
        <email>c.l@huawei.com</email>
      </address>
    </author>
    <date year="2025" month="October" day="20"/>
    <area>General</area>
    <workgroup>Network Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 63?>

<t>This document defines the framework of AI agent networks based on Agent Network Protocol (ANP) protocol. It provides the basic functions that needs to support AI agent communication in the AI agent networks within the trust domain.</t>
    </abstract>
  </front>
  <middle>
    <?line 67?>

<section anchor="introduction">
      <name>Introduction</name>
      <section anchor="overview">
        <name>Overview</name>
        <t>With the development of AI agent technology, its application scenarios have been continuously expanding. From initial simple task execution to complex collaborative tasks among multiple agents, agents have demonstrated great potential in various fields. This multi-agent collaboration model can fully leverage the strengths of individual agents, improving the quality and efficiency of task execution. However, as the demand for multi-agent collaboration grows, defining standardized communication protocols among agents to achieve wide-area interconnection, cross-domain interoperability, and secure collaboration has become an urgent issue to address.</t>
        <t>To meet the communication needs of AI agents and promote the widespread services of multi-agent collaboration <xref target="I-D.stephan-ai-agent-6g"/>, it is imperative to define standardized agent communication protocols that support interconnection, interoperability, and secure scalability between agents in trust domain. 
In this draft we propose to use Agent Network Protocol (ANP) as a baseline for further description.</t>
      </section>
      <section anchor="scope">
        <name>Scope</name>
        <t>From the perspective of network service domain division, future agents can be simply categorized into 3 types based on their deployment locations: terminal-side agents, network-side agents, and agents outside the network. This draft mainly focuses on the communication between agents directly managed within the operator's network, i.e. the communication between the first two types of agents:</t>
        <ul spacing="normal">
          <li>
            <t>Communication between different terminal-side agents registered in the same network service domain.</t>
          </li>
          <li>
            <t>Communication between terminal-side agents and network-side agents registered in the same network service domain.</t>
          </li>
          <li>
            <t>Communication between network-side agents registered in the same network service domain.</t>
          </li>
        </ul>
        <t>Furthermore, the communication between agents registered in different network domains is not within the scope of this draft.</t>
      </section>
      <section anchor="requirements-language">
        <name>Requirements Language</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

</section>
    </section>
    <section anchor="terms-and-definitions">
      <name>Terms and Definitions</name>
      <t>Task: Task is actions required to achieve a specific goal. These actions can be physical or cognitive.</t>
      <t>Task chain: A Task chain defines an ordered set of tasks and ordering constraints that is to be applied to, e.g., packets, frames, or flows. The implied order may not be a linear progression as the architecture allows for task chain of more than one branch, and also allows for cases where there is flexibility in the order in which tasks need to be applied.</t>
      <t>Coordinator Agent: An agent that receives tasks and decomposes or distributes tasks to other agents.</t>
      <t>Execution Agent: An agent responsible for executing tasks distributed by the Coordinator Agent.</t>
    </section>
    <section anchor="overview-of-the-operation">
      <name>Overview of the operation</name>
      <section anchor="roles">
        <name>Roles</name>
        <t>The Agent communication network defines three roles:</t>
        <ul spacing="normal">
          <li>
            <t>AI Agent:
An automated intelligent entity that achieves a specific goal (autonomously or not) on behalf of another entity, by e.g. interacting with its environment, acquiring contextual information, reasoning, self-learning, decision-making, and executing tasks (independently or in collaboration with other AI Agents).</t>
          </li>
          <li>
            <t>Agent Registration Server:
The server enables Agents to register their capabilities, and discover each other’s capabilities based on intent, task or other information.</t>
          </li>
          <li>
            <t>Agent Communication Server
The server enables Agents to communicate and collaborate with each other, which provides session management and routing function.</t>
          </li>
        </ul>
      </section>
      <section anchor="protocol-flow">
        <name>Protocol Flow</name>
        <figure anchor="ref-to-fig1">
          <name>Abstract Protocol Flow</name>
          <artwork><![CDATA[
+------+                           +-------------+                            +------+
|      |                           |             |<-(A)-Capability Register---|      |
|      |                           |             |                            |      |
|      |                           |    Agent    |-(B)-------Response-------->|      |
|      |-(C)-Capability Discover-->| Registration|                            |      |
|      |                           |    Server   |                            |      |
|      |<-(D)----Matched Agents----|             |                            |      |
|  AI  |                           |             |                            |  AI  |
| Agent|                           +-------------+                            | Agent|
|   A  |                                                                      |   B  |
|      |                           +-------------+                            |      |
|      |-(E)Communication Request->|             |                            |      |
|      |                           |    Agent    |-(F)Communication Request-->|      |
|      |                           |Communication|                            |      |
|      |                           |   Server    |<-(G)Communication Response-|      |
|      |<-(H)Communication Response|             |                            |      |
|      |                           +-------------+                            |      |
|      |                                                                      |      |
|      |-----------------------(E')Communication Request--------------------->|      |
|      |                                                                      |      |
|      |>----------------------(F')Communication Response---------------------|      |
+------+                                                                      +------+
]]></artwork>
        </figure>
        <t>The abstract flow illustrated in Figure 1 describes the interaction between the three roles and includes the following steps:</t>
        <t>(A)  The AI Agent B requests to register its capabilities and related attributes to Agent Registration Server.</t>
        <t>(B)  The Agent Registration Server authenticates the AI Agent B’s capabilities and then stores them, e.g., in its local database.</t>
        <t>(C)  AI Agent A initiates a capability discover request to the Agent Registration Server, the request includes the intent, task or other information.</t>
        <t>(D)  The Agent Registration Server matches the intent or task with the capabilities stored in its local database, and responses with matched AI Agents list to the AI Agent A.</t>
        <t>Option1:</t>
        <t>(E)  The AI Agent A selects AI Agent B from the list and sends a communication request to AI Agent B via Agent Communication Server.</t>
        <t>(F)  The Agent Communication Server establishes the session and routes the message to AI Agent B.</t>
        <t>(G)  The AI Agent B receives the communication request and sends a response to the Agent Communication Server.</t>
        <t>(H)  The Agent Communication Server transfers the response to the AI Agent A.</t>
        <t>Option2:</t>
        <t>(E') The AI Agent A selects AI Agent B from the list and sends a communication request to AI Agent B directly.</t>
        <t>(F') The AI Agent B receives the communication request and sends a response to the AI Agent A.</t>
      </section>
    </section>
    <section anchor="digital-identifier">
      <name>Digital Identifier</name>
      <t>The digital identity mechanism is used for the registration, discovery and communication flows.</t>
      <ul spacing="normal">
        <li>
          <t>Registration: digital identity contains a global unique identifier of AI agent as a basis for authentication and addressing during communication flow. Several agent-related attributes (capabilities/skills/services) are contained in the digital identity and registered with the identifier at the same time. The related credentials in the digital identity can be used for the verification.</t>
        </li>
        <li>
          <t>Discovery: the registered AI agent can then be discovered by other agents based on either identifier or capabilities. The agent can be discovered across different domains.</t>
        </li>
        <li>
          <t>Communication: one AI agent can communicate with the other AI agent, by sending an initial message with the identifier obtained from the discovered digital identity. The network can use this
 identifier for addressing and routing the message to the target AI agent.</t>
        </li>
        <li>
          <t>Authentication: during the communication establishment, both AI agents can use the credentials for the identifier for authentication. Attributes can be negotiated after the authentication.</t>
        </li>
        <li>
          <t>Authorization: compared to human communication, AI agent communication needs to be explicitly authorized at all time. The attribute-based authorization mechanism can support both direct agent-agent authorization and delegated authorization, even for the user authorization.
In order to fulfill the requirements mentioned above, it is suggested to introduce the W3C Decentralized Identifier (DID) and Verifiable Credential (VC) standards as the basic digital identity components.</t>
        </li>
        <li>
          <t>DID: The core DID specification does not require implementers to use specific computational infrastructure to build decentralized identifiers, allowing us to fully leverage existing mature technologies and well-established network infrastructure to build DIDs.</t>
        </li>
        <li>
          <t>VC: The VC can be used as container of attributes of an AI agent. The attributes of an AI agent may come from different sources which can be verified by the VC. This will help increase the interoperability of cross-domain communications.</t>
        </li>
      </ul>
    </section>
    <section anchor="agent-description">
      <name>Agent Description</name>
      <t>Agent Description (AD) exists in document form. The AD document serves as the entry point to access an agent, functioning similarly to a website homepage. Other agents can obtain information such as the agent's name, affiliated entity, functionalities, and interaction APIs or protocols from this AD document. With this information, data communication and collaboration between agents can be achieved.</t>
      <section anchor="agent-description-document-format">
        <name>Agent Description Document Format</name>
        <t>The Agent Description (AD) document serves as the external entry point for an agent and can be provided in either of the following formats:</t>
        <section anchor="natural-language-format">
          <name>Natural Language Format</name>
          <t>Leveraging advancements in AI capabilities, the AD document can be entirely described using natural language.</t>
        </section>
        <section anchor="structured-format">
          <name>Structured Format</name>
          <t>Since different agents may utilize varying models with distinct capabilities, a structured approach is recommended for ensuring consistent and accurate interpretation of the same data across diverse models. Structured Format supports multiple document types:</t>
          <ul spacing="normal">
            <li>
              <t>JSON-LD</t>
            </li>
            <li>
              <t>JSON-RPC</t>
            </li>
            <li>
              <t>Other structured document formats</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="agent-information-interaction-mechanism">
        <name>Agent Information Interaction Mechanism</name>
        <t>Agent description documents include the following two types of resources:</t>
        <section anchor="information">
          <name>Information</name>
          <t>Agents may provide the following types of data:</t>
          <ul spacing="normal">
            <li>
              <t>Textual files (e.g.: .txt, .csv, .json)</t>
            </li>
            <li>
              <t>Image files (e.g.: .jpg, .png, .svg)</t>
            </li>
            <li>
              <t>Video files (e.g.: .mp4, .mov, .webm)</t>
            </li>
            <li>
              <t>Audio files (e.g.: .mp3, .wav, .aac)</t>
            </li>
            <li>
              <t>Other files</t>
            </li>
          </ul>
        </section>
        <section anchor="interface">
          <name>Interface</name>
          <t>Agent interfaces are categorized into two types:</t>
          <ul spacing="normal">
            <li>
              <t>Natural Language Interface: 
Enables agents to deliver personalized services through natural language interaction, supports human-like communication and adaptive responses.</t>
            </li>
            <li>
              <t>Structured Interface: 
Facilitates efficient and standardized service delivery via predefined protocols, ensures interoperability and machine-to-machine automation.</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="security-mechanism">
        <name>Security Mechanism</name>
        <t>Security configuration in Agent Description (AD) documents is mandatory. The security definition must be activated through the security member at the agent level. This configuration constitutes the required security mechanism for agent interactions.</t>
        <ul spacing="normal">
          <li>
            <t>Global Scope: When security is declared at the root level of an AD document, all resources within the document must enforce this security mechanism for access.</t>
          </li>
          <li>
            <t>Resource-Specific Scope: If security is defined within an individual resource, access to that resource is granted only when the specified security conditions are met.</t>
          </li>
          <li>
            <t>Precedence Rule: In cases where resource-level security conflicts with root-level security, the resource-level definition takes precedence.</t>
          </li>
        </ul>
      </section>
      <section anchor="integrity-verification">
        <name>Integrity Verification</name>
        <t>To prevent malicious tampering, impersonation, or reuse of Agent Description (AD) documents, a verification mechanism Proof is incorporated into the AD document structure. The definition of Proof shall comply with the specification <xref target="VC_Card"/>.</t>
      </section>
    </section>
    <section anchor="agent-registration">
      <name>Agent Registration</name>
      <t>Agent Registration Includes the Following Two Modes:</t>
      <section anchor="self-declaration-mode">
        <name>Self-Declaration Mode</name>
        <t>In this mode, intelligent agents interconnect externally provided resources (including information, interfaces, etc.) using Linked-Data technologies, forming a networked ecosystem through agent description documents. Other agents can selectively retrieve appropriate resources via metadata described in these agent profile documents. Advantages of the Self-Declaration Mode:</t>
        <ul spacing="normal">
          <li>
            <t>Compatibility with Existing Internet Architecture: Facilitates search engine indexing of agent-publicized information, enabling the creation of an efficient agent data network.</t>
          </li>
          <li>
            <t>Enhanced Privacy Protection: Pulling remote data to local systems for contextual processing mitigates user privacy leakage risks inherent in task-delegation models.</t>
          </li>
          <li>
            <t>Inherent Hierarchical Structure: Supports scalable interactions among a large number of agents.</t>
          </li>
        </ul>
      </section>
      <section anchor="centralized-registration-mode">
        <name>Centralized Registration Mode</name>
        <t>In this mode, the AI Agents register their attributes to a centralized Agent Registration Server. The parameters that an Agent needs to register in a trust domain (step A in Figure 1) may include:</t>
        <ul spacing="normal">
          <li>
            <t>Name: The name of the Agent, which may not be unique and typically represented as a string.</t>
          </li>
          <li>
            <t>Digital Identifier: The global unique ID of the Agent configured by the network provider.</t>
          </li>
          <li>
            <t>Description: provide a more concise summary of the Agent’s relevant details based on natural language.</t>
          </li>
          <li>
            <t>Address: The access address of the Agent, which might be an URL, FQDN, etc.</t>
          </li>
          <li>
            <t>Version: The current version of the Agent.</t>
          </li>
          <li>
            <t>Capabilities: The capabilities supported by the Agent, including the communication capabilities, interaction modes and multimodal capabilities, etc. The communication capabilities refer to the communication protocols supported by the Agent, such as http/2, http/3, A2A, ANP, MCP, etc. The interaction modes may include request-response and subscription-notification and others. The multimodal capabilities refer to the data modalities that the agent can process, such as text, images, video, real-time audio, etc.</t>
          </li>
          <li>
            <t>Services: The services that the agent can provide. E.g., AI service, sensing service, computing service.</t>
          </li>
          <li>
            <t>Skills: A list of detailed description of the skills supported by the Agent. The content of each skill includes the name, ID, corresponding services, brief abstract, required input, etc.</t>
          </li>
          <li>
            <t>Interfaces: The APIs interfaces that the agent can provide.</t>
          </li>
          <li>
            <t>Security related information: For example, the licenses, authentication credentials, keys of the Agent.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="agent-discovery">
      <name>Agent Discovery</name>
      <t>Corresponding to Agent Registration, Agent Discovery Includes the Following Two Modes:</t>
      <section anchor="proactive-discovery-mode-corresponding-to-self-declaration-mode">
        <name>Proactive Discovery Mode (Corresponding to Self-Declaration Mode)</name>
        <t>In this operational mode, AI agents dynamically acquire Agent Description (AD) documents from peer agents through standardized discovery protocols (e.g., search engine). These AD documents serve as structured entry points for targeted crawling operations within Linked Data networks. The crawling mechanism implements selective resource retrieval, encompassing both semantic information and service interfaces, while adhering to ethical crawling policies.</t>
      </section>
      <section anchor="centralized-query-mode-corresponding-to-centralized-registration-mode">
        <name>Centralized Query Mode (Corresponding to Centralized Registration Mode)</name>
        <t>In the mode, the discovery of AI agents depends on the Agent Registration Server, and the discovery process consists of two phases: "query matching" and "result feedback":</t>
        <t>1) Query Matching Phase:</t>
        <t>The initiating AI Agent A send a Capability Discovery request to the Registration Server, and the server screens and matches the target agents based on the capability database. The request parameters should be structured (to avoid ambiguous descriptions). Examples are as follows:</t>
        <artwork><![CDATA[
- Requirement description: "Medical image analysis"
    
- Location range: "Within 1 kilometer of base station BS-001"
    
- Real-time requirement: "Latency ≤ 100ms"
    
- Security level: "Medical qualification VC is required"
]]></artwork>
        <t>The Agent Registration Server matches the requirement with local registered Agent description. After the matching is completed, a "target agent list" is generated, which includes Digital Identifier, Address, and Capabilities, etc.</t>
        <t>2) Result Feedback Phase:</t>
        <t>The Agent Registration Server feeds back the matched results to the initiator AI agent, and the initiator selects a Agent based on the results and starts the session establishment with that Agent.</t>
      </section>
    </section>
    <section anchor="tasks">
      <name>Tasks</name>
      <section anchor="overview-1">
        <name>Overview</name>
        <t>The core function of a task is to enable the AI agents involved in the communication to agree on "what to do", thereby avoiding collaboration failures due to misunderstandings.
Tasks can be used in capability discovery and communication procedures:</t>
        <ul spacing="normal">
          <li>
            <t>Capability Discovery: Obtaining AI agents with matching capabilities based on the task descriptions.</t>
          </li>
          <li>
            <t>Communication: When a Coordinator Agent initiates a communication request to an Execution Agent, the request message may carry a task description. In addition, other auxiliary information such as images, videos, files, can also be sent along with the task description to help accomplish the task.</t>
          </li>
        </ul>
        <t>An example as shown in Figure 2, a task can be executed by an AI agent (e.g., task0 sent to Agent B). When a complex task is received by an AI agent, this task can be broken down into a series of subtasks (e.g., task0 broken down to sub-task1 and sub-task2) with a clear execution sequence, known as a task chain, and executed by a group of AI agents (e.g., sub-task1 sent to Agent B, sub-task2 sent to Agent C). Task chain allows multiple AI agents to execute different tasks in a specific sequence based on policy, and enable multiple AI agents collaboratively to accomplish a complex task. The Agent communication protocol should support to encapsulate the task chain information, e.g., independent with the underlying network transport (e.g., IP, MPLS).</t>
        <figure anchor="ref-to-fig2">
          <name>Task and Sub-task Assignment</name>
          <artwork><![CDATA[
+---------+                                  +---------+
|         |------------send task0----------->|         |
| Agent A |                                  | Agent B |
|         |<-task status/result notification-|         |
+---------+                                  +---------+

+---------+                                  +---------+
|         |-----------send sub-task1-------->|  Agent  |
|         |<-task status/result notification-|    B    |
|         |                                  +---------+
| Agent A |                                  +---------+
|         |-----------send sub-task2-------->|  Agent  |
|         |<-task status/result notification-|    C    |
+---------+                                  +---------+
]]></artwork>
        </figure>
        <t>Tasks can be sent along with the message that establish communication session between AI agents, or separately using the established session between AI agents. In the communication session between AI agents, one or more tasks can be included, which may be independent of each other or associated through context.
A task is identified by a global unique task ID. The task ID is generated by the agent that creates or assigns the task and are sent along with the task to the agent responsible for executing it.</t>
      </section>
      <section anchor="task-states">
        <name>Task States</name>
        <t>Based on the length of time to complete the tasks, the task can be categorized into:</t>
        <ul spacing="normal">
          <li>
            <t>Short-term tasks: These tasks can be quickly executed and completed, often used for simple tasks such as query the weather.</t>
          </li>
          <li>
            <t>Long-term tasks: These tasks require a longer period of time or involve multi-round interaction or extended waiting periods, such as writing an article. During the execution of long-term tasks, AI agents can synchronize task states or intermediate results among them as needed.</t>
          </li>
        </ul>
        <t>The task states are maintained by the execution AI agent, and the task status can be synchronized among Agents as needed.</t>
      </section>
      <section anchor="task-coordination">
        <name>Task coordination</name>
        <t>The AI Agent communication protocol design <bcp14>MUST</bcp14> consider support for Agent Communication Server to facilitate task message forwarding.  Agent Communication Server <bcp14>SHOULD</bcp14> prioritize message scheduling and forwarding based on task requirements to ensure efficient agent collaboration and meet transmission QoS objectives.</t>
        <t>This prioritization scheme ensures that critical messages receive preferential treatment during congestion or resource contention scenarios.</t>
        <t>When delegating tasks to Execution Agents, the Coordinator Agent may include task-relevant contextual about the contact information of the end user, the task itself, the historical preference information known by the Coordinator Agent, and other necessary conversation data, to facilitate the task execution. For example, in trip planning case, this may encompass historically booked flight/hotel preferences or dynamically perceived context like recent user dialog. The AI agent protocol should consequently support context sharing mechanisms through standardized definitions of context types, length constraints, and encoding formats to enhance the effectiveness of task execution.</t>
      </section>
    </section>
    <section anchor="message-mode">
      <name>Message mode</name>
      <t>This section defines the message mode of AI agents from two dimensions. One dimension is the number of communication participants, which is divided into Point-to-Point Communication (2 AI agents) and Group Communication (3 or more AI agents), and the section is divided into two sub-sections based on this dimension. The other dimension is whether the communication between AI agents requires the participation of an intermediate node, which divides communication into Direct Communication and Indirect Communication, and this dimension is further elaborated in the classification within each sub-section.</t>
      <section anchor="point-to-point-communication">
        <name>Point-to-Point Communication</name>
        <t>Direct Communication: AI agents directly send and receive protocol messages without the need for intermediate nodes for processing, or AI agents are unaware of these intermediate nodes.
Indirect Communication: Communication between AI agents requires processing/relaying by the Agent Communication server, and the AI agent must be aware of and interact with the Agent Communication server. The function of the Agent Communication server includes but is not limited to:</t>
        <ul spacing="normal">
          <li>
            <t>AI agent access control (allowing or blocking an AI agent's messages based on its identity or permissions).</t>
          </li>
          <li>
            <t>Application Layer Proxy (to facilitate monitoring/auditing of AI agent communication behavior, or to hide AI agent identity, etc.).</t>
          </li>
          <li>
            <t>Relay (to forward communication messages, making cross-domain communication easier, etc.).</t>
          </li>
          <li>
            <t>Traffic aggregation (to provide a tree-structured traffic regulation, improving communication efficiency).</t>
          </li>
          <li>
            <t>handle authentication and message relaying between the two communicating parties.</t>
          </li>
        </ul>
      </section>
      <section anchor="group-communication">
        <name>Group Communication</name>
        <t>To better accomplish communication collaboration, agents can dynamically form groups. Information sent by an agent within a group can be received simultaneously by other agents in the same group.</t>
      </section>
      <section anchor="pubsub-communication">
        <name>PUB/SUB Communication</name>
        <t>In this mode, the AI agent sending the information does not know which AI agents need to receive it. It first Publishes the information to Agent Communication Server, and this Agent Communication Server then distributes the information to the subscribing Agents based on their Subscribe status. Pub/Sub communication is a common and efficient method of information distribution, especially suitable for large-scale group communication scenarios.</t>
      </section>
    </section>
    <section anchor="multimodality">
      <name>Multimodality</name>
      <t>Interactions between AI agents must support multimodality, e.g., text, file, document, image, structured data, real-time audio stream, video streaming. The data size of different multimodality as well as the transmission modes (e.g., real-time steaming, or push notification) may be different.</t>
      <t>Given these traffic characteristics above, the Agent communication protocol should support multimodal data transmission which mentioned above. At the same time, the Agent communication protocol and possible protocols of other layers should be designed with the principle that the multimodal data can be distinguished and aware, based on which they can be handled with differentiated policies for better performance assurance and resource efficiency. For example, different multimodal data can be transmitted with different transport streams of different quality guarantee. Or, they can be transmitted within a same transport stream but with different policies (e.g., transmission priority).</t>
    </section>
    <section anchor="session-management">
      <name>Session management</name>
      <t>After discovering the peer Agent (e.g., Agent B), the local Agent (e.g., Agent A) needs to establish a session with it to communicate.</t>
      <section anchor="session-establishment-and-control">
        <name>Session Establishment and Control</name>
        <t>Before communicating with Agent B, Agent A should first establish a secure connection with the Agent Communication Server. Prior to this, Agent A must undergo authentication by the Agent Communication Server. Similarly, Agent B also needs to be authenticated by the Agent Communication Server to establish a secure connection.</t>
        <t>Therefore, the Agent Communication Server needs to support the states maintenance of the registered Agents, such as the states of Agent A and Agent B.</t>
        <t>In order to communicate with Agent B, Agent A initiates a session establishment request to the Agent Communication Server. After verifying its permissions, the Agent Communication Server proceeds to establish the session, for example, by assigning a globally unique Session ID to the new session. This ID will be used throughout the entire session lifecycle to correlate all activities and data. Correspondingly, the Agent Communication Server needs to maintain a session table, which includes information about all Agents involved in the session, especially information about the session initiator.</t>
      </section>
      <section anchor="differentiated-qos-guarantees">
        <name>Differentiated QoS Guarantees</name>
        <t>During the session establishment, Agent A can provide the relevant QoS requirements for the session. Consequently, the Agent Communication Server can prioritize the processing and forwarding of messages according to these requirements to ensure the session's QoS.</t>
      </section>
    </section>
    <section anchor="routing">
      <name>Routing</name>
      <section anchor="agent-id-based-route-look-up">
        <name>Agent ID-based Route look-up</name>
        <t>The scenario described in this section is when an Agent sends a message to another Agent (or a group of Agents), and the sending Agent knows the recipient Agent's ID or Group ID. According to the two major types of communication modes in Section 6, the situations can be classified as follows:</t>
        <ul spacing="normal">
          <li>
            <t>Point-to-Point Communication (P2P):</t>
          </li>
          <li>
            <t>In the direct communication mode, the Agent looks up the corresponding IP address using the recipient's ID, thus allowing the message to be sent to the recipient.</t>
          </li>
          <li>
            <t>In the indirect communication mode, the Agent can delegate the ID lookup task to the Agent Communication Server, which is then responsible for sending the message to the recipient Agent based on the ID.</t>
          </li>
          <li>
            <t>Group Communication:</t>
          </li>
          <li>
            <t>The Agent delegates the Group ID lookup task to the Agent Communication Server, which is then responsible for sending the message to the recipient Agent in the same group.</t>
          </li>
        </ul>
      </section>
      <section anchor="semantic-based-route-resolution">
        <name>Semantic-based Route resolution</name>
        <t>The scenario described in this section is when an Agent wants to communicate with other Agents that possess a certain capability or attribute, but does not yet know their IDs. In this case, a semantic search system is needed to search for the Agent IDs that meet the criteria based on the capabilities or attributes described by the Agent. The message is then routed according to the retrieved ID.</t>
      </section>
    </section>
    <section anchor="protocol-stack-considerations">
      <name>Protocol Stack Considerations</name>
      <t>The protocol stack of an AI agent is divided into three functional layers: the AI Agent communication protocol layer, the application layer, and the transmission layer. AI Agent applications communicate with each other through the interfaces provided by the AI Agent communication protocol layer. The AI Agent communication protocol operates above the application layer and has requirements for both the application layer and transport layer protocols.</t>
      <figure anchor="ref-to-fig3">
        <name>AI Agent protocol stack Layer</name>
        <artwork><![CDATA[
+--------------------------------------------------------+
|                  AI Agent Application                  |
+--------------------------------------------------------+

+--------------------------------------------------------+
|  AI Agent Comm Protocol Layer (e.g.,JSON-RPC, JSON-LD) |
+--------------------------------------------------------+

+--------------------------------------------------------+
|            Application Layer (e.g.,HTTP, SIP)          |
+--------------------------------------------------------+

+--------------------------------------------------------+
|         Transmission Layer (e.g.,UDP, TCP, QUIC)       |
+--------------------------------------------------------+                    
]]></artwork>
      </figure>
      <t>AI Agent Communication Layer:</t>
      <t>This layer provides the basic communication function between Agents, including all the functions mentioned above in this draft.
Application layer: This layer <bcp14>SHALL</bcp14> support the following functions:</t>
      <ul spacing="normal">
        <li>
          <t>Support bidirectional full-duplex communication between AI agents, meaning that an AI agent can both initiate and receive communication requests. In the same communication session, an Agent can send multimodal data as well as receive multimodal data.</t>
        </li>
        <li>
          <t>Be decoupled from the presentation layer. For example, after the presentation layer chooses to use JSON-RPC protocol, JSON-RPC messages <bcp14>MUST</bcp14> support being carried over different application layer protocols such as HTTP and WebTransport, etc.</t>
        </li>
        <li>
          <t>Support a flexible routing mechanism at the application layer, including direct routing based on URL querying DNS and segment-based routing according to DID.</t>
        </li>
        <li>
          <t>Support a flexible extension mechanism for protocols to better meet the increasingly diverse functional requirements of Agent communication.</t>
        </li>
      </ul>
      <t>Transmission Layer:</t>
      <t>This layer <bcp14>SHALL</bcp14> provide the following functions:</t>
      <ul spacing="normal">
        <li>
          <t>In mobile scenarios, transport layer should dynamically optimize and update QoS parameters according to revised QoS rules.</t>
        </li>
        <li>
          <t>To achieve multimodal data stream multiplexing, multi-path transmission capabilities (i.e., MPTCP, MPQUIC) should be adopted to support flexible transmission management of multi-source data from agents.</t>
        </li>
        <li>
          <t>the transport layer should either transmit unfinished data packets to the new link or switch data to a backup link, thereby enabling mobility management for agent communication.</t>
        </li>
      </ul>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Security of AI agent communication is not detailed in this draft. Considering its independence, we suggest that it could be discussed separately through other proposals from the following aspects:</t>
      <ul spacing="normal">
        <li>
          <t>Identity: AI agents vary from embodied robots to virtualized assistant, which introduces different identity and credential storage approach. The protocol should consider a unified and compatibility mechanism to meet these requirements, e.g., SIM-based robots, certificate-based AI assistant.</t>
        </li>
        <li>
          <t>Authentication: AI agents can reuse the authentication mechanism provided by the single trusted domain e.g., primary authentication between the agent and the core network. So that the agents may simplify the direct authentication process.</t>
        </li>
        <li>
          <t>Authorization: Current practices of agent communication mostly rely on existing OAuth 2.0 related mechanism. It should be considered that there will be different authorization mechanisms for direct authorization, delegated authorization and user authorization.</t>
        </li>
        <li>
          <t>Cross-domain Security: This draft focused on the communication within one trust domain. However, the cross-domain trust and security of AI agents should also be considered in next steps</t>
        </li>
        <li>
          <t>Discovery Privacy: The publication of an AI agent should get owner’s approval. Not all agent cards/descriptions/identities should be published considering the possible sensitive information associated with its owner who may be a natural person.</t>
        </li>
        <li>
          <t>Task Privacy: Agents involved in task execution should follow the principle of task description minimization, meaning that each agent should only receive the minimum and necessary information required to complete its task, in order to prevent unauthorized access to sensitive information. In addition, context sharing may impact user privacy, so it is important to consider limitations on the scope of context sharing, especially for sensitive information such as the user's name, age, and address.</t>
        </li>
      </ul>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>TBD.</t>
    </section>
    <section anchor="conclusions">
      <name>Conclusions</name>
      <t>This framework focuses on AI agent communication within a single trust domain, introducing the communication framework, basic processes, and key mechanisms.
Considering that multiple trust domains may exist in practical deployments, the mechanisms such as digital identity format, capability registration and discovery, and routing involved in cross-domain scenarios may differ from those within a single trust domain. Therefore, further research on cross-domain agent communication is needed in the future.</t>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>TBD</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.stephan-ai-agent-6g" target="https://datatracker.ietf.org/doc/html/draft-stephan-ai-agent-6g-00" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.stephan-ai-agent-6g.xml">
          <front>
            <title>AI Agent protocols for 6G systems</title>
            <author fullname="Emile Stephan" initials="E." surname="Stephan">
              <organization>Orange</organization>
            </author>
            <author fullname="Roland Schott" initials="R." surname="Schott">
              <organization>Deutsche Telekom</organization>
            </author>
            <author fullname="Diego Lopez" initials="D." surname="Lopez">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Xiaodong Duan" initials="X." surname="Duan">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Lionel Morand" initials="L." surname="Morand">
              <organization>Huawei</organization>
            </author>
            <date day="7" month="July" year="2025"/>
            <abstract>
              <t>Communication between AI agents and between agent and tools is expected to be pivotal in 6G systems. The 3GPP TR 22.870 outlines various use cases and potential service requirements for AI agent communication within 6G systems. This document provides examples of use cases and service requirements contained in the 3GPP TR 22.870 and extrapolates possible requirements related to agent communication protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-stephan-ai-agent-6g-00"/>
        </reference>
        <reference anchor="VC_Card" target="https://www.w3.org/TR/vc-data-integrity/#defn-domain">
          <front>
            <title>Verifiable Credential Data Integrity 1.0</title>
            <author>
              <organization/>
            </author>
            <date year="2025" month="May" day="15"/>
          </front>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
