a2aproject / a2aproject/A2A

[Feat]: Support publish/subscribe methods for async communications

Aperta
#1,029 26 commenti 15 reazioni 0 assegnatari Vedi su GitHub
triaged TSC Review
Lingua principale
Shell
Stelle
25.7k
Fork
2.6k
Merge medio
3g 6h
PR unite (30g)
16

Descrizione

### Is your feature request related to a problem? Please describe.

Current A2A RPC methods are point-to-point methods, which requires that the caller must know about the corresponding callee. However, In some scenarios, this kind of method will be difficult to apply:
1. as time goes on, the amount of agents is likely to increase drastically, and it will be difficult for agents to perceive all newly added agents and manage all these connections.
2. For stateful tasks, temporary network outages or service failures will lead to task failures or data loss.
3. In scenarios involving a large number of long-duration tasks, these methods may lead to performance bottlenecks for both the caller and the callee.

### Describe the solution you'd like

Add Support for publish/subscribe methods:
When an agent has a task that requires async processing and does not care about which specific agent actually handles it, the agent can publish the task via the publish method, and subscribe to the task processing result via the subscribe method, then handle the result when it is idle.
The publish and subscribe methods can be implemented through message queues.

### Describe alternatives you've considered

_No response_

### Additional context

_No response_

### Code of Conduct

- [x] I agree to follow this project's Code of Conduct

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

The issue proposes adding publish/subscribe methods using message queues for async agent communication. Start by examining the existing A2A RPC methods and agent communication patterns in the codebase. Look for any existing message queue integrations or similar async patterns. Understanding the protocol specification and agent lifecycle will be key. 'Done' means designing and implementing the new publish/subscribe methods that integrate with the existing system.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Ambito
api, backend, distributed-systems
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Tranquilla
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.