Aprendizagem pessoal com IA
e orientação prática
Espelho de desenho CyberKnife

ANP: um protocolo de código aberto para comunicação segura e eficiente entre agentes inteligentes

Introdução geral

O AgentNetworkProtocol (ANP) é um projeto de protocolo de código aberto, hospedado no GitHub, voltado para o fornecimento de soluções de comunicação seguras e eficientes para agentes inteligentes (AI Agents). O ANP resolve os problemas de interconexão, interfaces localizadas e colaboração eficiente de redes de agentes por meio de uma arquitetura de três camadas: camada de identidade e comunicação criptografada, camada de metaprotocolo e camada de protocolo de aplicativo. O ANP obtém autenticação descentralizada com base no padrão DID do W3C, oferece suporte à comunicação criptografada de ponta a ponta e obtém negociação autônoma entre agentes por meio de metaprotocolos, com o objetivo de criar uma rede que suporte bilhões de agentes inteligentes. O objetivo é criar uma rede de colaboração aberta que suporte bilhões de agentes inteligentes. Iniciado por Gaowei Chang sob a licença do MIT, o projeto está avançando no design e na implementação do protocolo, e está planejado para se tornar um padrão internacional no futuro.

ANP: um protocolo de código aberto para comunicação segura e eficiente entre agentes inteligentes-1


 

Lista de funções

  • Identidade descentralizadaBaseado na especificação DID do W3C, ele oferece suporte à autenticação de proxy entre plataformas sem depender de um sistema centralizado.
  • Comunicações criptografadas de ponta a pontaProtocolo ECDHE: O protocolo ECDHE é usado para garantir que o conteúdo da comunicação seja descriptografado somente por ambas as partes e não seja visível para os nós intermediários.
  • Negociação de acordos em dólarSuporte à auto-organização do agente e à adaptação dinâmica por meio da negociação de protocolos de comunicação em linguagem natural.
  • Descrição dos recursos do agenteDefinir funções de agente e protocolos compatíveis com base em padrões da Web semântica para facilitar o intercâmbio de dados.
  • Mecanismo de descoberta de agentesProtocolo de localização: fornece protocolos para ajudar os agentes a localizar e se conectar a outros agentes.
  • Suporte a código abertoImplementar a funcionalidade do protocolo por meio do AgentConnect para integração e teste do desenvolvedor.

 

Usando a Ajuda

Como instalar e usar

O AgentNetworkProtocol (ANP) é atualmente um projeto de protocolo de código aberto, disponível principalmente em forma de documentação e código, sem aplicativos independentes ainda lançados. A seguir, um guia detalhado de seu uso:

1. acesso aos recursos do projeto

  • Acesso aos repositórios do GitHubDigite em seu navegadorhttps://github.com/agent-network-protocol/AgentNetworkProtocolpara acessar a página inicial do projeto.
  • Código de clonagemOs desenvolvedores podem obtê-lo por meio do comando Git:
git clone https://github.com/agent-network-protocol/AgentNetworkProtocol.git

Quando terminar, você terá toda a documentação e o código.

  • Leia o documentoConsulte o README.md sem a instalação ou consulte o white paper técnico (01-AgentNetworkProtocol Technical White Paper.md).

2) Explore as implementações do AgentConnect

A implementação de código aberto do ANP está localizada emhttps://github.com/agent-network-protocol/AgentConnect::

  • Clonar o AgentConnect::
git clone https://github.com/agent-network-protocol/AgentConnect.git
  • Preparação ambientalInstale o ambiente de tempo de execução necessário (por exemplo, Node.js ou Python, dependências a serem esclarecidas na documentação). Recomenda-se verificar o arquivo README do AgentConnect.
  • exemplo de execuçãoCódigo de execução: Vá para o diretório e execute o código conforme documentado. Exemplo:
node example.js

Isso iniciará uma instância simples de comunicação proxy.

3. fluxo de operação das principais funções

A seguir, apresentamos um passo a passo detalhado da funcionalidade principal do ANP, supondo que você tenha um ambiente de desenvolvimento pronto:

(1) Configuração da autenticação descentralizada
  • Gerar DIDBaseado emdid:wbapara gerar identificadores descentralizados:
  • Usando as bibliotecas DID (comodid-resolver) para gerar um identificador exclusivo.
  • Exemplo (pseudocódigo):
    const did = await generateDID('wba');
    console.log("DID:", did);
    
  • Carregamento de um arquivo DIDCarregar o documento DID gerado no servidor de teste:
  • Caminho da solicitação:https://agent-network-protocol.com/wba/user/<16位随机ID>/did.json
  • Exemplo de solicitação PUT:
    PUT /wba/user/2i3dg4dtf908cde0/did.json HTTP/1.1
    Host: agent-network-protocol.com
    Content-Type: application/json
    {<DID_document_json>}
    
  • Em caso de sucesso, o DID édid:wba:agent-network-protocol.com:wba:user:2i3dg4dtf908cde0.
  • verificar a identidade de alguémValidado por meio de uma interface de teste:
  • Solicitação:https://agent-network-protocol.com/wba/test
  • Leve uma assinatura:
    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签名>
    
  • Retorna um token a ser usado em solicitações subsequentes.
(2) Possibilitar comunicações criptografadas de ponta a ponta
  • negociação-chaveBaseado em pares de chaves públicas e privadas DID, usando o protocolo ECDHE:
  • O Agente A gera um par de chaves e envia a chave pública para o Agente B.
  • O agente B responde com a chave pública e ambas as partes calculam a chave compartilhada.
  • Exemplo (pseudocódigo):
    const sharedKey = negotiateECDHKey(agentBPublicKey, agentAPrivateKey);
    
  • Enviar mensagem criptografada::
  • Criptografe a mensagem e envie-a:
    const message = "Hello, Agent B!";
    const encrypted = encrypt(message, sharedKey);
    sendToAgentB(encrypted);
    
  • O agente B descriptografa com uma chave compartilhada.
(3) Negociação de comunicações usando metaprotocolos
  • processo consultivoAgente A envia uma solicitação de metaprotocolo:
  • Exemplo de solicitação (descrição em linguagem natural):
    {
    "request": "需要数据分析服务",
    "protocols": ["JSON-RPC", "REST"],
    "input": "JSON格式数据",
    "output": "分析结果"
    }
    
  • processo de consultaAgente B: o agente B responde ao acordo apoiado e, por fim, chega a um acordo.
  • Gerar códigoCódigo de processamento de protocolo: ambas as partes geram código de processamento de protocolo e o implementam, por exemplo:
const protocolCode = generateProtocolCode("REST");
deployProtocol(protocolCode);
(4) Descrição e descoberta do agente
  • Descrição do agenteCrie um arquivo de descrição no formato JSON-LD:
    {
    "agentId": "did:wba:agent-network-protocol.com:wba:user:2i3dg4dtf908cde0",
    "capabilities": ["data-analysis"],
    "protocols": ["REST"]
    }
    
  • Agente de descobertaConsulta via protocolo de descoberta:
    • Solicitação:https://agent-network-protocol.com/wba/discovery
    • Retorna uma lista de agentes correspondentes.

4. teste e desenvolvimento

  • Uso da interface de teste: Acessohttps://agent-network-protocol.com/wba/demo/generateGerar DID e pares de chaves:
    GET /wba/demo/generate HTTP/1.1
    Host: agent-network-protocol.com
    

    Retorno:

    {
    "did_document": "<DID文档>",
    "private_key": "<私钥>"
    }
    
  • Envio de RPBaseado emCONTRIBUTING.mdCódigo de contribuição.
  • Suporte de contato: Correiochgaowei@gmail.comOu entre no Discord (https://discord.gg/sFjBKTY7sB).

5 Cuidados

  • O projeto está em fase de desenvolvimento e alguns dos recursos (por exemplo, o serviço de corretor de mensagens) ainda não foram concluídos.
  • Limite do servidor de teste: máximo de 50 arquivos carregados por IP.
  • Siga as atualizações do GitHub para obter o progresso mais recente.

Seguindo essas etapas, você poderá experimentar plenamente a funcionalidade da ANP e participar de seu desenvolvimento.

Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " ANP: um protocolo de código aberto para comunicação segura e eficiente entre agentes inteligentes
pt_BRPortuguês do Brasil