Building agents on the JVM with Embabel
·
Part 10
One mistake, three failures: named bindings in Embabel
When an Embabel action needs two objects of the same type, binding becomes two declarations that must agree — and nothing cross-checks them. Get them out of step and you get a startup exception, an unreachable goal, or a confident wrong answer, depending on which half you forgot.
31 Jul 2026
·
5 min read
Building agents on the JVM with Embabel
·
Part 8
Blackboard vs Context: what an Embabel agent keeps between runs
An Embabel blackboard lives and dies with a single agent process. A Context is the thing that outlives it - and because it seeds the blackboard before planning starts, it changes which actions actually run.
30 Jul 2026
·
6 min read
Building agents on the JVM with Embabel
·
Part 7
The condition nothing could satisfy: custom @Condition gates in Embabel
My agent refused to run a single action. The @Condition gate was FALSE and nothing in the agent could ever make it TRUE, because Embabel builds an action's effects from what you declare, not from what your condition reads.
28 Jul 2026
·
7 min read
Building agents on the JVM with Embabel
·
Part 1
One Goal Too Many: Learning Embabel's Planner the Hard Way
My first afternoon with Embabel, the JVM agent framework. I added one action too many, the planner quietly stopped early, and a cryptic get(...) must not be null taught me how GOAP, goals, and AgentInvocation actually fit together.
24 Jul 2026
·
8 min read