a2aproject / a2aproject/A2A

[Feat]: Add `Task` progress

Offen
#1,387 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
extension-proposal triaged
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

Beitragsleitfaden öffnen

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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.