워크플로를 사용하면 여러 단계를 함께 연결할 수 있습니다. 각 단계는 데이터를 처리하고 다음 단계로 전달합니다.
워크플로 단계 정의(실행기):
using Microsoft.Agents.AI.Workflows;
// Step 1: Convert text to uppercase
Func<string, string> uppercaseFunc = s => s.ToUpperInvariant();
var uppercase = uppercaseFunc.BindAsExecutor("UppercaseExecutor");
// Step 2: Reverse the string and yield output
class ReverseTextExecutor() : Executor<string, string>("ReverseTextExecutor")
{
public override ValueTask<string> HandleAsync(string message, IWorkflowContext context, CancellationToken cancellationToken = default)
{
return ValueTask.FromResult(string.Concat(message.Reverse()));
}
}
ReverseTextExecutor reverse = new();
워크플로를 빌드하고 실행합니다.
WorkflowBuilder builder = new(uppercase);
builder.AddEdge(uppercase, reverse).WithOutputFrom(reverse);
var workflow = builder.Build();
await using Run run = await InProcessExecution.RunAsync(workflow, "Hello, World!");
foreach (WorkflowEvent evt in run.NewEvents)
{
if (evt is ExecutorCompletedEvent executorComplete)
{
Console.WriteLine($"{executorComplete.ExecutorId}: {executorComplete.Data}");
}
}
팁 (조언)
전체 실행 가능한 샘플 애플리케이션은 여기 를 참조하세요.
다음 단계:
더 자세히 살펴보기:
- 워크플로 개요 - 워크플로 아키텍처 이해
- 순차 워크플로 - 선형 단계별 패턴
- 워크플로의 에이전트 - 에이전트를 워크플로 단계로 사용