エージェントインターフェース(Agent-to-Agent)
あなたのビジネスエージェントを他のエージェントに公開します。顧客のAIアシスタントが、MCP と A2A を通じてそれを発見し、相談し、構造化され事前入力されたリクエストを送信できます——取り返しのつかないことはすべて人間が確認します。
エージェントインターフェースは、あなたのエージェントを、チャットの人だけでなく、顧客の AIアシスタントからも、マシン対マシンで到達可能にします。アシスタントは根拠付きの質問をし、 構造化され事前入力されたリクエストを送信できます。あなたの側は前処理を行い、人間が確認するための要約を返します。オープンなエージェント標準——MCP(ツール)と A2A(エージェントカード)——の上に構築されているため、独自に実装するプロトコルはありません。
やり取りの形
発見と接続
2つの層があり、その違いはアシスタントに何が許可されているかです。
読み取り層——自動発見、セットアップ不要
アシスタントは標準アドレスであなたのエージェントのカードを見つけ、すぐに開始できます。
https://<your-domain>/.well-known/agent.json—— A2A エージェントカード(ホワイトラベルドメイン、またはあなたの agent4.io URL)。- ページ内——
<link rel="agent" href="…">タグとwindow.agent4。これにより、すでにあなたのサイトにいるブラウザベースのアシスタントは、余分なホップなしでそれを見つけます。
読み取り層は公開されており安全です——根拠付きの回答、受付コントラクト、ステータス照会のみです。 個人データはなく、リクエストの送信もありません。
書き込み層——一度きりのペアリング
誰かの代理でリクエストを送信するには、アシスタントはその本人と一度ペアリングされなければなりません。
- 顧客があなたのチャットまたはウィジェットで 「あなたのAIアシスタントで使う」 をタップします。
- 貼り付けるテキストの塊ではなく、使い捨てコード(およびコピー可能なリンク、QRコード、ディープリンク)を受け取ります。
- アシスタントはコードをスコープ付きトークンと交換(OAuth のデバイス/認可コード形式の交換)し、エージェントカード自体を読み取ります。
得られるトークンは、その認証された本人に紐づき、スコープ付き(このビジネス、この顧客、前処理のみ)で、 短命であり、顧客がいつでも取り消し可能です。それが、主張された身元を、来歴のあるものへと格上げするものです。
動詞
| Verb | 層 | 目的 |
|---|---|---|
get_capabilities | read | このエージェントが何を回答・実行できるか——そのサービスと境界 |
get_requirements(service) | read | 受付コントラクト——必須/任意フィールド、型、根拠付きポリシー |
ask(question) | read | 引用付きの根拠付き回答、または範囲外なら引き継ぎ |
status(reference) | read | 過去のリクエストの進捗 |
propose(service, payload) | write | 構造化されたリクエストを送信——ドラフト + 要約を返す |
handoff_to_human(reference?) | write | アシスタントが所有者へ戻す継続リンク |
受付コントラクト
get_requirements は摩擦を取り除く鍵です——アシスタントはあなたのフォーマットを推測する必要が一切ありません。サービスが必要とするフィールドと、それを取り巻く根拠付きポリシー(前金、リードタイム、キャンセル)を、あなたのエージェントのスキルから導出して返します——そのためアシスタントは知っていることを埋め、本当に欠けているものだけを所有者に尋ねます。
ドラフトモデル
propose は決して「完了」を返しません。その最も強い状態は tentative です——確認を待つ、準備されたリクエストであって、完了した取引ではありません。
needs_info—— 必須フィールドが欠けているか曖昧です。open_questionsを参照。tentative—— ドラフトとして受理され、確認待ちです。declined—— 受理できません(ポリシーまたは範囲外)。
人間が確認するまで、何も confirmed にはなりません。あなたのマーケティングと応答はこれを反映しなければなりません——tentative な予約はリクエストであって、確保されたテーブルではありません。
人への引き継ぎ
いつでもアシスタント(またはあなたのエージェント)は引き継ぎを要求できます。agent4.io はそのセッションにスコープを絞った継続リンクを発行します。顧客がそれを開き、完全なトランスクリプトを見て、人として続行します——確認される前にドラフトを修正またはキャンセルします。引き継ぎで行為者の帰属が切り替わるため、記録には常に誰が何を言ったかが示されます。
監査
すべてのやり取りは記録され、追記専用で、リクエストの参照に紐づきます——各インバウンドの主張(呼び出し元のアシスタントと、それがペアリングされている本人に帰属)、あなたが返した各応答、そして各ステップの行為者。データを送信するリクエストは決して匿名ではありません——それが、顧客のアシスタントをその顧客の認可された代理人として扱い、後から何が交換されたかを正確に証明できる理由です。
具体例
- 発見 —— アシスタントがあなたのエージェントカードを取得します。
- ペアリング —— 顧客が あなたのAIアシスタントで使う をタップし、アシスタントがコードをスコープ付きトークンと交換します。
get_requirements("reservation")—— 日時の範囲、人数、席、食事に関する注記、氏名、連絡先。加えてあなたの前金とキャンセルのポリシー。propose("reservation", …)→{ status: "tentative", summary, reference, open_questions: [] }。- 確認 —— アシスタントが所有者に要約を示し、確認されると、あなたのチーム(または空き状況チェック)が最終確定します。