[Feat]: Add `Task` progress
- Vorherrschende Sprache
- Shell
- Sterne
- 25.7k
- Forks
- 2.6k
- Ø Merge
- 3 T. 6 Std.
- Gemergte PRs (30 T.)
- 16
Beschreibung
### Is your feature request related to a problem? Please describe.
Right now there's no standard way of communicating `Task` progress with A2A, resulting in a bad user experience.
I have built typical, conversational agents with A2A. They accept text, have a number of tools they can call, return the results of the tool calls as `Artifact`s, and send intermediate messages the agent generates as `TaskStatusUpdateEvent`s.
However, because there's no standard way of communicating `Task` progress, my only option is to send `TaskStatusUpdateEvent`s.
The problem with `TaskStatusUpdateEvent`s is that:
1. They would interfere with the intermediate messages the agent generates. The first message might be "Sure, let me help you with that.", followed by "Tool Call X 1/100", "Tool Call X 2/100", "Tool Call X 3/100", ..., and finally "Here are the results I found".
2. Because they're typically text, there's no way of displaying them in a UI. I understand data could be sent, but without a standard the format will vary agent to agent.
This pattern is common enough that a standard would make sense.
### Describe the solution you'd like
Something like MCP Progress: https://modelcontextprotocol.io/specification/2025-03-26/basic/utilities/progress.
Because a `Task` can have multiple tool calls it might make sense to have a unique ID associated with each progress. An ideal solution would allow updates from multiple unique IDs at once for parallel tool calls.
### 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
Beitragsleitfaden
Rechercherichtung
Look at the A2A protocol specification for Task and TaskStatusUpdateEvent definitions. Examine the MCP Progress specification linked in the issue to understand the proposed model. The change likely involves extending the protocol's data structures and event types. Check existing agent implementations to see how they currently handle progress. 'Done' means the protocol spec is updated and a reference implementation or example shows the new progress reporting in use.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Bereich
- backend-api-design
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100