Releases: Thytu/Agentarium
Releases · Thytu/Agentarium
v0.3.1
Overview
Enhances the agent communication system by adding support for multi-agent messaging, allowing an agent to send messages to multiple recipients simultaneously. It also includes several improvements to error handling and message formatting.
Key Changes
- Added support for sending messages to multiple agents at once via
talk_to
method - Enhanced error handling for agent communication with better error messages
- Improved message formatting for both single and multi-agent conversations
- Added reminder in prompt template to close XML tags
- Fixed return type annotations for
ask
andtalk_to
methods - Bumped version from 0.3.0 to 0.3.1
Implementation Details
- Modified
Interaction
class to store receivers as a list of agents - Updated
AgentInteractionManager
to handle multiple receivers - Added support for "all" keyword to broadcast messages to all agents
- Enhanced error messages for invalid agent IDs
- Improved string representation of interactions for better readability
Testing
- Added new test cases for multi-agent communication
- Updated existing tests to accommodate the new receiver list format
- Added tests for manual and automatic action execution
Breaking Changes
None. All changes are backward compatible as single-agent communication continues to work as before.
Full Changelog: v0.3.0...v0.3.1
0.3.0
Action System Refactor and Serialization Improvements
Version Update: 0.2.8 → 0.3.0
Major Changes
- Introduced a new
Action
class to formalize and standardize agent actions - Migrated from
pickle
todill
for better serialization support - Moved default actions (
talk
andthink
) to a dedicated module - Improved action management API with
add_action
,remove_action
, andexecute_action
methods
Key Features
- New Action Class: Actions are now first-class objects with clear interfaces and validation
- Better Action Management: More intuitive API for managing agent actions
- Improved Serialization: Using
dill
for better function serialization support - Cleaner Architecture: Default actions moved to
actions/default_actions.py
- Enhanced Type Safety: Added type hints and validation throughout
Breaking Changes
add_new_action()
replaced withadd_action()
- Action format changed from dictionary to
Action
class instances - Pickle files (.pickle) replaced with dill files (.dill)
Minor Updates
- Added
.DS_Store
to gitignore - Bumped version to 0.3.0
- Updated examples to use new action system
- Removed unused Environment import
- Added Action to
__all__
exports
Migration Guide
Creating custom actions
# Old way
agent.add_new_action(
{
"format": "[ACTION][param]",
"prompt": "Description",
"example": "[ACTION][value]"
},
action_function
)
# New way
agent.add_action(
Action(
name="action",
description="Description",
parameters=["param"],
function=action_function
)
)
Calling custom actions
# Old way
action_function(agent, "param_value")
# New way
agent.execute_action("action", "param_value")