Embabel Agent是一个面向JVM的AI智能体框架,由Spring创始人开发,支持Kotlin和Java。它通过动态规划(GOAP算法)将LLM交互与代码、领域模型混合,实现目标驱动的智能体流程编排,支持多种执行模式(聚焦/封闭/开放)和MCP/A2A协议集成,提供强类型、可测试、可扩展的企业级AI应用开发能力。
- 核心架构概念: 以Actions(步骤)、Goals(目标)、Conditions(条件)、Domain model(领域模型)和Plan(动态规划)为核心,实现OODA循环式的自适应执行。
- 动态规划能力: 默认采用GOAP算法进行真正规划(非有限状态机),支持动态决策、并行化和运行时行为调整;同时内置Utility AI作为替代方案。
- 执行模式: 提供Focused(代码驱动调用特定智能体)、Closed(动态选择智能体但限制动作范围)、Open(跨所有资源动态构建智能体实现目标)三种模式,开放模式最强大但确定性最低。
- 技术栈与集成: 基于Spring和JVM构建,支持Spring依赖注入和AOP;集成MCP协议消费外部工具,支持A2A协议实现智能体联邦;兼容Ollama、Docker、LMStudio等本地模型及OCI GenAI等云服务。
- 开发与测试: 提供注解式(@Agent/@Action/@Goal)和Kotlin DSL两种开发方式;强调可测试性,支持单元测试(模拟LLM调用验证提示词)和集成测试,提供FakeOperationContext等测试工具。
- 快速启动与依赖: 0.2.0+版本可直接从Maven Central获取,需配置OPENAI_API_KEY等环境变量;提供Spring Boot starter简化集成,observability starter支持Zipkin/Langfuse零代码追踪。