Annotation Interface SequenceAgent
Marks a method as a definition of a sequence agent, used to orchestrate the agentic workflow
by invoking a series of sub-agents in a predefined order.
Each sub-agent is defined using the
SubAgent
annotation, which specifies the sub-agent's type
and its output variable name.
Example:
public interface StoryCreatorWithConfigurableStyleEditor {
@SequenceAgent(outputName = "styledStory", subAgents = {
@SubAgent(type = CreativeWriter.class, outputName = "story"),
@SubAgent(type = AudienceEditor.class, outputName = "story"),
@SubAgent(type = StyleEditor.class)
})
String write(@V("topic") String topic, @V("style") String style, @V("audience") String audience);
}
-
Required Element Summary
Required Elements -
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionDescription of the agent.Name of the agent.Name of the output variable that will hold the result of the agent invocation.
-
Element Details
-
name
String nameName of the agent. If not provided, method name will be used.- Returns:
- name of the agent.
- Default:
""
-
description
String descriptionDescription of the agent. It should be clear and descriptive to allow language model to understand the agent's purpose and its intended use.- Returns:
- description of the agent.
- Default:
""
-
outputName
String outputNameName of the output variable that will hold the result of the agent invocation.- Returns:
- name of the output variable.
- Default:
""
-
subAgents
SubAgent[] subAgentsArray of sub-agents that will be invoked in sequence.- Returns:
- array of sub-agents.
-