AIパーソナル・ラーニング
と実践的なガイダンス
ビーンバッグ・マースコード1

ANP: インテリジェントエージェント間の安全で効率的な通信のためのオープンソースプロトコル

はじめに

AgentNetworkProtocol(略してANP)は、GitHubでホストされているオープンソースのプロトコルプロジェクトであり、インテリジェントエージェント(AIエージェント)のための安全で効率的な通信ソリューションを提供することに焦点を当てています。ANPは、W3C DID標準に基づく分散型認証を実現し、エンドツーエンドの暗号化通信をサポートし、メタプロトコルを通じてエージェント間の自律的なネゴシエーションを実現します。目標は、何十億ものインテリジェントエージェントをサポートするオープンなコラボレーションネットワークを構築することである。MITライセンスのもと、Gaowei Changによって始められたこのプロジェクトは、プロトコルの設計と実装を進めており、将来的には国際標準になる予定である。

ANP: インテリジェントエージェント間の安全で効率的な通信のためのオープンソースプロトコル-1


 

機能一覧

  • 分散型アイデンティティW3C DID仕様に基づき、集中型システムに依存することなく、クロスプラットフォームのプロキシ認証をサポートします。
  • エンド・ツー・エンドの暗号化通信ECDHEプロトコルは、通信の内容が両者によってのみ復号化され、中間ノードからは見えないようにするために使用される。
  • ドル契約の交渉通信プロトコルの自然言語ネゴシエーションを通じて、エージェントの自己組織化と動的適応を支援する。
  • エージェント機能の説明データ交換を促進するために、セマンティックウェブ標準に基づいたエージェント機能とサポートされるプロトコルを定義します。
  • エージェント発見メカニズムエージェントが他のエージェントを見つけ、接続するためのプロトコルを提供する。
  • オープンソース・サポート開発者の統合とテストのためにAgentConnectを通してプロトコル機能を実装します。

 

ヘルプの使用

インストールと使用方法

AgentNetworkProtocol(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.AgentConnectの実装を探る

ANPのオープンソース実装は以下にある。https://github.com/agent-network-protocol/AgentConnect::

  • クローン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.
  • 身元を確認するテストインターフェイスで検証:
  • リクエスト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) エンド・ツー・エンドの暗号化通信の実現
  • キー・ネゴシエーションECDHE プロトコルを使用し、DID 公開鍵と秘密鍵のペアに基づく:
  • エージェント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.注意事項

  • プロジェクトは開発段階にあり、いくつかの機能(メッセージ・ブローカー・サービスなど)はまだ完成していない。
  • テストサーバーの制限:1IPあたり最大50ファイルのアップロード。
  • 最新の進捗状況はGitHubのアップデートをフォローしてください。

これらの手順を踏むことで、ANPの機能を十分に体験し、その発展に参加することができます。

無断転載を禁じます:チーフAIシェアリングサークル " ANP: インテリジェントエージェント間の安全で効率的な通信のためのオープンソースプロトコル
ja日本語