Hi everyone,
I’ve been experimenting with Rovo agents and I’ve noticed that they perform really well when they are focused on a single, well-defined task.
However, when I need to execute more complex, multi-step workflows, a single agent doesn’t seem sufficient. My current idea is to design an architecture composed of:
My questions are:
Any guidance, examples, or real-world experiences would be greatly appreciated.
Thanks in advance!
sorry for the late answer. Atlassian is a little behind on the whole Orchestration thing.
Simple and out of the box: Scenarios
One Agent can have mutiple Scenarios, each with different prompts and actions. The Agent switches the scenarios based on the triggers.
Note: Apparently they are renaming it to "Subagents" now: Add scenarios to a Rovo agent | Rovo | Atlassian Support
Not ideal and not really orchestration, so my approach in complex scenarios would be:
Orchestration via Automation
1. Create your specialized Agents.
2. Create one Orchestratror Agent that knows which Agent does what; have it return a specific key word like [AGENT A] and only that
3. Create an Automation
This Automation could be as simple or complex as you want it to be. You can call multiple Agents in a Row or one by one.
Downside: This really depends on the reliablity of the Orchestrator Agent and its outputs. I have successfully created Agents that were fairly reliable in starting their response with a specific keyword. They haven't run on enough data yet to give you a percentage.
Also: When Agents are triggered via Automation, they don't trigger any of their skills. You need to add any Actions manually to the Automation based on the Agents outputs.
Tip: Instead of building one huge Automation with all the Agents and If-elses, you can call another Automation from within. There is no direct Action for that, but you can use Webhooks for that as a Workaround.
Sharing Knowledge between Agents
Each Agent Call in an Automation will return an "Agent Response" smart value that you can use as input for other Agents. If you need more complex or structured information, you could have the Agents write a Confluence Page or update Jira work items. That way, the information is saved longterm. Not ideal though.
Limitations?
It's not really orchestration and all depends on the outputs, which are non-determinstic to a degree.
As long as Agents don't use their skills when invoked via Automation, you have to replicate some of their behaviour in the Automations.
I can't even really give you a Workaround with 3rd party tools as Rovo Agents cannot be invoked from outside of Atlassian and you'd need a Webhook-triggered Automation for that as well. So no real advantage unless you want to orchestrate multiple systems.
Summary
Scenarios are the recommended feature to specialize Agents for tasks and have some form of orchestration. Automations can be used but get complicated quickly with an added chance for errors.
Hi @Rebekka Heilmann _viadee_ ,
I’m also using Atlassian automation as an orchestrator for agents, but I find it quite limiting.
For example, if I have a set of Rovo agents, each specialized in a single task, and I want to coordinate them so that a single agent can execute the combined set of tasks, I end up having to build a fairly complex setup: creating a “dummy” JSM project, defining status fields for each agent, and then implementing automations based on those statuses to orchestrate the workflow across agents. As it stands, this feels quite complex to manage and potentially fragile.
One idea I’d like to experiment with is using a single multi-scenario Rovo agent, leveraging the default scenario as a router to the specialized scenarios.
Has anyone in the community tried something similar? Do you think this is a viable approach, or have you found more robust alternatives?
Thanks a lot!
Giuseppe
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.