Why this matters
Agentic systems often end up as ad-hoc orchestrations of LLM calls, scripts and glue code that are hard to test, extend, and safely operate in production. This framework treats agent flows as first-class, strongly typed constructs on the JVM so teams can compose LLM prompts, code actions, and domain objects into dynamic plans that replan as state changes — making long-horizon and tool-augmented agents easier to reason about and test.
What Sets It Apart
- Pluggable planning model: supports Goal Oriented Action Planning (GOAP) by default and also offers Utility AI, letting the system choose actions by preconditions or by dynamic utility scores for exploration and open-ended tasks. This enables dynamic sequencing, parallelization decisions, and replanning after every action.
- Tight JVM & Spring integration: agents are Spring-managed (annotations + Kotlin DSL), so existing Spring services, DI, AOP and persistence are directly usable; observability (tracing/metrics) and transaction management integrate with standard JVM tooling.
- Strong typing and testability: domain objects are first-class, LLM prompts can create typed objects, and the framework includes facilities to unit-test prompts, actions and end-to-end agent runs without hitting external APIs.
- Tooling and model flexibility: built-in support for MCP servers/tools, local model runtimes (Ollama, Docker-hosted models), and common cloud providers (OpenAI, Anthropic, OCI), plus conventions for mixing cheap/local models with expensive ones to control cost and privacy.
Who It's For and Tradeoffs
Great fit if you build JVM/Spring applications that need reusable, testable agent behavior (enterprise apps, backend services, or systems that must integrate with existing Java libraries). It particularly suits teams that want deterministic wiring and typed contracts between code and LLM outputs.
Look elsewhere if you need a lightweight Python-first agent playground, if you cannot adopt Spring/JVM infrastructure, or if you need a fully mature commercial platform — the project is early-stage and presumes JVM/Spring familiarity and some setup (API keys, optional Docker/OLLAMA, MCP tooling) to access its full capabilities.