ANP: 지능형 에이전트 간의 안전하고 효율적인 통신을 위한 오픈 소스 프로토콜

최신 AI 리소스5개월 전에 게시 됨 AI 공유 서클
2.1K 00

일반 소개

에이전트네트워크프로토콜(줄여서 ANP)은 지능형 에이전트(AI 에이전트)를 위한 안전하고 효율적인 커뮤니케이션 솔루션을 제공하는 데 중점을 둔 오픈 소스 프로토콜 프로젝트로, GitHub에서 호스팅됩니다. 신원 및 암호화된 통신 계층, 메타 프로토콜 계층, 애플리케이션 프로토콜 계층의 3계층 아키텍처를 통해 에이전트 네트워크의 상호 연결, 지역화된 인터페이스, 효율적인 협업 문제를 해결하며, ANP는 수십억 개의 지능형 에이전트를 지원하는 네트워크 구축을 목표로 W3C DID 표준을 기반으로 탈중앙화된 인증을 달성하고, 엔드투엔드 암호화된 통신을 지원하며 메타 프로토콜을 통해 에이전트 간의 자율적인 협상을 실현하고 있습니다. 목표는 수십억 개의 지능형 에이전트를 지원하는 개방형 협업 네트워크를 구축하는 것입니다. 가오웨이 창이 MIT 라이선스 하에 시작한 이 프로젝트는 프로토콜 설계와 구현을 발전시키고 있으며, 향후 국제 표준이 될 예정입니다.

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

 

기능 목록

  • 탈중앙화된 신원 확인W3C DID 사양에 기반하여 중앙 집중식 시스템에 의존하지 않고 크로스 플랫폼 프록시 인증을 지원합니다.
  • 엔드투엔드 암호화 통신ECDHE 프로토콜은 통신 내용이 양 당사자만 해독하고 중간 노드에는 표시되지 않도록 하는 데 사용됩니다.
  • 달러 계약 협상통신 프로토콜의 자연어 협상을 통해 에이전트의 자체 구성 및 동적 적응을 지원합니다.
  • 상담원 기능에 대한 설명시맨틱 웹 표준을 기반으로 에이전트 기능 및 지원 프로토콜을 정의하여 데이터 교환을 용이하게 합니다.
  • 상담원 검색 메커니즘상담원이 다른 상담원을 찾고 연결하는 데 도움이 되는 프로토콜을 제공합니다.
  • 오픈 소스 지원개발자 통합 및 테스트를 위해 에이전트커넥트를 통해 프로토콜 기능을 구현합니다.

 

도움말 사용

설치 및 사용 방법

에이전트네트워크프로토콜(ANP)은 현재 오픈 소스 프로토콜 프로젝트로, 주로 문서와 코드 형태로 제공되며 아직 독립형 애플리케이션은 출시되지 않았습니다. 다음은 사용법에 대한 자세한 가이드입니다:

1. 프로젝트 리소스에 액세스

  • GitHub 리포지토리에 액세스하기브라우저에 입력https://github.com/agent-network-protocol/AgentNetworkProtocol를 클릭하여 프로젝트 홈페이지로 이동합니다.
  • 코드 복제개발자는 Git 명령을 통해 얻을 수 있습니다:
git clone https://github.com/agent-network-protocol/AgentNetworkProtocol.git

완료되면 모든 문서와 코드를 갖게 됩니다.

  • 문서 읽기설치하지 않고 README.md를 보거나 기술 백서(01-AgentNetworkProtocol Technical White Paper.md).

2. 에이전트 연결 구현 살펴보기

ANP의 오픈 소스 구현은 다음 링크에서 찾을 수 있습니다.https://github.com/agent-network-protocol/AgentConnect::

  • 에이전트 연결 복제::
git clone https://github.com/agent-network-protocol/AgentConnect.git
  • 환경 준비필요한 런타임 환경(예: Node.js 또는 Python, 종속성은 문서에 명시되어 있음)을 설치합니다. AgentConnect의 README 파일을 확인하는 것이 좋습니다.
  • 실행 예제디렉토리로 이동하여 문서에 설명된 대로 코드를 실행합니다. 예시:
node example.js

이렇게 하면 간단한 프록시 통신 인스턴스가 시작됩니다.

3. 주요 기능의 작동 흐름

다음은 개발 환경이 준비되어 있다는 가정 하에 핵심 ANP 기능에 대한 자세한 안내입니다:

(1) 탈중앙화 인증 구성하기
  • DID 생성기준did:wba메서드를 사용하여 분산화된 식별자를 생성합니다:
  • DID 라이브러리 사용(예did-resolver)를 사용하여 고유 식별자를 생성합니다.
  • 예시(의사 코드):
    const did = await generateDID('wba');
    console.log("DID:", did);
    
  • DID 파일 업로드하기생성된 DID 문서를 테스트 서버에 업로드합니다:
  • 요청 경로:https://agent-network-protocol.com/wba/user/<16位随机ID>/did.json
  • PUT 요청 예시:
    PUT /wba/user/2i3dg4dtf908cde0/did.json HTTP/1.1
    Host: agent-network-protocol.com
    Content-Type: application/json
    {<DID_document_json>}
    
  • 성공 시 DID는 다음과 같습니다.did:wba:agent-network-protocol.com:wba:user:2i3dg4dtf908cde0.
  • SB의 신원 확인테스트 인터페이스를 통해 검증되었습니다:
  • 요청:https://agent-network-protocol.com/wba/test
  • 서명을 휴대합니다:
    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签名>
    
  • 후속 요청에 사용할 토큰을 반환합니다.
(2) 엔드투엔드 암호화 통신 활성화
  • 주요 협상DID 공개-개인 키 쌍 기반, ECDHE 프로토콜 사용:
  • 에이전트 A는 키 쌍을 생성하여 에이전트 B에게 공개 키를 보냅니다.
  • 에이전트 B가 공개 키를 사용하여 응답하면 양 당사자가 공유 키를 계산합니다.
  • 예시(의사 코드):
    const sharedKey = negotiateECDHKey(agentBPublicKey, agentAPrivateKey);
    
  • 암호화된 메시지 보내기::
  • 메시지를 암호화하여 전송합니다:
    const message = "Hello, Agent B!";
    const encrypted = encrypt(message, sharedKey);
    sendToAgentB(encrypted);
    
  • 에이전트 B는 공유 키로 암호를 해독합니다.
(3) 메타 프로토콜을 사용한 커뮤니케이션 협상
  • 자문 프로세스에이전트 A가 메타 프로토콜 요청을 보냅니다:
  • 요청 예시(자연어 설명):
    {
    "request": "需要数据分析服务",
    "protocols": ["JSON-RPC", "REST"],
    "input": "JSON格式数据",
    "output": "分析结果"
    }
    
  • 상담 프로세스상담원 B가 지원되는 합의에 응답하고 결국 합의에 도달합니다.
  • 코드 생성예를 들어 양 당사자가 프로토콜 처리 코드를 생성하고 배포합니다:
const protocolCode = generateProtocolCode("REST");
deployProtocol(protocolCode);
(4) 에이전트 설명 및 검색
  • 상담원 설명: JSON-LD 형식의 설명 파일을 만듭니다:
    {
    "agentId": "did:wba:agent-network-protocol.com:wba:user:2i3dg4dtf908cde0",
    "capabilities": ["data-analysis"],
    "protocols": ["REST"]
    }
    
  • 검색 에이전트검색 프로토콜을 통한 쿼리:
    • 요청:https://agent-network-protocol.com/wba/discovery
    • 일치하는 상담원 목록을 반환합니다.

4. 테스트 및 개발

  • 테스트 인터페이스 사용액세스https://agent-network-protocol.com/wba/demo/generateDID 및 키 쌍을 생성합니다:
    GET /wba/demo/generate HTTP/1.1
    Host: agent-network-protocol.com
    

    반환:

    {
    "did_document": "<DID文档>",
    "private_key": "<私钥>"
    }
    
  • PR 제출기준CONTRIBUTING.md코드 기여하기.
  • 지원팀에 문의: 메일chgaowei@gmail.com또는 Discord에 가입(https://discord.gg/sFjBKTY7sB).

5. 주의 사항

  • 이 프로젝트는 개발 단계에 있으며 일부 기능(예: 메시지 브로커 서비스)은 아직 완성되지 않았습니다.
  • 테스트 서버 제한: IP당 최대 50개의 파일을 업로드할 수 있습니다.
  • 최신 진행 상황을 확인하려면 GitHub 업데이트를 팔로우하세요.

다음 단계에 따라 ANP의 기능을 충분히 경험하고 개발에 참여할 수 있습니다.

© 저작권 정책

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...