-agent-experimental. # Embabel Agent Framework Experimental
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.
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
Experimental modules undergo a rigorous evaluation process before being promoted to the main framework:
- Active Development: Module is actively developed and tested in the experimental repository
- Community Feedback: Users provide feedback on API design, functionality, and use cases
- Stability Assessment: The module demonstrates API stability, comprehensive testing, and production readiness
- Promotion Decision: Based on maturity metrics and strategic alignment, the module is promoted to the main embabel-agent repository
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 |
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.
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>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")
}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'
}To access experimental modules, configure the Embabel repository in your build configuration:
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>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")
}
}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
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.
We welcome contributions and feedback! If you're using experimental modules:
- Share Your Experience: Let us know how you're using these modules in production
- Report Issues: Help us identify bugs and edge cases
- Suggest Improvements: API feedback is invaluable during the experimental phase
- Contribute Code: Submit PRs for enhancements or fixes
- Documentation: https://docs.embabel.com
- Discord Community: Join our Discord
- Issues: GitHub Issues
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
