Description
Hello Team,
I am building an AI Agentic Framework in Python to utilize Dapr Workflows and Actors for triggering conversational agents. In my use case, I sometimes have specific steps (workflows) that guide agents, and other times I let an Agent Orchestrator (LLM-based) determine the next steps (activities). These activities would then point to or call other specific agents (services).
I understand that workflows are ideal for deterministic plans. However, in my Agent Orchestrator use case, the "activities" are not in a specific order. My idea is to create a workflow that triggers the Agent Orchestrator as activity number 1. Following that, I want to run a generic activity number 2 that invokes or calls a service (agent). Depending on the orchestrator's decision, one of the 2-3 available agents would be called for each iteration.
My question is whether this is a good use case for workflows. Or, should I consider using an Orchestrator Actor that pushes the request to the appropriate queue (one topic per agent/service) and lets the services handle the requests by retrieving tasks from the queue? I noticed that one of the workflow patterns in the Dapr documentation is Async HTTP APIs. Would that pattern be beneficial for this scenario? Here's the link for reference: Async HTTP APIs.
Could a combination of workflows and actors be the best approach here? I would love to get your feedback on this use case. Should I create an issue in the Dapr repositories too? If so, which ones.
Thank you in advance!