# Agent2Agent (A2A)

> VI: https://5ac.vn/wiki/a2a/ · EN: https://5ac.vn/en/wiki/a2a/ · lang: vi · spec_as_of 2026-10-18 (spec 1.0.0) · cluster C3

Chuẩn mở để các AI agent độc lập — khác framework, khác vendor — khám phá nhau, giao nhiệm vụ và trao đổi kết quả mà không lộ nội bộ bên trong.

---
## Định nghĩa

Agent2Agent (A2A) là chuẩn mở cho phép AI agent từ framework, vendor khác nhau khám phá nhau, giao nhiệm vụ và trao đổi kết quả mà không lộ bộ nhớ, công cụ hay logic nội bộ. Mỗi agent công bố endpoint kèm Agent Card mô tả khả năng; phía kia làm client gọi thao tác chuẩn qua HTTP.

## Cơ chế

Spec tự mô tả ba tầng: mô hình dữ liệu chuẩn định nghĩa bằng Protocol Buffers: `spec/a2a.proto` là định nghĩa duy nhất có tính chuẩn hóa cho mọi đối tượng dữ liệu; các thao tác trừu tượng độc lập binding; và binding cụ thể: JSON-RPC 2.0, gRPC, HTTP/REST — cùng ngữ nghĩa, ba cách gọi.

Các đối tượng lõi:

| Đối tượng | Vai trò theo spec |
| --- | --- |
| Agent Card | metadata JSON server công bố: danh tính, capabilities, skills, endpoint, yêu cầu xác thực |
| Message | một lượt trao đổi, có `role` (user hoặc agent), chứa một hoặc nhiều Part |
| Part | đơn vị nội dung nhỏ nhất: text, tham chiếu tệp, dữ liệu có cấu trúc |
| Task | đơn vị công việc có ID riêng, trạng thái tiến qua vòng đời xác định |
| Artifact | kết quả đầu ra của task, cấu tạo từ các Part |
| Context | định danh tùy chọn để nhóm các task và message liên quan |

Sáu thao tác nền: gửi message (nhận về Task theo dõi hoặc Message trả lời trực tiếp), gửi message có streaming, lấy task, liệt kê task, hủy task, lấy Agent Card. Async-first là cam kết thiết kế: task dài chạy nền và báo tiến triển qua streaming sự kiện hoặc push notification — server POST tới webhook do client khai báo. Task vào trạng thái chốt (completed, failed, canceled, rejected) không nhận thêm message.

A2A khác framework điều phối nội bộ ở opaque execution: cộng tác dựa trên khả năng khai báo, không chia sẻ kế hoạch hay công cụ. Trang chủ vạch ranh giới rõ: A2A không phải SDK như LangGraph, CrewAI, ADK; không phải protocol cho sub-agent nội bộ hay tool call; không phải app nhắn tin.

Luồng: Client agent → đọc Agent Card → Send Message → Task tiến triển (stream/push) → Artifact

## Neo chuẩn (spec anchor)

Trang specification ghi nguyên văn "Latest Released Version `1.0.0`", kèm bản trước: 0.3.0, 0.2.6, 0.1.0. Bản 1.0 đổi cách phân loại dữ liệu: tên field thành discriminator thay cho giá trị `kind`, `extendedAgentCard` dời vào object `capabilities`, kèm migration guidance. Về quản trị: Google khởi tạo, dự án đã donated cho Linux Foundation, license Apache 2.0, vận hành bởi Technical Steering Committee có đại diện AWS, Cisco, Google, IBM Research, Microsoft, Salesforce, SAP, ServiceNow.

Nguồn đã truy xuất để dựng entry này:

- <https://a2a-protocol.org/latest/specification/> — số hiệu 1.0.0, mô hình ba tầng, thao tác, đối tượng lõi — truy cập 18/10/2026
- <https://a2a-protocol.org/latest/> — "What A2A Is Not", "How A2A Works with MCP", Governance & Open Source — truy cập 18/10/2026
- <https://github.com/a2aproject/A2A> — README, trạng thái Linux Foundation, Apache 2.0 — truy cập 18/10/2026

## Neo học thuật

Hai paper ghim tiếp cận A2A từ phía an toàn: chỗ spec để ngỏ cho implementation. *Building A Secure Agentic AI Application Leveraging Google's A2A Protocol* (arXiv:2504.16902) áp khung MAESTRO để threat-model hóa quản lý Agent Card, tính toàn vẹn task execution và phương pháp xác thực, rồi khuyến nghị quy trình phát triển an toàn. *Improving Google A2A Protocol: Protecting Sensitive Data and Mitigating Unintended Harms in Multi-Agent Systems* (arXiv:2505.12490v3) chỉ bốn điểm yếu khi xử lý dữ liệu nhạy cảm (thời hạn token, thiếu xác thực khách hàng mạnh, phạm vi quá rộng, thiếu luồng consent) và đề xuất token ephemeral có phạm vi cùng kênh user-to-service trực tiếp. Ngoài spec, hai paper trả lời câu hỏi mà spec không trả lời: giao thức đúng rồi — giờ làm gì?

## Câu hỏi thường gặp

**A2A và MCP cạnh tranh nhau không?** Không — trang chủ A2A và phụ lục "Relationship to MCP" của spec đều mô tả hai bên bổ trợ: MCP chuẩn hóa agent kết nối công cụ, API, dữ liệu; A2A chuẩn hóa agent cộng tác ngang hàng. Client agent chạm remote tool bằng MCP, chạm remote agent bằng A2A. Vì vậy opacity không là hạn chế: hai bên cộng tác trên khả năng khai báo mà vẫn giữ kín internal state và logic proprietary.

**Agent hai bên viết bằng framework khác nhau có nói chuyện được không?** Đó là mục tiêu số một của spec — interoperability giữa các hệ agentic "potentially opaque" dựng bằng framework, ngôn ngữ, vendor khác nhau.

**Task chạy vài giờ thì giao tiếp thế nào?** Theo khuôn async-first: response đầu tiên có thể chỉ là Task object; tiến triển gửi về sau qua streaming sự kiện hoặc push notification tới webhook — cách nâng cả kịch bản human-in-the-loop mà không giữ kết nối mở.

**Ai đang quản trị A2A?** Linux Foundation — dự án do Google đóng góp, vận hành bởi Technical Steering Committee đa vendor (AWS, Cisco, Google, IBM Research, Microsoft, Salesforce, SAP, ServiceNow) theo Apache 2.0.

## Liên quan

- [Hệ thống điều hành multi-agent là gì](/blog/he-thong-dieu-hanh-multi-agent-la-gi/)
- [Control plane cho AI agents](/blog/control-plane-ai-agents-quan-tri-doanh-nghiep/)
- [Model Context Protocol (MCP) là gì](/wiki/mcp/)
- [llms.txt là gì](/wiki/llms-txt/)
