AutoGen, an open-source framework for building AI agent systems, has undergone a substantial architectural overhaul with the transition from version 0.2 to version 0.4, introducing breaking changes aimed at improving scalability and usability. Developed by Microsoft, AutoGen facilitates the creation of scalable, distributed AI applications with asynchronous messaging and integration of multiple large language models.
The most significant development in the past 30 days is the complete rewrite of AutoGen to version 0.4, which is designed to enhance the framework's scalability and usability. This transition includes breaking changes, but both versions will continue to be maintained. The development team is actively engaging with the community to refine this new architecture before its official release. Recent activities also include efforts to expand language support and improve integration with other frameworks.
Recent issues and pull requests (PRs) reveal a focus on enhancing framework capabilities, particularly in agent interactions and tool usage. Issues like #4049 highlight challenges with model integration and media handling, while others like #4039 indicate a push for improved state management in agents.
Reuben Bond
Eric Zhu
model_usage
; implemented token usage termination; created tools from Microsoft.Extension.Ai.model_usage
; [Nov 2, 2024] Implemented token usage termination.David Luong
Xiaoyun Zhang
Mohammad Mazraeh
Ryan Sweet
Victor Dibia
Jack Gerrits
Timespan | Opened | Closed | Comments | Labeled | Milestones |
---|---|---|---|---|---|
7 Days | 30 | 17 | 30 | 2 | 3 |
30 Days | 166 | 91 | 186 | 24 | 4 |
90 Days | 334 | 151 | 438 | 53 | 7 |
All Time | 1861 | 1370 | - | - | - |
Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.
Developer | Avatar | Branches | PRs | Commits | Files | Changes |
---|---|---|---|---|---|---|
Eric Zhu | 2 | 43/42/2 | 42 | 120 | 13723 | |
Kosta Petan (kostapetan) | 1 | 1/0/0 | 1 | 85 | 13194 | |
Victor Dibia | 5 | 5/5/0 | 28 | 85 | 11579 | |
Ryan Sweet | 4 | 23/13/9 | 51 | 494 | 7857 | |
Hussein Mozannar | 2 | 6/5/1 | 25 | 89 | 6803 | |
Jack Gerrits | 2 | 44/42/2 | 42 | 213 | 4918 | |
Xiaoyun Zhang | 2 | 7/6/0 | 9 | 136 | 3782 | |
Leonardo Pinheiro | 1 | 7/3/3 | 4 | 54 | 2066 | |
kiyoung | 1 | 0/0/0 | 1 | 7 | 1550 | |
Zoltan Lux (luxzoli) | 1 | 2/1/1 | 1 | 4 | 1384 | |
Mohammad Mazraeh | 1 | 3/3/0 | 4 | 28 | 1082 | |
Kirushikesh DB | 1 | 0/0/0 | 1 | 1 | 866 | |
Krishna Shedbalkar | 1 | 0/0/0 | 1 | 3 | 690 | |
Rajan | 1 | 0/0/0 | 1 | 38 | 664 | |
Daniel Chalef (danielchalef) | 1 | 1/1/0 | 1 | 5 | 640 | |
Lokesh Goel (lokesh-couchbase) | 1 | 1/1/0 | 1 | 4 | 600 | |
William Espegren | 1 | 0/0/0 | 1 | 2 | 427 | |
Taylor Rockey | 1 | 2/2/0 | 2 | 6 | 424 | |
Anthony Uphof | 1 | 1/1/0 | 1 | 4 | 382 | |
Reuben Bond | 1 | 4/4/0 | 4 | 25 | 373 | |
Sunil Sattiraju | 1 | 1/1/0 | 1 | 3 | 268 | |
Matteo Frattaroli | 1 | 0/0/0 | 1 | 3 | 263 | |
Gerardo Moreno | 1 | 4/2/1 | 2 | 5 | 223 | |
Niklas Gustafsson | 1 | 1/1/0 | 1 | 4 | 72 | |
David Luong | 1 | 3/2/0 | 2 | 6 | 58 | |
Max Golovanov | 1 | 2/2/0 | 2 | 3 | 46 | |
Andreas Volkmann | 1 | 1/1/0 | 1 | 1 | 43 | |
Rohan Thacker | 1 | 2/2/0 | 2 | 11 | 40 | |
afourney | 1 | 2/2/0 | 2 | 3 | 15 | |
Wael Karkoub (WaelKarkoub) | 1 | 2/2/0 | 2 | 2 | 13 | |
gagb | 2 | 2/2/0 | 2 | 1 | 5 | |
SeryioGonzalez | 1 | 1/1/0 | 1 | 1 | 4 | |
Mark Douthwaite | 1 | 1/1/0 | 1 | 2 | 4 | |
Will | 1 | 1/1/0 | 1 | 1 | 2 | |
Zac | 1 | 2/1/0 | 1 | 1 | 2 | |
vikas434 | 1 | 1/1/0 | 1 | 1 | 2 | |
Ikko Eltociear Ashimine | 1 | 0/0/0 | 1 | 1 | 2 | |
Luke Hsiao (lukehsiao) | 1 | 1/1/0 | 1 | 1 | 2 | |
Bill Wilder (codingoutloud) | 1 | 1/1/0 | 1 | 1 | 2 | |
Eduardo Salinas (lalo) | 0 | 1/0/0 | 0 | 0 | 0 | |
Ji Jingzhe (zerd1y) | 0 | 1/0/1 | 0 | 0 | 0 | |
Karl (zook111) | 0 | 1/0/1 | 0 | 0 | 0 | |
Tomek SÅ‚oma (Hedrekao) | 0 | 1/0/0 | 0 | 0 | 0 | |
None (Noel1997) | 0 | 1/0/1 | 0 | 0 | 0 | |
Shaokun Zhang (skzhang1) | 0 | 1/0/1 | 0 | 0 | 0 | |
Benoit Moussaud (bmoussaud) | 0 | 1/0/0 | 0 | 0 | 0 | |
Mark Sze (marklysze) | 0 | 1/0/1 | 0 | 0 | 0 | |
None (frances720) | 0 | 1/0/1 | 0 | 0 | 0 | |
Muhammad Faizan (faizanwasif) | 0 | 1/0/0 | 0 | 0 | 0 | |
None (BrennanOwYong) | 0 | 1/0/0 | 0 | 0 | 0 | |
None (TaylorAndStubbs) | 0 | 1/0/1 | 0 | 0 | 0 | |
OWMEDIA (owmediasolutions) | 0 | 1/0/1 | 0 | 0 | 0 |
PRs: created by that dev and opened/merged/closed-unmerged during the period
The GitHub repository for AutoGen has seen considerable activity, with 491 open issues and a mix of feature requests, bugs, and discussions about enhancements. Notably, there is a significant focus on improving the framework's capabilities, particularly regarding agent interactions and tool usage. Several recent issues highlight challenges with model integration, particularly with local models and the handling of tool calls.
A recurring theme in the issues is the need for better handling of context and message history in group chats, as well as improvements to error handling when using various models. The community appears engaged, with many users actively seeking solutions to specific problems while also proposing enhancements.
Issue #4049: Some Image URLs or local Images not supported in MultimodalConversableAgent
Issue #4039: Memory Interface for AgentChat agents
Issue #4038: Timer-based termination condition
Issue #4037: Add Example of Cancellation Token
Issue #4027: Create a gallery page for applications built using AutoGen
Issue #4045: Flexible nested chat triggers
Issue #4040: [.NET] Support creating tools from Microsoft.Extensions.AI.AIFunctionFactory
Issue #4031: [.Net] Update M.E.A.I to 9.0.0-preview.9.24525.1
Issue #4022: Termination condition for token/cost budget
Issue #4017: Include Metric in AgentChat Messages
Several issues indicate a pattern of challenges related to integrating various models (e.g., Gemini, Cohere) and ensuring that tools function correctly within the AutoGen framework.
Additionally, there are discussions around enhancing usability through better error handling and clearer messaging in group chat scenarios, which could improve user experience significantly.
Overall, the recent activity showcases a vibrant community focused on refining and enhancing the AutoGen framework while addressing existing limitations and bugs.
The analysis of the provided pull requests (PRs) for the AutoGen project reveals a dynamic and active development environment. The project is undergoing significant enhancements, particularly with the transition from version 0.2 to 0.4, which includes architectural overhauls and the introduction of new features. The community engagement is evident through a variety of contributions ranging from minor bug fixes to major feature additions.
PR #4056: Remove isinstance check from FunctionTool (#3987)
PR #4054: [.NET] Enable package vulnerable
PR #4050: Bugfix: Web surfer creating incomplete copy of messages
PR #4047: Bren
PR #4046: using protocols for message handler decorated functions
PR #4032: Magentic-One Log Viewer + preview API
PR #4016: feat: allow to passthru kwargs to serialization impl
PR #4013: Update import in the Tutorial Files
PR #4005: Refactoring the services and implementing an in-memory runtime for .NET
PR #3999: add simple chainlit integration
The pull requests reflect several key themes in the ongoing development of the AutoGen project:
Architectural Enhancements: PRs like #4056, #4050, and #4005 indicate a strong focus on refining the architecture, improving flexibility, and enhancing performance. The transition from version 0.2 to 0.4 is marked by significant changes aimed at scalability and usability.
Community Contributions: The variety of PRs, from bug fixes (#4050) to feature additions (#3999), demonstrates active community engagement. Contributors are not only fixing issues but also adding new functionalities, indicating a vibrant ecosystem around AutoGen.
Security and Reliability Improvements: PRs addressing security vulnerabilities (#4054) and bugs affecting functionality (#4050) highlight an emphasis on reliability and security within the project.
Documentation and Usability Focus: Changes aimed at improving documentation accuracy (#4013) and user interaction (#3999) suggest an ongoing effort to enhance usability and developer experience.
Integration with External Tools: The addition of features like Chainlit integration (#3999) points towards expanding AutoGen's capabilities through integration with other tools, enhancing its utility in real-world applications.
In conclusion, the AutoGen project is actively evolving with contributions that enhance its architecture, improve security and reliability, expand its functionalities through integrations, and focus on usability through better documentation and user interfaces. The community's involvement is crucial in this growth, as evidenced by the diverse range of pull requests addressing various aspects of the project.
Reuben Bond (ReubenBond)
Eric Zhu (ekzhu)
model_usage
to models_usage
.David Luong (DavidLuong98)
Xiaoyun Zhang (LittleLittleCloud)
Mohammad Mazraeh (MohMaz)
Rohan Thacker (rohanthacker)
Ryan Sweet (rysweet)
Victor Dibia (victordibia)
Jack Gerrits (jackgerrits)
Hussein Mozannar (husseinmozannar)
Leonardo Pinheiro (lspinheiro)
Others: Several other contributors have made minor contributions or are involved in ongoing projects but are less active than the main contributors listed above.
Active Collaboration: There is a strong collaborative effort among team members, particularly between Eric Zhu, Xiaoyun Zhang, and Ryan Sweet, indicating a cohesive development environment focused on improving the AutoGen framework.
Focus on Refactoring: A significant amount of recent activity involves refactoring code for better maintainability, particularly around async handling and service integrations, suggesting an ongoing effort to improve code quality as the project evolves.
Documentation Improvements: Many commits focus on enhancing documentation, which is crucial for community engagement as the project transitions between major versions (from v0.2 to v0.4).
Feature Development: The team is actively developing new features such as improved agent functionalities, integration support for additional tools, and enhancements to existing samples, indicating a forward-looking approach to expanding the framework's capabilities.
Community Engagement: The project emphasizes community feedback for refining new architecture before the official release of v0.4, showcasing a commitment to user-centered development practices.
Overall, the development team is engaged in a dynamic process of enhancing the AutoGen framework through collaborative efforts, refactoring for maintainability, expanding features, and improving documentation while actively seeking community involvement.