Skip to content

Releases: Thytu/Agentarium

v0.3.1

30 Jan 16:55
Compare
Choose a tag to compare

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 and talk_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

04 Jan 11:32
66c8f4a
Compare
Choose a tag to compare

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 to dill for better serialization support
  • Moved default actions (talk and think) to a dedicated module
  • Improved action management API with add_action, remove_action, and execute_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 with add_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")