ec1b076e9b4ea520e79ae1f58a85593a53ccefae
Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01G8ikz8xdWuTP5yun8DZ1hk
java-ai-agents
Companion code for the ankurm.com posts on agents on the JVM. Every number and transcript quoted in a post
comes from a file in a module's output/ folder, and the tests that write those files also assert the same
facts, so the build fails when a claim stops being true.
| Module | Post | What it shows |
|---|---|---|
embabel |
Embabel: Goal-Oriented AI Agents on the JVM | actions, goals, conditions and cost-based planning with GOAP, compared with plain Spring AI |
Versions (verified on Maven Central, 2026-10-11)
| Component | Version | Note |
|---|---|---|
Embabel embabel-agent-api |
1.5.3 | brings Spring AI 2.0.1 and Spring Boot 4.1.1 transitively |
| JDK | 25 LTS | |
| JUnit | 6.1.3 |
Run
export JAVA_HOME=/path/to/jdk-25
mvn test # everything
mvn test -pl embabel -am # one module
No API key is needed. The Embabel tests use ScriptedLlmOperations, the scripted stand-in shipped inside
embabel-agent-api, and the Spring AI comparison uses a small scripted ChatModel.
Each module writes its transcripts to <module>/output/ when you run the tests.
Languages
Java
100%