Project Overview: AutoGen Enhanced Agents
The AutoGen_EnhancedAgents project is an exciting development built for the Microsoft AutoGen Framework. This initiative aims to create more capable AI agents, starting with the introduction of the MemoryEnabledAgent. It enhances the agents' ability to manage conversation context, controls token usage, and offers plug-and-play functionality, making it both portable and easy to integrate.
MemoryEnabledAgent (MEA)
Overview
The MemoryEnabledAgent is a specialized version of the AutoGen AssistantAgent. It introduces the ability to manage conversations with context and token stability effectively. By including advanced memory storage and retrieval functionalities, the MEA reflects insights from previous projects like AutoGen_MemoryManager and AutoGen_IterativeCoding. The development of MEA is anchored in the AutoGen community’s collective understanding and experience.
How it Works
Storing, Shifting, and Summarizing Memories
The MEA incorporates an innovative memory system inspired by human memory. It features:
-
Chat-Context (CC): Acts as the working memory, capturing a fixed number of messages. When it reaches its limit, older messages are summarized and shifted to Short-Term Memory (STM).
-
Short-Term Memory (STM): Stores summarized messages from the CC. When STM becomes full, it summarizes and moves messages to Long-Term Memory (LTM).
-
Long-Term Memory (LTM): Stores a minimal list of memories without a maximum length constraint.
A Memory Manager Agent (MMA) aids in summarizing and managing these movements between memory states.
Retrieving Memories
The MEA can retrieve stored information by passing a hint to the MMA. Instead of replicating stored memories, the MMA provides answers by blurring or combining different relevant memories, ensuring more insightful responses.
Setting Memory Parameters
The MEA uses default settings that determine how memory is processed, ensuring efficiency and cost-effectiveness while preventing token overflow. This configuration supports optimal memory use during prolonged or detailed interactions.
Getting Started
For those eager to use MEA, ensure the AutoGen framework is installed on their system. They can then easily use the system as a conversational agent by configuring the main.py
file and running it to begin interactions.
Controlling Execution
Interacting with the MEA is straightforward. Users can communicate with the agent as they would in any conversation, and the agent handles memory lookups autonomously.
Future Enhancements
The project's journey is ongoing, with several planned improvements:
- Ensuring consistency in user identification.
- Improving prompts for better memory management.
- Automating memory functions to reduce waste.
- Enhancing the agent with self-reflection and context-switching capabilities.
- Developing methodologies for more efficient long-term memory segmentation.
This forward-thinking approach indicates a commitment to refining and expanding the agent's potential uses, whether in communication, coding, media creation, or other innovative applications.