はじめに
AgentNetworkProtocol(略してANP)は、GitHubでホストされているオープンソースのプロトコルプロジェクトであり、インテリジェントエージェント(AIエージェント)のための安全で効率的な通信ソリューションを提供することに焦点を当てています。ANPは、W3C DID標準に基づく分散型認証を実現し、エンドツーエンドの暗号化通信をサポートし、メタプロトコルを通じてエージェント間の自律的なネゴシエーションを実現します。目標は、何十億ものインテリジェントエージェントをサポートするオープンなコラボレーションネットワークを構築することである。MITライセンスのもと、Gaowei Changによって始められたこのプロジェクトは、プロトコルの設計と実装を進めており、将来的には国際標準になる予定である。
機能一覧
- 分散型アイデンティティ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テクニカル・ホワイトペーパー.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ファイルを確認することをお勧めします。
- 実行例ディレクトリに移動し、ドキュメントに従ってコードを実行する。例
ノード example.js
これでプロキシ通信の単純なインスタンスが開始される。
3.主要機能の動作フロー
以下は、開発環境が整っていることを前提とした、ANPのコア機能の詳細なウォークスルーです:
(1) 分散型認証の設定
- DIDの生成をベースにしている。
did:wbaさん
メソッドを使って分散型識別子を生成する: - DIDライブラリ(例えば
ディド・リゾルバ
)を使って一意な識別子を生成する。 - 例(擬似コード):
const did = await generateDID('wba'); console.log("DID: "); did); console.log("DID:", did);
- DIDファイルのアップロード生成されたDID文書をテストサーバーにアップロードする:
- パスを要求する:
https://agent-network-protocol.com/wba/user//did.json
- PUTリクエストの例:
PUT /wba/user/2i3dg4dtf908cde0/did.json HTTP/1.1 ホスト: agent-network-protocol.com コンテントタイプ:application/json {<}が含まれます。
- 成功すると、DIDは
did:wba:agent-network-protocol.com:wba:user:2i3dg4dtf908cde0
. - 身元を確認するテストインターフェイスで検証:
- リクエスト
https://agent-network-protocol.com/wba/test
- サインを持ち歩く
GET /wba/test HTTP/1.1 ホスト: agent-network-protocol.com 認証: DID did:wba:agent-network-protocol.com:wba:user:2i3dg4dtf908cde0 Nonce Timestamp 検証方法 署名 <base64url 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"、 "protocols": ["REST"]. }
- ディスカバリー・エージェントディスカバリープロトコルで問い合わせる:
- リクエスト
https://agent-network-protocol.com/wba/discovery
- 一致するエージェントのリストを返す。
- リクエスト
4.テストと開発
- テストインターフェイスの使用アクセス
https://agent-network-protocol.com/wba/demo/generate
DIDと鍵のペアを生成する:GET /wba/demo/generate HTTP/1.1 ホスト: agent-network-protocol.com
戻る:
{ "did_document":"", "private_key":"", "private_key". "private_key": "" }
- PRの提出をベースにしている。
CONTRIBUTING.md
コードを投稿する。 - サポートメール
chgaowei@gmail.com
または、Discord (https://discord.gg/sFjBKTY7sB
).
5.注意事項
- プロジェクトは開発段階にあり、いくつかの機能(メッセージ・ブローカー・サービスなど)はまだ完成していない。
- テストサーバーの制限:1IPあたり最大50ファイルのアップロード。
- 最新の進捗状況はGitHubのアップデートをフォローしてください。
これらの手順を踏むことで、ANPの機能を十分に体験し、その発展に参加することができます。