<?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.30 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-liu-dmsc-acps-arc-02" category="info" consensus="true" submissionType="IETF" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title abbrev="ACPs Architecture">Agent Collaboration Protocols Architecture for Internet of Agents</title>
    <seriesInfo name="Internet-Draft" value="draft-liu-dmsc-acps-arc-02"/>
    <author fullname="Jun Liu">
      <organization>Beijing University of Posts and Telecommunications</organization>
      <address>
        <postal>
          <street>10 Xitucheng Road, Haidian District</street>
          <city>Beijing</city>
          <code>100876</code>
          <country>China</country>
        </postal>
        <email>liujun@bupt.edu.cn</email>
      </address>
    </author>
    <author fullname="Ke Yu">
      <organization>Beijing University of Posts and Telecommunications</organization>
      <address>
        <postal>
          <street>10 Xitucheng Road, Haidian District</street>
          <city>Beijing</city>
          <code>100876</code>
          <country>China</country>
        </postal>
        <email>yuke@bupt.edu.cn</email>
      </address>
    </author>
    <author fullname="Ke Li">
      <organization>Beijing University of Posts and Telecommunications</organization>
      <address>
        <postal>
          <street>10 Xitucheng Road, Haidian District</street>
          <city>Beijing</city>
          <code>100876</code>
          <country>China</country>
        </postal>
        <email>like1990@bupt.edu.cn</email>
      </address>
    </author>
    <author fullname="Keliang Chen">
      <organization>Beijing University of Posts and Telecommunications</organization>
      <address>
        <postal>
          <street>10 Xitucheng Road, Haidian District</street>
          <city>Beijing</city>
          <code>100876</code>
          <country>China</country>
        </postal>
        <email>chenkl@bupt.edu.cn</email>
      </address>
    </author>
    <date year="2026" month="January" day="27"/>
    <workgroup>DMSC Working Group</workgroup>
    <keyword>Internet of Agents</keyword>
    <keyword>Agent Communication</keyword>
    <keyword>Task Collaboration</keyword>
    <abstract>
      <?line 63?>

<t>Internet of Agents (IoA) aims to facilitate interconnection and collaboration among heterogeneous agents to address complex tasks and support various applications.</t>
      <t>This IETF draft proposes the Agent Collaboration Protocols (ACPs) architecture, which outlines the key components and functionalities required for agent interoperability. ACPs cover all stages of agents in the network, from their access to collaboration, including: Agent Trusted Registration (ATR), Agent Identity Authentication (AIA), Agent Discovery (ADP), Agent Interaction (AIP), Tool Invocation (TIP), and Agent Monitoring (AMP). The long-term vision of ACPs is to support the future large-scale interconnected agents and construct the key infrastructure for IoA.</t>
    </abstract>
  </front>
  <middle>
    <?line 69?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>With the rapid development of artificial intelligence (AI), particularly large language model (LLM) technology, the number of AI agents has grown dramatically. With the capability of autonomous perception, decision-making, and execution, agents' applications are becoming increasingly widespread.</t>
      <t>To overcome the limitations of single-agent systems, and to break free from the constraints of proprietary multi-agent frameworks developed by various vendors, the Internet of Agents (IoA) has emerged. IoA aims to enable seamless connectivity and efficient collaboration among agents, through standardized communication protocols and interfaces.</t>
      <t>This draft proposes the Agent Collaboration Protocols (ACPs) <xref target="ACPs-Github"/>, which is a standardized protocol suite for IoA to enable wide-area connectivity, cross-domain interoperability, and secure collaboration among heterogeneous agents. The main characteristics of ACPs are as follows:</t>
      <ul spacing="normal">
        <li>
          <t>Multi-centralized architecture, which consists of multiple autonomous domains, each domain containing its own management nodes (such as registration, authentication, and discovery functions), to support efficient, reliable, and manageable large-scale agent interconnection scenarios.</t>
        </li>
        <li>
          <t>Standardized communication mechanisms with peer-to-peer and grouping mode, allowing agents to self-organize and negotiate autonomously, to facilitate rapid and accurate information exchange, as well as efficient task Collaboration.</t>
        </li>
        <li>
          <t>Robust registration and authentication mechanisms, to ensure the trusted access of agents and prevent unauthorized access and data breaches.</t>
        </li>
        <li>
          <t>Reliable registration and management of agent capability, along with intra-domain and cross-domain discovery based on capability matching, to support universal and efficient discovery of collaborative agents.</t>
        </li>
        <li>
          <t>Real-time monitoring of agent status and behavior, to support more complex application requirements such as agent auditing and transactions.</t>
        </li>
      </ul>
      <t>ACPs cover all stages of agents in the IoA, from their access to collaboration, to construct the key infrastructure for agent communication, task collaboration and resource allocation.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>Agent: An agent is a software or hardware entity with autonomous decision-making and execution capabilities, capable of perceiving the environment, acquiring contextual information, reasoning, and learning. Agent can perform tasks independently or collaboratively with other agents. Each agent is created by a specific agent provider and needs to complete processes such as registration and authentication before providing services to obtain a legitimate identity and relevant credentials.</t>
      <t>Agent Identity Code (AIC): AIC is a certifiable, globally unique identity that represents the identity of an agent. AIC MAY contain the following information: the registration service center, the agent provider, the serial number of agent entity and instance, and the check code.</t>
      <t>Agent Capability Specification (ACS): ACS is a detailed description of an agent's capabilities and information that can be saved and retrieved. ACS MAY use the JSON <xref target="RFC8259"/> format, typically including the following information: AIC, the functional capabilities of agent, the technical characteristics, and the service interfaces.</t>
      <t>Agent Registration Function (ARF): ARF is a service entity recognized by consensus, responsible for the registration of agents, the distribution of AICs, and the maintenance of the agent's availability status.</t>
      <t>Certificate Authority Function (CAF): CAF is a service entity that is responsible for verifying the detailed information of agents and issuing, managing agent certificates, establishing communication identity trust.</t>
      <t>Agent Discovery Function (ADF): ADF is a service entity responsible for discovering available collaborative intelligent agents for specific task requirements.</t>
      <t>Agent Autonomous Domain: Agent Autonomous Domain is a collaborative network domain organized and managed by specific IoA service provider. It may include multiple different entities, such as ARF, CAF, ADF, and agents.</t>
    </section>
    <section anchor="acps-architecture">
      <name>ACPs Architecture</name>
      <t>Agent Collaboration Protocols (ACPs) is a standardized protocol suite for IoA, which consists of the following protocols built on HTTPS:</t>
      <t>(1) Agent Trusted Registration (ATR) protocol: Defines the requirements and process for agents to register with a registration service provider.</t>
      <t>(2) Agent Identity Authentication (AIA) protocol: Defines the mechanisms for agents to obtain digital identity credentials and perform authentication during communication.</t>
      <t>(3) Agent Discovery Protocol (ADP): Defines the mechanisms for agents to discover potential collaboration partners in an open environment, including query formats, matching processes, and result feedback.</t>
      <t>(4) Agent Interaction Protocol (AIP): Defines the communication protocol for agents to establish sessions and exchange messages, serving as the core communication layer of ACPs.</t>
      <t>(5) Tool Invocation Protocol (TIP): Provides a standard way for agents to invoke external tools or services.</t>
      <t>(6) Agent Monitoring Protocol (AMP): Provides a framework for monitoring and measuring agent behavior and performance.</t>
      <figure anchor="fig-acps-stack">
        <name>ACPs Protocol Stack</name>
        <artwork><![CDATA[
  APPLICATION LAYER
  +-------------------------------------------------------------+
  |              Agent Collaboration Protocols (ACPs)           |
  |                                                             |
  |   Control Sublayer:      +-------+   +-------+   +-------+  |
  |                          |  ATR  |   |  AIA  |   |  AMP  |  |
  |                          +-------+   +-------+   +-------+  |
  |                                                             |
  |   --------------------------------------------------------- |
  |                                                             |
  |   Interaction Sublayer:  +-------+   +-------+   +-------+  |
  |                          |  ADP  |   |  AIP  |   |  TIP  |  |
  |                          +-------+   +-------+   +-------+  |
  +-------------------------------------------------------------+
  |          HTTP               HTTPS                DNS        |
  +-------------------------------------------------------------+

  TRANSPORT LAYER
  +-------------------------------------------------------------+
  |                  TCP                  UDP                   |
  +-------------------------------------------------------------+

  INTERNET LAYER
  +-------------------------------------------------------------+
  |                  IPv4                 IPv6                  |
  +-------------------------------------------------------------+
]]></artwork>
      </figure>
      <t>The ACPs-based Internet of Agents consists of multiple autonomous domains, each domain containing registration, authentication, and discovery functions, as well as agents. The overall architecture is as follows.</t>
      <figure anchor="fig-acps-arch">
        <name>ACPs Architecture</name>
        <artwork><![CDATA[
+------------------------------+     +------------------------------+
|     Autonomous Domain 1      |     |     Autonomous Domain 2      |
|  +------+         +------+   |     |    +------+         +------+ |
|  | ARF1 | <-----> | CAF1 |   |     |    | CAF2 | <-----> | ARF2 | |
|  +------+         +------+   |     |    +------+         +------+ |
|     ^                        |     |                         ^    |
|     |ATR                     |     |                         |ATR |
|     v                        |     |                         v    |
|  +------+  ADP   +------+    |     |    +------+   ADP  +------+  |
|  | PAA1 | <----> | ADF1 | <--+-----+--> | ADF2 | <----> | PAA2 |  |
|  +------+        +------+    |     |    +------+        +------+  |
|    |   AIP,AIA   +--------+  |     |  +--------+   AIP,AIA  |     |
|    |-----------> | Agent1 |  |     |  | Agent3 | <----------|     |
|    |             +--------+  |     |  +--------+            |     |
|    |   AIP,AIA   +--------+  |     |  +--------+   AIP,AIA  |     |
|    |-----------> | Agent2 |  |     |  | Agent4 | <----------|     |
|    |             +--------+  |     |  +--------+            |     |
|    |   AIP,AIA   +---------+ |     |  +--------+   AIP,AIA  |     |
|    |-----------> |ToolAgent| |     |  | Agent5 | <----------|     |
|    |             +---------+ |     |  +--------+            |     |
|    |                   ^     |     |                        |     |
|    |AMP             TIP|     |     |                     AMP|     |
|    v                   v     |     |                        v     | 
|  +-------+        +-------+  |     |                   +-------+  |
|  | Logs  |        | Tools |  |     |                   | Logs  |  |
|  +-------+        +-------+  |     |                   +-------+  |
+------------------------------+     +------------------------------+



Legend:
  ARF  = Agent Registration Function
  CAF  = Certificate Authority Function
  ADF  = Agent Discovery Function
  PAA  = Personal Assistant Agent
  ATR  = Agent Trusted Registration
  AIA  = Agent Identity Authentication
  ADP  = Agent Discovery Protocol
  AIP  = Agent Interaction Protocol
  TIP  = Tool Invocation Protocol
  AMP  = Agent Monitoring Protocol
]]></artwork>
      </figure>
      <t>The ACPs-based IoA operates based on the following fundamental rules:</t>
      <t>(1) All agents are required to follow the ATR to register with the ARF.</t>
      <t>(2) An agent must comply with AIA verification to ensure the reliability of the collaborator's identity before collaboration.</t>
      <t>(3) When a user proposes a task request, the personal assistant agent decomposes the task and queries the ADF, in accordance with the ADP, to identify collaborative agents whose capabilities match the task requirements.</t>
      <t>(4) Agents follow AIP to form agent collaboration networks to complete complex tasks. When an external tool is needed, Agent contacts the tool agent and invokes the appropriate tool.</t>
    </section>
    <section anchor="agent-trusted-registration-atr">
      <name>Agent Trusted Registration (ATR)</name>
      <t>The IoA should be a safe and reliable agent ecosystem, and the agents running in it with the ability to perform tasks independently should be reliable entities. To achieve this, each agent should have the following two necessary conditions:</t>
      <ul spacing="normal">
        <li>
          <t>Obtain a globally unique identity from the ARF, which is an AIC.</t>
        </li>
        <li>
          <t>Obtain a digital certificate from the CAF designated by the ARF that can be used for authentication, called a Certificate of Agent Identity (CAI).</t>
        </li>
      </ul>
      <t>Each agent should have a unique AIC from the ARF on which the agent first registered. In the IoA, there can be multiple ARF, each of which should be a service entity that has been recognized by consensus (e.g., certified by a governing body). Each agent can choose a different ARF to register with and receive an assigned AIC based on their needs.</t>
      <t>After the agent obtains the AIC, it also needs to obtain the CAI from the CAF. In the IoA, there can be multiple CAF, and each CAF should be a service entity recognized by consensus (such as certification by a management agency).</t>
      <section anchor="basic-workflow-of-agent-trusted-registration">
        <name>Basic Workflow of Agent Trusted Registration</name>
        <t>The basic workflow of agent trusted registration includes the following steps:</t>
        <t>(1) The agent provider sends a registration request to the ARF to register the agent, which must include all or part of the ACS information. Apply for AIC;</t>
        <t>(2) The ARF reviews the content of the registration request;</t>
        <t>(3) After the ARF approves the request, the agent is assigned an AIC;</t>
        <t>(4) The agent provider applies for a CAI from CAF, and the request must be accompanied by an AIC;</t>
        <t>(5) CAF requests the ARF to obtain the agent's details based on the AIC;</t>
        <t>(6) The ARF returns the agent details to the CAF based on the AIC;</t>
        <t>(7) CAF reconciles the agent details;</t>
        <t>(8) The CAF issues an ACME HTTP-01 challenge to the agent provider for domain validation and issues a CAI upon successful verification.</t>
      </section>
    </section>
    <section anchor="agent-identity-authentication-aia">
      <name>Agent Identity Authentication (AIA)</name>
      <t>In the basic workflow of agent trusted registration, agent get the necessary AIC and CAI.</t>
      <t>Agent Identity Authentication supports multiple security protocols. TLS 1.3 mutual TLS (mTLS) <xref target="RFC8446"/> is recommended. In this process, the connection-initiating agent acts as the TLS client, while the receiving agent serves as the TLS server. The mutual TLS handshake comprises three phases: Key Exchange, Server Parameters Transmission, and Authentication. All communications beyond the key exchange phase are encrypted.</t>
      <t><strong>Phase 1: Key Exchange</strong></t>
      <t>(1) Client sends ClientHello message with supported cipher suites and ephemeral public key;</t>
      <t>(2) Server responds with ServerHello message, selecting cipher suites and returning ephemeral public key;</t>
      <t>(3) Both parties derive a pre-master secret using ECDHE with the peer's ephemeral public key and their own ephemeral private key, then generate session keys and handshake keys via HKDF. All subsequent messages are encrypted;</t>
      <t><strong>Phase 2: Server Parameters Transmission</strong></t>
      <t>(4) Server transmits CertificateRequest (requesting client certificate) and Encrypted Extensions messages;</t>
      <t><strong>Phase 3: Authentication</strong></t>
      <t>(5) Server sends CAI, CertificateVerify (signing all previous handshake messages hash using signature algorithm from ClientHello's signature_algorithms extension and server's private key), and Finished message;</t>
      <t>(6) Client sends CAI, CertificateVerify, and Finished message;</t>
      <t>(7) Both parties validate peer's CAI and CertificateVerify.</t>
      <t>(8) Upon successful mutual verification, encrypted data transfer begins.</t>
    </section>
    <section anchor="agent-discovery-adp">
      <name>Agent Discovery (ADP)</name>
      <t>Agent discovery refers to the process of dynamically identifying and matching the functions and services provided by distributed agents according to the requirements of a user task. Agent capability discovery enables dispersed agents to be efficiently searched and invoked. It is the prerequisite and foundation for large-scale collaboration among agents.</t>
      <section anchor="core-roles-in-agent-discovery">
        <name>Core Roles in Agent Discovery</name>
        <ul spacing="normal">
          <li>
            <t>Leader: Agent who issues tasks and organizes interactions. Leader is the initiator of agent discovery requests.</t>
          </li>
          <li>
            <t>Partner: Agent who accepts tasks and provides services.</t>
          </li>
          <li>
            <t>Agent Discovery Function: Receives agent discovery requests and returns discovery results. Each Agent Discovery Function must establish and maintain mutual trust relationships with external discovery functions, maintain a trusted discovery function list, and perform agent discovery within the trusted scope.</t>
          </li>
        </ul>
      </section>
      <section anchor="data-sources-for-agent-discovery-functions">
        <name>Data Sources for Agent Discovery Functions</name>
        <t>Agent discovery in the IoA relies on a multi-level agent discovery architecture. Through synchronization mechanisms, it obtains authoritative registration data from Agent Registration Functions, to support capability-based search, matching, and decision-making.</t>
        <t>An Agent Registration Function is responsible for the submission, verification, approval, revocation, and version management of agent identities, to ensure data integrity, legitimacy, and consistency. It also maintains the agent’s AIC and version history as the reliable baseline for discovery. After obtaining registration data, the discovery function stores it in a local database and builds customized indexes to enable efficient handling of discovery requests. A discovery function may synchronize with multiple registration functions to support multi-source registration scenarios.</t>
        <section anchor="data-synchronization">
          <name>Data Synchronization</name>
          <t>The primary data synchronization methods between discovery functions and registration/monitoring functions include:</t>
          <ul spacing="normal">
            <li>
              <t>Full Snapshot: Used to obtain a complete data view for initialization or reconstruction when starting up for the first time, when data is lost, or when consistency is compromised;</t>
            </li>
            <li>
              <t>Incremental Changes: Used after synchronization becomes stable to continuously synchronize newly added or updated data at low cost, to maintain nearly real-time consistency;</t>
            </li>
            <li>
              <t>Active Push: For stricter timeliness requirements, the data provider may proactively push changes instead.</t>
            </li>
          </ul>
          <t>Note that the discovery function may obtain operational status data from agent monitoring related functions for they may use the same data synchronization mechanism.</t>
        </section>
      </section>
      <section anchor="basic-workflow-of-agent-discovery">
        <name>Basic Workflow of Agent Discovery</name>
        <t>The basic workflow of agent discovery includes the following steps:</t>
        <t>(1) The Leader receives a user task and analyzes it to determine the required capabilities (skills) of Partners;</t>
        <t>(2) The Leader sends an agent discovery request to the Agent Discovery Function, where the request contains explicit query information or constrained query conditions;</t>
        <t>(3) The Agent Discovery Function matches the query conditions with the available agent descriptions;</t>
        <t>(4) The Agent Discovery Function returns a list of candidate agents that satisfy the requirements to the Leader;</t>
        <t>(5) The Leader selects Partners from the candidate list according to its own strategy, performs identity verification, and collaborates with them to complete the task.</t>
      </section>
      <section anchor="different-agent-discovery-methods">
        <name>Different Agent Discovery Methods</name>
        <ul spacing="normal">
          <li>
            <t>In-Domain Discovery: Upon receiving a discovery request, the discovery function performs matching, ranking, and filtering of available Partners within the local domain; if the Leader’s requirements are met, it directly returns the candidate list of serving agents.</t>
          </li>
          <li>
            <t>Cross-Domain Discovery: Discovery functions across multiple autonomous domains can establish connections based on trust relationships between agent providers. If the discovery request for an agent cannot be fulfilled within one autonomous domain, the discovery function in one domain may forward the discovery request to the discovery functions in the neighboring domain. If the neighboring discovery function locates a suitable agent, it returns a discovery response.</t>
          </li>
        </ul>
        <t>There are two cross-domain discovery mechanisms: the chained forwarding and the aggregated forwarding. For the chained forwarding, the discovery request is forwarded hop-by-hop along a trusted chain, and the continued forwarding process is constrained by a maximum hop count limit. For the aggregated forwarding, the upstream discovery function can select multiple downstream discovery functions from the trusted list to initiate parallel discovery requests, and the continued forwarding process is constrained by a maximum participant limit. During agent discovery, each discovery function must ensure that the forwarding depth or parallel fanout do not exceed the configured limits. The AICs of all discovery functions along the route must be recorded, to ensure that the discovery results are trustworthy and that the discovery process is controllable and traceable.</t>
      </section>
    </section>
    <section anchor="agent-interaction-aip">
      <name>Agent Interaction (AIP)</name>
      <t>In the Internet of Agents, agents may form different collaborative networks under various task scenarios. To ensure that agents can communicate safely and effectively across different scenarios, AIP defines standardized mechanisms and processes to promote deep collaboration between agents.</t>
      <section anchor="core-roles-in-agent-interaction">
        <name>Core Roles in Agent Interaction</name>
        <t>In AIP, the interaction between agents is task-driven, based on which agents can be divided into two roles:</t>
        <ul spacing="normal">
          <li>
            <t>Leader: Agent who issues tasks and organizes interactions. There should only be one Leader in a complete task execution process.</t>
          </li>
          <li>
            <t>Partner: Agent who accepts tasks and provides services. After Partner receives a task from the Leader, it executes and returns the execution result.</t>
          </li>
        </ul>
      </section>
      <section anchor="interaction-mode-in-aip">
        <name>Interaction Mode in AIP</name>
        <t>In AIP, there are three interaction modes between the Leader and the Partner: peer-to-peer mode, grouping mode and hybrid mode.</t>
        <ul spacing="normal">
          <li>
            <t>peer-to-peer mode: In this mode, the Leader maintains separate communication connections with each Partner, ensuring context isolation. Each message in this mode has only one sender and receiver.</t>
          </li>
          <li>
            <t>Grouping mode: In this mode, interaction messages between agents are distributed through a message queue. A message in this mode has only one sender but may has multiple receivers.</t>
          </li>
          <li>
            <t>Hybrid mode: In this mode, the Leader and Partner may interact directly or through the message queue according to the Leader's task planning.</t>
          </li>
        </ul>
        <t>Agents in the existing agent collaboration network can interact with other agents as Leaders through the interaction mode defined in AIP to introduce them into the agent domain, forming a more complex agent collaboration network.</t>
      </section>
      <section anchor="messaging-in-aip">
        <name>Messaging in AIP</name>
        <t>Messaging in AIP includes three types: RPC, streaming, and notification.</t>
        <ul spacing="normal">
          <li>
            <t>RPC: For instant scenarios like synchronous messages, managing task states, or performing actions requiring immediate responses.</t>
          </li>
          <li>
            <t>Streaming: For scenarios such as chunking large files, real-time log pushes, or long-running data transfer operations.</t>
          </li>
          <li>
            <t>Notification: Event-driven asynchronous callback methods for agents to send notifications to other agents when specific conditions are met.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="tool-invocation-tip">
      <name>Tool Invocation (TIP)</name>
      <t>In the Internet of Agents, to accomplish users' complex tasks, agent collaboration often involves calling external tools and accessing external data. TIP provides a standardized interface for agents to call tools, enabling different agents to use various external tools or services through a unified method.</t>
      <section anchor="core-roles-in-tool-invocation">
        <name>Core Roles in Tool Invocation</name>
        <t>TIP follows a client-host-server architecture:</t>
        <ul spacing="normal">
          <li>
            <t>Tool Agent (TA): Tool Agent is the agent that uses the TIP to call tool, which usually acts as a Partner to interact with the Leader through AIP, and autonomously planning to call tools to complete the tasks published by the Leader.</t>
          </li>
          <li>
            <t>TIP Host: The TIP Host process is typically created and managed by the Tool Agent, serving as a container and coordinator for TIP Clients, and managing cross-client context aggregation.</t>
          </li>
          <li>
            <t>TIP Client: Each TIP Client maintains an isolated TIP Server connection, handles protocol negotiation and feature exchange between both parties, and send requests to the TIP Server to use its corresponding features.</t>
          </li>
          <li>
            <t>TIP Server: The TIP Server provides specialized context and functionality, exposing tools through TIP primitives, which call tools based on received requests and return execution results.</t>
          </li>
        </ul>
      </section>
      <section anchor="basic-workflow-of-tool-invocation">
        <name>Basic Workflow of Tool Invocation</name>
        <t>The basic workflow of tool invocation includes the following steps:</t>
        <t>(1) Tool Agent creates a connection between TIP Client and TIP Server;</t>
        <t>(2) Tool Agent autonomously discovers available tools and invokes them as needed;</t>
        <t>(3) Tool Agent proactively disconnects from the TIP Server once the desired result is obtained and it is confirmed that no further tool calls are needed.</t>
      </section>
    </section>
    <section anchor="agent-monitoring-amp">
      <name>Agent Monitoring (AMP)</name>
      <t>To ensure that agents’ status information can be aggregated in real time and distributed in an orderly manner under a unified specification, AMP adopts log files as the data carrier for agents’ states and behaviors. Through standardized mechanisms for log collection and storage, it enables centralized retention and controlled distribution of agent information, thereby providing agent registration functions, discovery functions, and other agents with capabilities for status querying and traceability.</t>
      <section anchor="log-file-categories">
        <name>Log File Categories</name>
        <t>The raw log data is generated by agents. Logs include the following types, and different types of logs are stored in different files:</t>
        <ul spacing="normal">
          <li>
            <t>Heartbeat Logs: Periodically record an agent’s operational status and health condition. The core purpose of heartbeat logs is to express the fact that “the agent is still alive.” They are typically generated at a fixed interval (e.g., every 10 to 60 seconds) and usually contain only lightweight information such as status indicators and brief metric summaries.</t>
          </li>
          <li>
            <t>Metrics Logs: Record an agent’s performance metrics and resource utilization, focusing on “how the agent is performing,” presented in structured numerical form. Typical contents include task queue status, latency percentiles (P50/P90/P99), and CPU/memory/disk/network utilization.</t>
          </li>
          <li>
            <t>Access Logs: Record every interaction between an agent and external systems, including requests, responses, errors, debugging information, and tracing data. Access logs are “generalized interaction logs,” covering traditional request logs, error logs, debug logs, and distributed tracing logs.</t>
          </li>
          <li>
            <t>Message Logs: Record sending and receiving behaviors of an agent through messaging channels (queues, topics, streams), focusing on reliable delivery, ordering, and retry status in message-driven architectures. They help diagnose issues such as message backlogs, out-of-order delivery, and duplicate delivery.</t>
          </li>
          <li>
            <t>Auditing Logs: Record security-related operations and access activities of an agent. Auditing logs serve security compliance and post-incident forensics needs, typically including fields such as operator, target, operation type, and operation result. Auditing logs usually have a long retention period (depending on regulatory requirements) and impose high requirements on integrity and tamper resistance. Transaction logs of billing systems can also be categorized as a special form of auditing logs.</t>
          </li>
          <li>
            <t>System Logs: Record status information of the agent runtime environment and related services. System logs help diagnose issues in the agent runtime environment, and are typically used together with access logs and metrics logs to provide a comprehensive troubleshooting perspective.</t>
          </li>
        </ul>
      </section>
      <section anchor="log-collection-and-storage">
        <name>Log Collection and Storage</name>
        <t>Log Collection Layer: Various logs (heartbeat, access, metrics, audit, message, system, etc.) are written by agents into local log files by type. After necessary steps such as parsing, filtering, and labeling, this layer delivers logs by type to the log storage layer in a reliable and controllable manner.</t>
        <t>Log Storage Layer: This layer provides unified storage for different log information from different agents. According to the structural characteristics, access patterns, and lifecycle requirements of different log types, it provides differentiated storage solutions, and also supports index building and fast retrieval of log data, providing data support for subsequent monitoring analysis, alert triggering, and root-cause tracing.</t>
        <t>After logs are stored, they can be read and processed on demand by different analysis and application systems for querying and aggregation analysis, operational monitoring and alerting, fault localization and root-cause tracing, security auditing and compliance retention, and unified presentation of key conclusions via reports or visualization, thereby supporting a continuous monitoring and governance closed loop.</t>
      </section>
      <section anchor="the-use-of-logs">
        <name>The Use of Logs</name>
        <t>Logs are the most fundamental and most trustworthy “source of truth” for an agent monitoring system. The monitoring systems continuously collect and reliably store, by type, the status changes, request interactions, key metrics, exception information, and audit records generated during agent operation, and then distribute them in a controlled manner to different entities for processing and analysis.</t>
        <t>Logs can provide long-term data foundations for agent auditing, agent transaction, as well as network performance optimization. The IoA can achieve operational observability, alerting and diagnosis, tracing and accountability, security and compliance assurance.</t>
      </section>
    </section>
    <section anchor="conclusions">
      <name>Conclusions</name>
      <t>This draft introduces the Agent Collaboration Protocols (ACPs) architecture for Internet of Agents. By defining a comprehensive protocol suite, including trusted registration, identity authentication, agent discovery, agent interaction, tool invocation, and agent monitoring, the ACPs address the core requirements for interoperability and secure collaboration among heterogeneous agents. The long-term goal of the ACPs is to enable IoA to serve as the critical infrastructure for agent collaboration on complex tasks, as well as to support the future large-scale and diverse applications.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in <xref target="RFC2119"/> and <xref target="RFC8174"/>.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document focuses on the Agent Collaboration Protocols architecture for IoA. Security of IoA is not detailed in this document. Security considerations relevant to deployment with multiple agent service providers are suggested to be deeply discussed through other proposals.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document makes no request for IANA action.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC8259" target="https://www.rfc-editor.org/info/rfc8259" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8259.xml">
          <front>
            <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
            <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
            <date month="December" year="2017"/>
            <abstract>
              <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
              <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="90"/>
          <seriesInfo name="RFC" value="8259"/>
          <seriesInfo name="DOI" value="10.17487/RFC8259"/>
        </reference>
        <reference anchor="RFC8446" target="https://www.rfc-editor.org/info/rfc8446" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8446.xml">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <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="ACPs-Github" target="https://github.com/AIP-PUB">
          <front>
            <title>ACPs GitHub repository</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA9V963Icx5Xm/36KWuqHCKkbImlJtqDVxkIAaWJMUFgAHK//
eKK6Kru7htVVPZVVANuWHH6NiZh5OT/Jnu+ck7fqbpCW6JgdREgEqrMyT548
90v2bDab9FVfm5Ps0enSNH121tZ1Pm+7vK/aJrvq2r4t2tpmp12xqnpT9ENn
skXbZRdNb7rG9Fm7yPhV+2iSz+educNcZ1fpK48mRd6bZdttT7KqWbSTSdkW
Tb6mhcsuX/Szuhpm5doWs7zY2FneFbMnzyZ2mK8rawmSfruhoRfPb19MmmE9
N93JpKQJTyZF21jT2MGeZH03mMndySTvTH4yuW+7t8uuHTYn2fnlzVn2e/q7
apbZb/Fs8tZsaUB5Mslme3aCpw4d6/XQVAWjA49vc/s2RdKk2nS8uO2fPXny
DYE9yYd+1XaYfJLRz2Koa9nrPw1N9qoa+GnbLfOm+hPPcZJ9b6p/BXhvmurO
dLbqtwDnqrW9zfKmzG5NbYoYGMuT2L4zpj/Jnj7J/m/VD8XK0BzXbV5Os5d5
VVZ5k51XNKgqeh5f0MR+MXnSlgbvP/nNr7/WB0PT45zOVlWT8yOzzqv6JKMz
+teh+d/zYdMfm3I4LprdHf7OZH/4/2x/O9vZ2bLubzu8Ne/d3avqv+nu6uqt
efrNN0/et8Oall3SfKb5b7pRzP62TrY5adpuTfDckcSYQP74v7IMsmr226pf
DfMTnqbPuyWAXfX9xp588cWSPzumbX1xenE1u3rzvQxzchOyjt5/Ocyzzmxa
QgqJuUeTyfHx8WQym82yfE5by2lrk11Rkz2+aE+Psrxa26xvs0VeVHXVk2gj
MUljSbw1JEEhi4HeIpHO+bolNK4MjWtpMtMOdAgyK02Vl2VnrKV31pvavKNt
2bdySHbYbNquz+7yruJ3NpvaHReBfLuqLItaEc3ZpmtpV4YmXZnsYS3xGMig
3USSf5rdr6pilbVDX1eNzkLil+FqG4YWQC2GhveZ0/YrGtaZfxuqzpSsbHhX
gpF2Y7p8DiRtj/nsaCIixSyvayIzGmiBXEVD1fByhHGog2m26No1nlQ0viiA
HUJUgtQpvVPUQ0l0d6KbvYVoJ0CuzRI0Knt+fHp7fTTVERcl/R+8cEqCH78W
btDFqR9EBM6Qbunx+VV4F5vKCzceH9y2bU3P71o3zS0/Bpbkncu2AZGBER+f
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
VwcbPneZiqVlpPsb42gqYRC0NWron0cJHPo7w6K/j6W+AwafCrYuNRaQoAtW
kxNKIX3nhXd8jaO3YNbeQYYIbwwuO+KDZo9pw/chimOMW5VjuvO1O6UBhyJk
znrJO9C49HEbeMX5xN5rjFwGiRhuSVjUG9p5vmwgPTTa6LjOxT/gXQqe2qGf
tbgpGfovgMHoG+Qa3ACekpm793aEOanun7lahOD8Rp4d++l34TLJcBGom5QJ
hF2i0DAgLiczNscq4TURfXKqF3yHOt5CTB67/9JLUuooVHJ4ENj4DmD+nopp
gJZ1gSoz/0yjliMoneDTBjhOKQQtvGGdkD2WJkR/4suhzrl+K06+iiCtuC81
W5HQHBW6NqGaTFgrX2+kpL6Sm0uPpf47YiCglxQq+7zK1Gwpca3ZHNlc0at8
z6F1d9aqHJM7+6O9yo3dPM3o2HftsfjCTDRtshUWXTjnuj6ZSkK4WWdn2PcS
cdwPtG9e9U8T5TZI3RQd8cq35cWCiC9TE1XBDyTjAL9Gg+udWYG60PtJ3A6j
a9W2jBbUEW8k8RFMlrPUZrsRm20yGX32Sq7F+meNOfDSj72anyqMUwfbVA5j
GnVKaIus6YvjI97zPREHoizeCpLIoJQABKMVjjIRuIvuh94e9mQ8g5AraVkK
+WoDvUk5n6MoijObqA3jO/VUPOg+dAXncmJpNV11OCcuQtdvZKzyA7HIjwVn
ikCHsNuwqHc/vcmuQ6X80dlsWD4mTnZzxjEg1k5pKNip+L2X2woFbfIeSlOV
TV0tTLEt6t0a9RQYtT+rPuzAD6iEJXQjtq2HyLRmxvVdVVxnKfWXTl8tcq6D
4GuCCWyxZrXCMxj2Uv6lxZFsj0edJ/E1g3m9tWiFzmuDLzzpquUy1kzEBbMi
58oyUa2+fXVkQ0+lDk29NHw7R5LlY9e+NGs2/7bx0SgEsvnoSnYnzQB84kVE
cZkI/tj0Ht2jyFsTMs/h1zKzuJK4/bucBq2U3P8eqSivAgRTjj7VgvQyUr6+
BxpK+mnQD4SvPsLp4u7fCtrFm6vOQ9OTk9B+qJUc70x6mBmcom6B5bptNyKn
4GK8Ec8CopwZTVPZSJEg7hZfI8EyEg/jRDdZb2pUQ9p3Q7+CvZYU0UQQyYlp
59z4sU1LPtXrja8G2AolTZ1o0Wu9RfNomeU0lIREWdQpY9lLUdQNbDScMzJW
+TDVdYudyjIubfCk5MsomsjIdPkYPRj1vjXAwBe1ju8BZoQpI3iaVMI9zjI9
Gb6tXpVS+HoiqQb1rSdRksATpgvGR99NkNzN5hyJ2HFqCT9r51XwgaGxgA0H
vSAh5qd2Dv0dfTuE6TxHqPoGCzrjW+1A1M/4dwI7pVyUk9Lv9BJTBNc9oyTf
P+OTYT/zi7UOfAvjcfb9VlJvjtFiSyC9TDl2lfa304bL98cX6I0LZlxoxlPw
dByIjO6IjlhJOEK+iEa/sax3gYREHUmNePqVOBou/hnfiBOocdmKxvFgVHEL
gH5vj1j17oZeOnT2lB/4Foskh9TsZJoCJb//m7mEImGlmPFXtTF13YnIFm3D
9xRLxkyCTpAi9ywZHl2+ubl9NJV/s9c/8O/Xz//Pm4vr5+f4/ebl6atX/hc3
4ublD29enYffwptnP1xePn99Li9fnv7hkZzwox+ucFvv6atHPp9ekuco9nNn
tG+Nj3IDhcNGvBT3ziVIIQ3Uz54+xRcCYErtqH766y9/+om3feNY7wxF8aVz
1xyDueXYY5W2ovfz2C5ztafHYSUiERADbqBp+/hG+3SL0RtFAlv47gouA9/U
7ZZhTLtCQgd3fEO4GiUD2THMpIJCFBZpKHxgc8S59RLKlEuG5AsyPskuTl+f
vgdb6xxR+KZNKkv5PeFo/YI3eOCT/wdWdZmhOnYAAA==

-->

</rfc>
