ANP: un protocolo de código abierto para la comunicación segura y eficiente entre agentes inteligentes

Introducción general

AgentNetworkProtocol (ANP para abreviar) es un proyecto de protocolo de código abierto, alojado en GitHub, centrado en proporcionar soluciones de comunicación seguras y eficientes para agentes inteligentes (AI Agents). Resuelve los problemas de interconexión, interfaces localizadas y colaboración eficiente de las redes de agentes a través de una arquitectura de tres capas: capa de identidad y comunicación cifrada, capa de metaprotocolo y capa de protocolo de aplicación.ANP consigue una autenticación descentralizada basada en el estándar DID del W3C, soporta la comunicación cifrada de extremo a extremo y consigue la negociación autónoma entre agentes a través de metaprotocolos, con el objetivo de construir una red que soporte miles de millones de agentes inteligentes. El objetivo es construir una red de colaboración abierta que soporte miles de millones de agentes inteligentes. Iniciado por Gaowei Chang bajo licencia del MIT, el proyecto avanza en el diseño e implementación del protocolo, y está previsto que se convierta en un estándar internacional en el futuro.

ANP:实现智能代理间安全高效通信的开源协议

 

Lista de funciones

  • Identidad descentralizada: Basado en la especificación DID del W3C, admite la autenticación proxy multiplataforma sin depender de un sistema centralizado.
  • Comunicaciones cifradas de extremo a extremoEl protocolo ECDHE se utiliza para garantizar que el contenido de la comunicación sólo es descifrado por ambas partes y no es visible para los nodos intermedios.
  • Negociación de acuerdos en dólaresAutoorganización y adaptación dinámica de los agentes de apoyo mediante la negociación en lenguaje natural de protocolos de comunicación.
  • Descripción de las capacidades del agente: Definir las funciones de los agentes y los protocolos compatibles basados en las normas de la web semántica para facilitar el intercambio de datos.
  • Mecanismo de descubrimiento de agentes: Proporciona protocolos para ayudar a los agentes a localizar y conectarse con otros agentes.
  • Soporte de código abiertoImplementación de la funcionalidad de protocolo a través de AgentConnect para la integración y prueba por parte de los desarrolladores.

 

Utilizar la ayuda

Cómo instalar y utilizar

AgentNetworkProtocol (ANP) es actualmente un proyecto de protocolo de código abierto, disponible principalmente en forma de documentación y código, sin que se hayan publicado aún aplicaciones independientes. A continuación se ofrece una guía detallada para su uso:

1. Acceso a los recursos del proyecto

  • Acceso a los repositorios de GitHubEscriba en su navegadorhttps://github.com/agent-network-protocol/AgentNetworkProtocolpara ir a la página de inicio del proyecto.
  • Clonación de código: Los desarrolladores pueden obtenerlo mediante el comando Git:
git clone https://github.com/agent-network-protocol/AgentNetworkProtocol.git

Cuando termines, tendrás toda la documentación y el código.

  • Leer el documento: Consulte el archivo README.md sin instalación, o consulte el libro blanco técnico (01-AgentNetworkProtocol Technical White Paper.md).

2. Explorar las implementaciones de AgentConnect

La implementación de código abierto de ANP se encuentra enhttps://github.com/agent-network-protocol/AgentConnect::

  • Clonar AgentConnect::
git clone https://github.com/agent-network-protocol/AgentConnect.git
  • Preparación medioambientalInstale el entorno de ejecución necesario (por ejemplo, Node.js o Python, dependencias que se aclararán en la documentación). Se recomienda consultar el archivo README de AgentConnect.
  • ejemplo de funcionamiento: Vaya al directorio y ejecute el código tal y como se documenta. Ejemplo:
node example.js

Esto iniciará una instancia simple de comunicación proxy.

3. Flujo operativo de las funciones principales

A continuación se ofrece un recorrido detallado por las principales funciones de ANP, suponiendo que se dispone de un entorno de desarrollo:

(1) Configuración de la autenticación descentralizada
  • Generar DID: Basado endid:wbapara generar identificadores descentralizados:
  • Utilizando una biblioteca DID (comodid-resolver) para generar un identificador único.
  • Ejemplo (pseudocódigo):
    const did = await generateDID('wba');
    console.log("DID:", did);
    
  • Cargar un archivo DIDCarga el documento DID generado en el servidor de prueba:
  • Ruta de solicitud:https://agent-network-protocol.com/wba/user/<16位随机ID>/did.json
  • Ejemplo de solicitud PUT:
    PUT /wba/user/2i3dg4dtf908cde0/did.json HTTP/1.1
    Host: agent-network-protocol.com
    Content-Type: application/json
    {<DID_document_json>}
    
  • Si tiene éxito, el DID esdid:wba:agent-network-protocol.com:wba:user:2i3dg4dtf908cde0.
  • verificar la identidad de algn.: Validado a través de una interfaz de prueba:
  • Petición:https://agent-network-protocol.com/wba/test
  • Llevar una firma:
    GET /wba/test HTTP/1.1
    Host: agent-network-protocol.com
    Authorization: DID did:wba:agent-network-protocol.com:wba:user:2i3dg4dtf908cde0 Nonce <abc123> Timestamp <2025-03-10T12:00:00Z> VerificationMethod <key-1> Signature <base64url签名>
    
  • Devuelve un token que se utilizará para solicitudes posteriores.
(2) Comunicaciones cifradas de extremo a extremo
  • negociación claveBasado en pares de claves públicas y privadas DID, utilizando el protocolo ECDHE:
  • El Agente A genera un par de claves y envía la clave pública al Agente B.
  • El agente B responde con la clave pública y ambas partes calculan la clave compartida.
  • Ejemplo (pseudocódigo):
    const sharedKey = negotiateECDHKey(agentBPublicKey, agentAPrivateKey);
    
  • Enviar mensaje cifrado::
  • Cifra el mensaje y envíalo:
    const message = "Hello, Agent B!";
    const encrypted = encrypt(message, sharedKey);
    sendToAgentB(encrypted);
    
  • El agente B descifra con una clave compartida.
(3) Negociación de comunicaciones mediante metaprotocolos
  • proceso consultivoAgente A envía una solicitud de meta-protocolo:
  • Ejemplo de solicitud (descripción en lenguaje natural):
    {
    "request": "需要数据分析服务",
    "protocols": ["JSON-RPC", "REST"],
    "input": "JSON格式数据",
    "output": "分析结果"
    }
    
  • proceso de consultaAgente B: El agente B responde al acuerdo apoyado y finalmente llega a un acuerdo.
  • Generar códigoAmbas partes generan código de procesamiento de protocolos y lo despliegan, por ejemplo:
const protocolCode = generateProtocolCode("REST");
deployProtocol(protocolCode);
(4) Descripción y descubrimiento de agentes
  • Descripción del agente: Crea un archivo de descripción en formato JSON-LD:
    {
    "agentId": "did:wba:agent-network-protocol.com:wba:user:2i3dg4dtf908cde0",
    "capabilities": ["data-analysis"],
    "protocols": ["REST"]
    }
    
  • Agente de DescubrimientoConsulta a través del protocolo de detección:
    • Petición:https://agent-network-protocol.com/wba/discovery
    • Devuelve una lista de agentes coincidentes.

4. Pruebas y desarrollo

  • Uso de la interfaz de prueba: Accesohttps://agent-network-protocol.com/wba/demo/generateGenerar DID y pares de claves:
    GET /wba/demo/generate HTTP/1.1
    Host: agent-network-protocol.com
    

    Vuelve:

    {
    "did_document": "<DID文档>",
    "private_key": "<私钥>"
    }
    
  • Presentación de PR: Basado enCONTRIBUTING.mdContribuir código.
  • Contacto: Correochgaowei@gmail.comO únete a Discord (https://discord.gg/sFjBKTY7sB).

5. Precauciones

  • El proyecto está en fase de desarrollo y algunas de sus características (por ejemplo, el servicio de intermediación de mensajes) aún no se han perfeccionado.
  • Límite del servidor de prueba: Máximo 50 archivos cargados por IP.
  • Siga las actualizaciones de GitHub para conocer los últimos avances.

Siguiendo estos pasos, podrá experimentar plenamente la funcionalidad de ANP y participar en su desarrollo.

© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...