Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01G8ikz8xdWuTP5yun8DZ1hk
30 lines
1.1 KiB
Markdown
30 lines
1.1 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
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.
|