<?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" ?>
<?rfc compact="yes"?>
<?rfc text-list-symbols="o*+-"?>
<?rfc subcompact="no"?>
<?rfc sortrefs="no"?>
<?rfc symrefs="yes"?>
<?rfc strict="yes"?>
<?rfc toc="yes"?>
<rfc category="info" consensus="true"
     docName="draft-zhu-agent-registration-discovery-00" ipr="trust200902"
     obsoletes="" sortRefs="false" submissionType="IETF" symRefs="true"
     tocInclude="true" updates="" version="3" xml:lang="en"
     xmlns:xi="http://www.w3.org/2001/XInclude">
  <front>
    <title abbrev="Multi-Model Agent Registration">Registration and Discovery
    Extension for Multi-Model Agents</title>

    <seriesInfo name="Internet-Draft"
                value="draft-zhu-agent-registration-discovery-00"/>

    <author fullname="Yidan Zhu" initials="Y." surname="Zhu">
      <organization>China Mobile</organization>

      <address>
        <postal>
          <city>Beijing</city>

          <country>China</country>
        </postal>

        <email>zhuyidan@chinamobile.com</email>
      </address>
    </author>

    <date day="6" month="July" year="2026"/>

    <workgroup>agent2agent</workgroup>

    <abstract>
      <t>Existing agent registration and discovery mechanisms assume that each
      intelligent agent is backed by a single, static inference model.
      However, in real-world deployments, agents increasingly incorporate
      internal model routing mechanisms where multiple foundation models are
      used dynamically within a single agent based on task complexity, latency
      requirements, system load, and cost constraints.</t>

      <t>Although such agents are exposed externally as single service
      endpoints, their execution behavior is not static and may vary due to
      internal model selection logic that is not visible to external systems.
      This leads to mismatches between registered metadata and actual service
      behavior, reducing the effectiveness of discovery and QoS-aware
      routing.</t>
    </abstract>

    <note removeInRFC="false">
      <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 RFC 2119.</t>
    </note>
  </front>

  <middle>
    <section anchor="introduction" numbered="true" toc="default">
      <name>Introduction</name>

      <t>Intelligent agents built upon large language models (LLMs) have been
      widely deployed as core service components within AI-native systems.
      Conventional agent registration and discovery mechanisms expose static
      metadata, such as agent identifiers, service endpoints, authentication
      schemes, and supported capability catalogs.</t>

      <t>These mechanisms operate under an implicit assumption that each agent
      is backed by only one inference model, and key service metrics including
      latency and functional capability remain stable and deterministic.</t>

      <t>This foundational assumption, however, no longer holds true in
      production deployments. Most modern agents incorporate internal model
      routing capabilities, which dynamically select distinct foundation
      models at runtime to achieve balanced tradeoffs among inference latency,
      invocation cost, and output quality.</t>

      <t>The broad adoption of intra-agent multi-model routing stems from two
      primary production scenarios.</t>

      <t>Tiered Model Scheduling for Latency-Cost Balance: A single
      business-oriented agent integrates lightweight small-scale models,
      medium general-purpose models, and high-performance flagship models.
      Trivial routine queries are handled by low-latency, low-cost small
      models, while tasks involving sophisticated logical reasoning,
      long-document parsing, and mathematical computation are automatically
      routed to high-capacity flagship models. Downstream systems only need to
      connect to a unified service entry without manual model selection or
      switching.</t>

      <t>Load-Adaptive Degradation and Fault Fallback: During traffic surges
      or GPU resource saturation, the routing module automatically offloads
      heavy-load requests from flagship models onto lightweight backup models
      to prevent request timeouts and sustain uninterrupted service. The full
      degradation and disaster recovery logic is fully transparent to external
      service discovery modules.</t>

      <t>From an external perspective, such agents appear as a single logical
      service entity, yet their internal runtime execution behaviors exhibit
      substantial heterogeneity.</t>
    </section>

    <section anchor="problem-statement" numbered="true" toc="default">
      <name>Problem Statement</name>

      <section anchor="internal-model-routing" numbered="true" toc="default">
        <name>Emergence of Internal Model Routing in Production Systems</name>

        <t>In modern deployments of LLM-based agents, it is increasingly
        common for a single agent system to incorporate multiple foundation
        models internally. These systems typically implement internal routing
        mechanisms that dynamically select models based on runtime conditions
        such as request complexity, system load, latency constraints, and cost
        optimization policies.</t>

        <t>Although multiple models may be involved in execution, this routing
        logic is generally not exposed to external registration or discovery
        systems. As a result, the agent continues to be represented as a
        single static service entity.</t>
      </section>

      <section anchor="hidden-heterogeneity" numbered="true" toc="default">
        <name>Hidden Execution Heterogeneity</name>

        <t>While an agent is registered as a single endpoint, its runtime
        behavior may vary significantly depending on which internal model is
        selected for a given request.</t>

        <t>Service-level characteristics such as latency, response quality,
        and cost are therefore not fixed attributes of the agent, but emergent
        properties of internal execution decisions.</t>

        <t>This leads to a situation where identical requests may receive
        different service-level outcomes depending on internal routing
        decisions that are not visible externally.</t>
      </section>

      <section anchor="lack-of-transparency" numbered="true" toc="default">
        <name>Lack of Transparency in Model Selection Behavior</name>

        <t>Current registration and discovery mechanisms do not provide
        visibility into:</t>

        <ul>
          <li>
            <t>how internal models are selected for different request
            types</t>
          </li>

          <li>
            <t>when fallback or degradation occurs</t>
          </li>

          <li>
            <t>how latency, cost, and quality trade-offs are enforced
            internally</t>
          </li>
        </ul>

        <t>This lack of transparency prevents external systems from accurately
        reasoning about expected service behavior.</t>
      </section>

      <section anchor="impact-discovery" numbered="true" toc="default">
        <name>Impact on Discovery and QoS Matching</name>

        <t>The absence of model-level or execution-level visibility leads to
        inaccurate discovery decisions.</t>

        <t>In particular:</t>

        <ul>
          <li>
            <t>agents may be selected without awareness of internal fallback
            behavior</t>
          </li>

          <li>
            <t>latency expectations may be violated due to hidden model
            switching</t>
          </li>

          <li>
            <t>cost-efficient routing decisions cannot be enforced
            externally</t>
          </li>

          <li>
            <t>high-complexity requests may be routed to insufficient
            capability paths under degradation</t>
          </li>
        </ul>

        <t>These issues arise because current systems rely on static metadata
        that does not reflect dynamic execution behavior.</t>
      </section>

      <section anchor="static-limitations" numbered="true" toc="default">
        <name>Limitations of Static Agent-Level Representation</name>

        <t>Existing registration models assume that an agent can be described
        using a single, stable capability profile.</t>

        <t>However, in multi-model routing systems:</t>

        <ul>
          <li>
            <t>capability is not static but context-dependent</t>
          </li>

          <li>
            <t>execution paths are dynamic and non-deterministic</t>
          </li>

          <li>
            <t>service-level characteristics vary across requests</t>
          </li>
        </ul>

        <t>Therefore, static registration information is insufficient to
        accurately represent real-world agent behavior.</t>
      </section>

      <section anchor="execution-aware" numbered="true" toc="default">
        <name>Requirement for Execution-Aware Representation</name>

        <t>There is a requirement for registration and discovery systems to
        evolve beyond static capability descriptions and support
        representations that reflect:</t>

        <ul>
          <li>
            <t>dynamic execution behavior within agents</t>
          </li>

          <li>
            <t>variability in service-level outcomes</t>
          </li>

          <li>
            <t>internal heterogeneity of model usage</t>
          </li>
        </ul>

        <t>Such support is necessary to enable accurate service discovery and
        QoS-aware routing in environments where multiple models are used
        within a single agent system.</t>
      </section>
    </section>

    <section anchor="design-goals" numbered="true" toc="default">
      <name>Design Goals</name>

      <t>The following design goals are defined for the extension
      mechanism:</t>

      <ul>
        <li>
          <t>G1: Support representation of heterogeneous execution behavior
          within a single agent</t>
        </li>

        <li>
          <t>G2: Capture dynamic variability of service characteristics</t>
        </li>

        <li>
          <t>G3: Enable QoS-aware discovery and matching</t>
        </li>

        <li>
          <t>G4: Preserve single-endpoint abstraction</t>
        </li>

        <li>
          <t>G5: Maintain backward compatibility with existing systems</t>
        </li>
      </ul>
    </section>

    <section anchor="protocol-overview" numbered="true" toc="default">
      <name>Protocol Overview</name>

      <t>The system consists of the following entities:</t>

      <ul>
        <li>
          <t>Agent: service provider with internal execution pipeline</t>
        </li>

        <li>
          <t>Registration Center: maintains metadata</t>
        </li>

        <li>
          <t>Service Consumer: performs discovery and invocation</t>
        </li>
      </ul>

      <t>Figure 1 illustrates the overall architecture of the extended
      registration and discovery framework.</t>

      <figure anchor="fig-architecture">
        <name>System Architecture</name>

        <artwork align="center" xml:space="preserve">+----------+         +-------------------+         +----------+
|          |         |                   |         |          |
|  Agent   |&lt;-------&gt;| Registration      |&lt;-------&gt;| Consumer |
|          | Register| Center            | Discover|          |
+----------+         +-------------------+         +----------+
       |                                           |
       |              Invoke                       |
       +-------------------------------------------+</artwork>
      </figure>
    </section>

    <section anchor="registration-extension" numbered="true" toc="default">
      <name>Registration Extension</name>

      <t>This section defines the extended registration format for agents with
      internal multi-model routing capabilities.</t>

      <section anchor="agent-registration" numbered="true" toc="default">
        <name>Agent Registration Format</name>

        <t>The extended registration format includes the following fields:</t>

        <ul>
          <li>
            <t>Agent-ID: unique identifier for the agent</t>
          </li>

          <li>
            <t>Agent-Type: classification of the agent</t>
          </li>

          <li>
            <t>Endpoint: service endpoint URI</t>
          </li>

          <li>
            <t>Authentication: authentication information</t>
          </li>

          <li>
            <t>Skill-List: list of supported skills</t>
          </li>

          <li>
            <t>Model-Profile-List: list of internal model profiles (NEW)</t>
          </li>
        </ul>
      </section>

      <section anchor="model-profile" numbered="true" toc="default">
        <name>Model Profile</name>

        <t>Each Model Profile contains the following fields:</t>

        <ul>
          <li>
            <t>Model-ID: unique identifier for the model within the agent</t>
          </li>

          <li>
            <t>Model-Type: model architecture or family</t>
          </li>

          <li>
            <t>Model-Version: version identifier</t>
          </li>

          <li>
            <t>Capability-Level: capability classification</t>
          </li>

          <li>
            <t>Latency-Class: expected latency classification</t>
          </li>

          <li>
            <t>Context-Length: maximum supported context length</t>
          </li>

          <li>
            <t>Cost-Class: cost classification</t>
          </li>

          <li>
            <t>Availability: availability status</t>
          </li>

          <li>
            <t>Supported-Skills: skills supported by this model</t>
          </li>
        </ul>
      </section>
    </section>

    <section anchor="model-update" numbered="true" toc="default">
      <name>Model Update Procedure</name>

      <t>Agents SHOULD report internal model lifecycle changes to the
      Registration Center. The following update types are defined:</t>

      <ul>
        <li>
          <t>MODEL_ADDED: a new model has been added to the agent</t>
        </li>

        <li>
          <t>MODEL_REMOVED: an existing model has been removed from the
          agent</t>
        </li>

        <li>
          <t>MODEL_UPDATED: properties of an existing model have changed</t>
        </li>

        <li>
          <t>MODEL_DEGRADED: a model has entered a degraded state</t>
        </li>
      </ul>

      <t>Upon receiving an update notification, the Registration Center SHOULD
      update the corresponding Model Profile entries and notify affected
      consumers if necessary.</t>
    </section>

    <section anchor="discovery-extension" numbered="true" toc="default">
      <name>Discovery Extension</name>

      <t>This section defines the extended discovery mechanism that enables
      consumers to perform QoS-aware service selection.</t>

      <section anchor="discovery-request" numbered="true" toc="default">
        <name>Discovery Request</name>

        <t>The extended discovery request includes the following fields:</t>

        <ul>
          <li>
            <t>Required-Skill: the skill required for the request</t>
          </li>

          <li>
            <t>Maximum-Latency: maximum acceptable latency</t>
          </li>

          <li>
            <t>Minimum-Capability: minimum required capability level</t>
          </li>

          <li>
            <t>Minimum-Context-Length: minimum required context length</t>
          </li>

          <li>
            <t>Cost-Preference: preferred cost classification</t>
          </li>
        </ul>
      </section>

      <section anchor="discovery-response" numbered="true" toc="default">
        <name>Discovery Response</name>

        <t>The extended discovery response includes the following fields:</t>

        <ul>
          <li>
            <t>Agent-ID: identifier of the matched agent</t>
          </li>

          <li>
            <t>Matched-Model: identifier of the model that matches the
            request</t>
          </li>

          <li>
            <t>Capability-Level: capability level of the matched model</t>
          </li>

          <li>
            <t>Expected-Latency: expected latency for the matched model</t>
          </li>

          <li>
            <t>Endpoint: service endpoint for invocation</t>
          </li>
        </ul>
      </section>
    </section>

    <section anchor="backward-compatibility" numbered="true" toc="default">
      <name>Backward Compatibility</name>

      <t>Single-model agents are represented using a single default Model
      Profile entry. No protocol changes are required for existing
      implementations.</t>

      <t>Registration Centers that do not support the extended format MAY
      ignore the Model-Profile-List field and treat the agent as a traditional
      single-model agent.</t>

      <t>Consumers that do not support the extended format MAY continue to use
      the basic discovery mechanism without the QoS-aware fields.</t>
    </section>

    <section anchor="security-considerations" numbered="true" toc="default">
      <name>Security Considerations</name>

      <t>Model-level information MAY reveal sensitive system characteristics.
      Implementations SHOULD:</t>

      <ul>
        <li>
          <t>protect registration and update messages using appropriate
          security mechanisms</t>
        </li>

        <li>
          <t>restrict exposure of internal model identities to authorized
          consumers</t>
        </li>

        <li>
          <t>prefer abstract capability representation where possible to avoid
          revealing sensitive model details</t>
        </li>
      </ul>

      <t>Registration Centers SHOULD implement access control policies to
      limit which consumers can access detailed Model Profile information.</t>
    </section>

    <section anchor="iana-considerations" numbered="true" toc="default">
      <name>IANA Considerations</name>

      <t>This document does not require any IANA actions.</t>
    </section>

    <section anchor="conclusion" numbered="true" toc="default">
      <name>Conclusion</name>

      <t>This document describes an emerging gap in current agent registration
      and discovery systems caused by internal multi-model routing within
      modern agent architectures. It identifies the need for execution-aware
      representation of agent behavior to enable accurate discovery and
      QoS-aware service selection in future AI-native networks.</t>

      <t>The design goals, protocol overview, and extension mechanisms defined
      in this document provide a foundation for addressing this gap while
      maintaining backward compatibility with existing systems.</t>
    </section>
  </middle>

  <back>
    <references>
      <name>Normative References</name>

      <reference anchor="RFC2119">
        <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"/>
        </front>

        <seriesInfo name="BCP" value="14"/>

        <seriesInfo name="RFC" value="2119"/>

        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>

      <reference anchor="RFC8174">
        <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"/>
        </front>

        <seriesInfo name="BCP" value="14"/>

        <seriesInfo name="RFC" value="8174"/>

        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>
    </references>

    <references>
      <name>Informative References</name>
    </references>
  </back>
</rfc>
