Repository navigation
v0.2.0
This release separates agent-server and rollout-client dependencies and moves the main verl and slime integrations onto HTTP rollout sessions.
This release includes breaking changes to installation and the verl/slime agent contracts. See the upgrade notes below before updating an existing environment.
Features and fixes
- Dependency separation: the bare package has no external dependencies. New
serverandcoreextras complement therolloutandgatewayextras, and public SDK exports load on first access. The AWS async helpers now use aiobotocore directly, removing the aioboto3 dependency conflict that previously required repository-specific uv overrides (#192). - HTTP training rollouts: the main verl and slime integrations construct sessions through
make_session()and supportAgentCoreRuntimeAppagents. The verl integration shares rollout concurrency and session-start rate limits across workers. The MigrationBench agent and evaluator now use HTTP sessions (#188, #187). - Terminal agent example: add a TMax/Harbor evaluation example with separate agent and task sandboxes; verifier tests are delivered after the agent finishes (#185).
- Sandbox compatibility: tolerate additional execution-result fields and preserve error details (#191).
- slime training setup: update the pinned slime revision and set attention and hidden dropout to zero in the math training launcher (#187).
- Examples and documentation: refresh Claude Sonnet model IDs, update the README, and add an installation guide organized by use case (#190, #186, #194).
Upgrade notes
Select installation extras
pip install agentcore-rl-toolkit no longer installs the server SDK or client dependencies. For both agent apps and rollout clients, use:
pip install 'agentcore-rl-toolkit[core]>=0.2.0'Or use uv add 'agentcore-rl-toolkit[core]>=0.2.0'. Update dependency declarations to include the appropriate extra as well. Select server for agent apps or rollout for clients, sessions, the Sandbox SDK, and AWS helpers. The tinker_api, tinker_skyrl, and verl extras include rollout and gateway dependencies; follow the corresponding backend setup guide for the full training environment.
The a2a extra is now client-only. Agent-server environments using A2A should install a2a-server.
The deployment CLI is installed separately:
uv tool install bedrock-agentcore-starter-toolkitDeclare python-dotenv explicitly if your application imports it. Existing public SDK import names are preserved.
Migrate verl and slime rollout configuration
Replace the previous top-level agent_runtime_arn, s3_bucket, and exp_id configuration with a session backend configuration. For an HTTP agent:
rollout_session_backend:
backend: agentcore_rl_toolkit.rollout_session.agentcore_http_session.AgentCoreHttpSession
agentcore_runtime_arn: arn:aws:bedrock-agentcore:<region>:<account-id>:runtime/<runtime-id>For verl, place this mapping inside the AgentCoreAgentLoop configuration entry; for slime, place it in the custom configuration YAML. Remove the old top-level max_pool_connections setting. The main verl backend also exposes rollout_concurrency for its shared concurrency limit.
Update and redeploy the agent along with the trainer configuration:
| Contract | Previous integration | HTTP integration |
|---|---|---|
| Agent app | AgentCoreRLApp with @app.rollout_entrypoint |
AgentCoreRuntimeApp with @app.entrypoint |
| Model configuration | payload["_rollout"] |
payload["_config"] |
| Agent-provided reward | {"rewards": score_or_list} |
{"reward": score} with a numeric scalar |
Forward payload["_config"]["api_key"] to the model client for trajectory capture. The verl integration requires a finite numeric reward; strings, booleans, lists, and missing rewards are rejected. HTTP sessions retrieve results through the Runtime invocation protocol rather than an S3 result bucket.
Use the math HTTP agent and the verl or slime configuration examples as migration references.
The legacy AgentCoreRLApp and RolloutClient APIs are retained for compatibility. Use HTTP sessions for new training integrations.
MigrationBench evaluation
Use examples/strands_migration_agent/evaluate.py; the separate evaluate_async.py script has been removed.
Full changelog: v0.1.6...v0.2.0