Skip to content

.NET: Inconsistent AIAgent hosting in WorkflowBuilder vs. specialized (Agent|Handoffs|GroupChat)WorkflowBuilder #2888

@lokitoth

Description

@lokitoth

There are two ways to create workflows with AIAgent steps: WorkflowBuilder and the various specialized XyzWorkflowBuilder. We use two separate implementations of hosting, which means that fixes and updates to one need to be manually mirrored to the other. In the case of thread management, this results in violations of the contract expected by WorkflowHostAgent for maintaining history when driving the underlying workflow, which uses the checkpointing mechanism to support maintenance of the inner agents' threads.

What needs to be reconciled:

  • Temporary overwriting of ChatRole in messages to be available in AIAgentHostExecutor
  • includeInputWithOutput (used in Handoff and Sequential patterns) with
  • Thread management with the behaviour of orchestration patterns

The ideal way to do this would be to bring over the capabilities of AgentRunStreamingExecutor to AIAgentHostExecutor and make public the remaining internal-only executors used in implementing the orchestration patterns. This would also allow an easier transition from orchestrations to more complex workflows, since an "orchestration" pattern would be able to be "exploded" into the raw workflow that it reduces to, which could then be changed by the user, rather than forcing a reimplementation of the original workflow first.

Metadata

Metadata

Assignees

Labels

.NETagent orchestrationIssues related to agent orchestrationworkflowsRelated to Workflows in agent-framework

Type

Projects

Status

In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions