embabel-agent  by embabel

Agentic flow framework on the JVM

created 3 months ago
2,311 stars

Top 20.1% on sourcepulse

GitHubView on GitHub
1 Expert Loves This Project
Project Summary

Embabel is a Kotlin-based framework for building agentic flows on the JVM, designed to seamlessly integrate LLM interactions with existing code and domain models. It targets developers seeking to create sophisticated, adaptable AI agents that can dynamically plan and execute tasks, offering a robust alternative to simpler state-machine approaches.

How It Works

Embabel models agentic behavior using Actions, Goals, and Conditions, underpinned by a domain model. Its core differentiator is a dynamic planning step, defaulting to Goal Oriented Action Planning (GOAP), which allows agents to discover novel task sequences and adapt to changing states. This contrasts with static, pre-defined flow definitions, enabling greater extensibility and emergent behavior.

Quick Start & Requirements

  • Install/Run: Use the uvx --from git+https://github.com/embabel/project-creator.git project-creator tool to generate a new agent project.
  • Prerequisites: Requires Java Development Kit (JDK), Maven, and an OPENAI_API_KEY environment variable. Docker Desktop with the MCP extension is recommended for web tools.
  • Setup Time: Under 5 minutes with prerequisites met.
  • Docs/Examples: Embabel Agent Examples Repository

Highlighted Details

  • Built on the JVM and integrates with Spring, leveraging existing enterprise capabilities.
  • Supports annotation-based or Kotlin DSL for flow authoring, with strong typing and refactoring support.
  • Offers multiple execution modes: Focused, Closed, and Open, with Open mode enabling novel path discovery.
  • Designed for testability, facilitating both unit and end-to-end agent testing.

Maintenance & Community

  • Project initiated by the creator of Spring.
  • Roadmap includes expanding platform support (TypeScript, Python) and integrating with data stores.
  • Contributions are welcomed.

Licensing & Compatibility

  • The specific license is not explicitly stated in the README.
  • Compatibility with commercial or closed-source projects is likely, given its JVM/Spring foundation, but requires license verification.

Limitations & Caveats

The project is described as being in its early stages, with a snapshot dependency (1.0.0-SNAPSHOT) indicating ongoing development and potential for breaking changes. Some advanced features like federation and specific future modes are still under development.

Health Check
Last commit

18 hours ago

Responsiveness

Inactive

Pull Requests (30d)
51
Issues (30d)
42
Star History
2,396 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.