Microsoft Agent Framework has announced the general availability of declarative workflows at version 1.0. This release spans both the Python and .NET SDKs, with the agent-framework-declarative package for Python now at version 1.0.0 and the .NET Microsoft.Agents.AI.Workflows.Declarative package already stable.
Declarative workflows allow the orchestration of multi-agent applications to be defined in YAML rather than being hard-coded. This approach aims to make the sequence of steps, branching, and handoffs between agents more explicit and easier to manage.
Key Points
- Declarative workflows are now available at version 1.0 for both Python and .NET SDKs within the Microsoft Agent Framework.
- Orchestration logic, including agent coordination, state changes, branching, and human intervention points, can be defined in YAML.
- This method allows workflows to be reviewed and versioned like configuration files.
- The Agent Framework loads YAML definitions into standard workflow instances that can be run, streamed, and composed with code.
- Python users can install the
agent-framework-declarativepackage, and .NET users can add theMicrosoft.Agents.AI.Workflows.Declarativepackage. - Capabilities include state and expressions using Power Fx, control flow with conditions, loops, and jumps, agent invocation, and human-in-the-loop pauses.
- Workflows can persist state and resume execution later, supporting checkpoint and resume functionality.
Context
According to Microsoft, most multi-agent applications typically embed the entire flow, including the sequence of steps, branching logic, and agent handoffs, directly within application code. This can complicate the review, versioning, and modification of orchestration logic. Declarative workflows address this by externalizing the orchestration definition into YAML files. The framework then loads these definitions, allowing them to execute as standard workflows.
Why It Matters
This release offers builders a method to manage complex multi-agent orchestrations more systematically. By defining workflows in YAML, developers can separate orchestration logic from application code, potentially improving maintainability, collaboration, and version control for agent-based systems.
What To Do
- Review the provided YAML example for a
support_routerworkflow to understand its structure. - Explore the Python and .NET code snippets demonstrating how to load YAML definitions into workflow instances.
- Compare the declarative approach with code-first workflow implementations for a specific orchestration task.
- Examine the runnable samples for capabilities such as state management, control flow, and human-in-the-loop interactions.