Skip to content

embabel/embabel-agent-experimental

Repository files navigation

-agent-experimental. # Embabel Agent Framework Experimental

Docs Build YourKit JProfiler Quality Gate Status Discord

Kotlin Java Spring Spring Boot Apache Tomcat Apache Maven JUnit ChatGPT Jinja JSON GitHub Actions SonarQube Docker IntelliJ IDEA License Commits

    

Overview

The Embabel Agent Experimental repository contains modules that are under active development and evaluation. These modules have been relocated from the main embabel-agent repository as they represent innovative features and capabilities that are still maturing.

This repository as an incubation lab for new agent capabilities. Modules here are fully functional but may undergo API changes, refinements, or architectural improvements based on community feedback and production experience.

Purpose

This repository serves as:

  • Innovation Space: A dedicated environment for developing cutting-edge agent capabilities without impacting the stability of the core framework
  • Evaluation Ground: A place where modules can be thoroughly tested, refined, and validated in real-world scenarios
  • Graduation Pipeline: A structured path for promoting experimental features into the main framework once they reach production maturity

Promotion Process

Experimental modules undergo a rigorous evaluation process before being promoted to the main framework:

  1. Active Development: Module is actively developed and tested in the experimental repository
  2. Community Feedback: Users provide feedback on API design, functionality, and use cases
  3. Stability Assessment: The module demonstrates API stability, comprehensive testing, and production readiness
  4. Promotion Decision: Based on maturity metrics and strategic alignment, the module is promoted to the main embabel-agent repository

Experimental Modules

The following modules are currently in the experimental repository:

Module Description Status
embabel-agent-eval Agent evaluation and benchmarking capabilities Active Development
embabel-agent-remote Remote agent execution and distributed processing Active Development
embabel-agent-discord Discord integration for agent interactions Active Development
embabel-agent-spec Specification and contract testing utilities Active Development
embabel-agent-skills Advanced skills and capability extensions Active Development

Using Experimental Modules

Adding the BOM (Bill of Materials)

The embabel-agent-experimental-bom provides centralized dependency management for all experimental modules, ensuring version consistency across your project - similar to how Spring Boot's BOM manages Spring dependencies.

Maven Configuration

Add the BOM to your pom.xml in the <dependencyManagement> section:

<dependencyManagement>
    <dependencies>
        <!-- Embabel Agent Experimental BOM -->
        <dependency>
            <groupId>com.embabel.agent</groupId>
            <artifactId>embabel-agent-experimental-bom</artifactId>
            <version>0.3.4-SNAPSHOT</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

Then add the specific experimental modules you need without specifying versions:

<dependencies>
    <!-- Example: Adding Agent Evaluation -->
    <dependency>
        <groupId>com.embabel.agent</groupId>
        <artifactId>embabel-agent-eval</artifactId>
    </dependency>
    
    <!-- Example: Adding Remote Agent Execution -->
    <dependency>
        <groupId>com.embabel.agent</groupId>
        <artifactId>embabel-agent-remote</artifactId>
    </dependency>
</dependencies>

Gradle Configuration (Kotlin DSL)

Add the BOM to your build.gradle.kts:

dependencies {
    // Import the Embabel Agent Experimental BOM
    implementation(platform("com.embabel.agent:embabel-agent-experimental-bom:0.3.4-SNAPSHOT"))
    
    // Add specific experimental modules (versions managed by BOM)
    implementation("com.embabel.agent:embabel-agent-eval")
    implementation("com.embabel.agent:embabel-agent-remote")
}

Gradle Configuration (Groovy DSL)

Add the BOM to your build.gradle:

dependencies {
    // Import the Embabel Agent Experimental BOM
    implementation platform('com.embabel.agent:embabel-agent-experimental-bom:0.3.4-SNAPSHOT')
    
    // Add specific experimental modules (versions managed by BOM)
    implementation 'com.embabel.agent:embabel-agent-eval'
    implementation 'com.embabel.agent:embabel-agent-remote'
}

Repository Configuration

To access experimental modules, configure the Embabel repository in your build configuration:

Maven

Add to your pom.xml:

<repositories>
    <repository>
        <id>embabel-releases</id>
        <url>https://repo.embabel.com/artifactory/libs-release</url>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
    <repository>
        <id>embabel-snapshots</id>
        <url>https://repo.embabel.com/artifactory/libs-snapshot</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>

Gradle (Kotlin DSL)

Add to your build.gradle.kts:

repositories {
    maven {
        url = uri("https://repo.embabel.com/artifactory/libs-release")
    }
    maven {
        url = uri("https://repo.embabel.com/artifactory/libs-snapshot")
    }
}

Important Considerations

API Stability

⚠️ Experimental modules may undergo breaking changes between minor versions. While we strive for stability, the experimental nature allows for rapid iteration and improvement based on feedback.

Production Use

Experimental modules are production-quality in terms of code quality and testing, but consider:

  • API Evolution: Be prepared for API changes in future releases
  • Migration Path: Monitor the main repository for promotion announcements
  • Community Support: Join our Discord for discussions and support

Version Alignment

Always use the BOM to ensure version consistency across experimental modules. The BOM is versioned independently from the main framework to allow for faster iteration cycles.

Contributing

We welcome contributions and feedback! If you're using experimental modules:

  1. Share Your Experience: Let us know how you're using these modules in production
  2. Report Issues: Help us identify bugs and edge cases
  3. Suggest Improvements: API feedback is invaluable during the experimental phase
  4. Contribute Code: Submit PRs for enhancements or fixes

Support

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

About

Embabel Agent Experimental Modules (incubated for 2.0)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages