Base starter module for the Embabel Agent Framework providing core dependencies for building agentic flows on the JVM with Spring Boot integration and GOAP-based intelligent path finding.
Agents are autonomous components that achieve goals through planning and action execution using GOAP (Goal-Oriented Action Planning).
@Agent(
description = "Agent purpose", // Required
planner = PlannerType.GOAP, // Planning algorithm
version = "1.0.0", // Agent version
actionRetryPolicy = ActionRetryPolicy.exponential(3, 1000)
)
@Component
public class MyAgent {
// Actions and conditions
}description (required): Agent purposeplanner: Planning algorithm (default: GOAP)scan: Enable scanning for actions/conditions (default: true)opaque: Hide internal details when used as subagent (default: false)actionRetryPolicy: Default retry strategy for actionsprovider: Namespace for organizing agentsbeanName: Override Spring bean nameGOAP planner:
Regular Agent: Full GOAP planning with actions and conditions
@Agent(description = "Data processor", planner = PlannerType.GOAP)
public class DataAgent {
@Action(description = "Load data", post = {"dataLoaded"})
public Data loadData(String source) { }
@Action(description = "Process data", pre = {"dataLoaded"})
public Result process(Data data) { }
}Component: Provides capabilities without being a full agent
@EmbabelComponent(scan = true)
public class FileOperations {
@Action(description = "Read file")
public String readFile(String path) { }
}Agents can invoke other agents:
@Action(description = "Delegate to subagent")
public Result delegateWork(Input input, @Provided AgentPlatform platform) {
Subagent subagent = new Subagent("SpecializedAgent");
Agent resolved = subagent.resolve(platform);
return invokeSubagent(resolved, input);
}opaque when used as subagentscom.embabel.agent.*) for auto-discoverySee Also: Actions | Goals | API Reference
tessl i tessl/maven-com-embabel-agent--embabel-agent-starter@0.3.1docs