kyegomez/swarms

[feat][agent_rearrange][per-node retry and fallback]

Closed

#1556 aperta il 21 apr 2026

Vedi su GitHub
 (2 commenti) (0 reazioni) (0 assegnatari)Python (948 fork)github user discovery
FEATenhancementgood first issue

Metriche repository

Star
 (6809 star)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

Problem

AgentRearrange retries and fallbacks are global — you can't express "retry B three times, and if it still fails, route to C" in the flow itself. Error handling has to live in the caller's try/except, which breaks the declarative model.

Proposed feature

Annotate individual nodes in the flow string with retry and fallback directives:

"A -> B!3 -> C"               # B retries up to 3 times
"A -> B!3>D -> C"             # B retries 3 times, then falls back to D
"A -> B?D -> C"               # B on error routes to D

Design sketch

  • Extend the flow parser to recognize !N (retry count) and >X or ?X (fallback agent).
  • Each node becomes a small state machine: attempt, on exception retry or fallback or raise.
  • Fallback agents are resolved from the same agents list; unknown names fail at parse time.

Files

  • swarms/structs/agent_rearrange.py

Why

Puts error handling where it belongs — next to the node that can fail — instead of in every caller.

Guida contributor