@@ -5,7 +5,7 @@ is often not enough. You will want to create specialized agents that can
55collaborate to solve a problem. The [ ** Agent2Agent (A2A) Protocol** ] ( https://a2a-protocol.org ) is the
66standard that allows these agents to communicate with each other.
77
8- ## When to Use A2A vs. Local Sub-Agents
8+ ## When to use A2A vs. local sub-agents
99
1010- ** Local Sub-Agents:** These are agents that run * within the same application
1111 process* as your main agent. They are like internal modules or libraries, used
@@ -27,7 +27,7 @@ Consider using **A2A** when:
2727- You want to enforce a ** strong, formal contract** (the A2A protocol) between
2828 your system's components.
2929
30- ### When to Use A2A: Concrete Examples
30+ ### When to use A2A: concrete examples
3131
3232- ** Integrating with a Third-Party Service:** Your main agent needs to get
3333 real-time stock prices from an external financial data provider. This
@@ -44,7 +44,7 @@ Consider using **A2A** when:
4444 contribute agents, and you need a strict contract for how these agents
4545 interact to ensure compatibility and stability.
4646
47- ### When NOT to Use A2A: Concrete Examples (Prefer Local Sub-Agents )
47+ ### When NOT to use A2A: concrete examples (prefer local sub-agents )
4848
4949- ** Internal Code Organization:** You are breaking down a complex task within a
5050 single agent into smaller, manageable functions or modules (e.g., a
@@ -61,14 +61,14 @@ Consider using **A2A** when:
6161 require independent deployment or complex state management, a simple function
6262 or class within the same agent is more appropriate than a separate A2A agent.
6363
64- ## The A2A Workflow in ADK: A Simplified View
64+ ## The A2A workflow in ADK: a simplified view
6565
6666Agent Development Kit (ADK) simplifies the process of building and connecting
6767agents using the A2A protocol. Here's a straightforward breakdown of how it
6868works:
6969
70701 . ** Making an Agent Accessible (Exposing):** You start with an existing ADK
71- agent that you want other agents to be able to interact with. The ADK
71+ agent that you want other agents to be able to interact with. ADK
7272 provides a simple way to "expose" this agent, turning it into an
7373 ** A2AServer** . This server acts as a public interface, allowing other agents
7474 to send requests to your agent over a network. Think of it like setting up a
@@ -83,15 +83,27 @@ works:
8383
8484From your perspective as a developer, once you've set up this connection,
8585interacting with the remote agent feels just like interacting with a local tool
86- or function. The ADK abstracts away the network layer, making distributed agent
86+ or function. ADK abstracts away the network layer, making distributed agent
8787systems as easy to work with as local ones.
8888
89- ## Visualizing the A2A Workflow
89+ ## Supported capabilities in A2A
90+
91+ ADK's A2A integration provides three core capabilities for complex agentic
92+ systems:
93+
94+ - ** Reasoning:** Preserves a model's reasoning/thought traces when messages pass
95+ between agents over A2A.
96+ - ** Long-Running Tools:** Tracks tool calls that run longer than a standard
97+ response, so long-running operations don't time out.
98+ - ** Artifacts:** Passes file artifacts (such as generated files) between agents
99+ over A2A.
100+
101+ ## Visualizing the A2A workflow
90102
91103To further clarify the A2A workflow, let's look at the "before and after" for
92104both exposing and consuming agents, and then the combined system.
93105
94- ### Exposing an Agent
106+ ### Exposing an agent
95107
96108** Before Exposing:**
97109Your agent code runs as a standalone component, but in this scenario, you want
@@ -128,7 +140,7 @@ accessible over a network to other remote agents.
128140+-----------------------------+
129141```
130142
131- ### Consuming an Agent
143+ ### Consuming an agent
132144
133145** Before Consuming:**
134146Your agent (referred to as the "Root Agent" in this context) is the application
@@ -160,7 +172,7 @@ remote agent.
160172 (Now talks to remote agent via RemoteA2aAgent)
161173```
162174
163- ### Final System (Combined View )
175+ ### Final system (combined view )
164176
165177This diagram shows how the consuming and exposing parts connect to form a
166178complete A2A system.
@@ -192,7 +204,7 @@ Exposing Side:
192204 +-------------------+
193205```
194206
195- ## Concrete Use Case: Customer Service and Product Catalog Agents
207+ ## Concrete use case: customer service and product catalog agents
196208
197209Let's consider a practical example: a ** Customer Service Agent** that needs to
198210retrieve product information from a separate ** Product Catalog Agent** .
@@ -248,7 +260,7 @@ Server. Then, the Customer Service Agent can simply call methods on the
248260communication to the Product Catalog Agent. This allows for clear separation of
249261concerns and easy integration of specialized agents.
250262
251- ## Next Steps
263+ ## Next steps
252264
253265Now that you understand the "why" of A2A, let's dive into the "how."
254266
0 commit comments