<?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-01" 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-01"/>
    <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 71?>

<t>This document defines the framework of AI agent networks based on Agent Network Protocol (ANP) protocol. <xref target="ANP"/> 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 75?>

<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.</t>
        <t>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.</t>
        </li>
      </ul>
      <t>In order to fulfill the requirements mentioned above, it is suggested to introduce the W3C Decentralized Identifier (DID)<xref target="DID"/> and Verifiable Credential (VC) <xref target="VC_Card"/>standards as the basic digital identity components.</t>
      <ul spacing="normal">
        <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</t>
            </li>
            <li>
              <t>JSON-LD</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.</t>
        <t>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.</t>
        <t>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>
        <t>Alternately, after authentication and authorization, the  Agent A can also initial a connection directly to the Agent B. In this situation, the control plane and data plane can be separated.</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>
            <artwork><![CDATA[
  - 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.

  - 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.
]]></artwork>
          </li>
          <li>
            <t>Group Communication:  </t>
            <artwork><![CDATA[
  - 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.
]]></artwork>
          </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: This layer provides the basic communication function between Agents, including all the functions mentioned above in this draft.</t>
      <t>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: 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="ANP" target="https://github.com/agent-network-protocol/AgentNetworkProtocol">
          <front>
            <title>Agent Network Protocol 1.0</title>
            <author>
              <organization/>
            </author>
            <date year="2024" month="April" day="15"/>
          </front>
        </reference>
        <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>
        <reference anchor="DID" target="https://www.w3.org/TR/did-1.1/">
          <front>
            <title>Decentralized Identifiers v1.1</title>
            <author>
              <organization/>
            </author>
            <date year="2025" month="September" day="18"/>
          </front>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
