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.
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 navegador
https://github.com/agent-network-protocol/AgentNetworkProtocol
para 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 em
did:wba
para gerar identificadores descentralizados: - Usando as bibliotecas DID (como
did-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.
- Solicitação:
4. teste e desenvolvimento
- Uso da interface de teste: Acesso
https://agent-network-protocol.com/wba/demo/generate
Gerar 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 em
CONTRIBUTING.md
Código de contribuição. - Suporte de contato: Correio
chgaowei@gmail.com
Ou 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.