‹ Reports
The Dispatch

OSS Report: microsoft/autogen


AutoGen Development Sees Significant Architectural Overhaul with Version 0.4 Rewrite

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 Activity

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.

Team Members and Recent Activities

  1. Reuben Bond

    • Cleaned up Hello sample; supported Aspire 9.0; added CancellationToken parameters.
    • Recent commits: [Nov 3, 2024] Cleaned up Hello sample; [Nov 2, 2024] Added CancellationToken parameters.
  2. Eric Zhu

    • Renamed model_usage; implemented token usage termination; created tools from Microsoft.Extension.Ai.
    • Recent commits: [Nov 3, 2024] Renamed model_usage; [Nov 2, 2024] Implemented token usage termination.
  3. David Luong

    • Updated Microsoft.Extensions.AI and System.Text.Json versions.
    • Recent commits: [Nov 2, 2024] Updated Microsoft.Extensions.AI; [Nov 1, 2024] Updated System.Text.Json.
  4. Xiaoyun Zhang

    • Created tools from Microsoft.Extension.Ai; updated project files.
    • Recent commits: [Nov 1, 2024] Created tools from Microsoft.Extension.Ai; [Oct 31, 2024] Updated project files.
  5. Mohammad Mazraeh

    • Added Chainlit integration; worked on group chat samples.
    • Recent commits: [Oct 31, 2024] Added Chainlit integration; [Oct 30, 2024] Worked on group chat samples.
  6. Ryan Sweet

    • Refactored async/await patterns; worked on in-memory agent implementations.
    • Recent commits: [Oct 30, 2024] Refactored async/await patterns; [Oct 29, 2024] Worked on in-memory agent implementations.
  7. Victor Dibia

    • Updated agent chat documentation; added selector group chat features.
    • Recent commits: [Oct 29, 2024] Updated agent chat documentation; [Oct 28, 2024] Added selector group chat features.
  8. Jack Gerrits

    • Updated documentation and workflows.
    • Recent commits: [Oct 28, 2024] Updated documentation; [Oct 27, 2024] Updated workflows.

Of Note

Quantified Reports

Quantify Issues



Recent GitHub Issues Activity

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.

Quantify commits



Quantified Commit Activity Over 30 Days

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

Detailed Reports

Report On: Fetch issues



Recent Activity Analysis

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 Details

Most Recently Created Issues

  1. Issue #4049: Some Image URLs or local Images not supported in MultimodalConversableAgent

    • Priority: Normal
    • Status: Open
    • Created: 0 days ago
    • Updated: 0 days ago
  2. Issue #4039: Memory Interface for AgentChat agents

    • Priority: Needs design
    • Status: Open
    • Created: 3 days ago
    • Updated: 3 days ago
  3. Issue #4038: Timer-based termination condition

    • Priority: Normal
    • Status: Open
    • Created: 3 days ago
    • Updated: 3 days ago
  4. Issue #4037: Add Example of Cancellation Token

    • Priority: Normal
    • Status: Open
    • Created: 4 days ago
    • Updated: 4 days ago
  5. Issue #4027: Create a gallery page for applications built using AutoGen

    • Priority: Documentation
    • Status: Open
    • Created: 4 days ago
    • Updated: 0 days ago

Most Recently Updated Issues

  1. Issue #4045: Flexible nested chat triggers

    • Priority: Normal
    • Status: Open
    • Created: 3 days ago
    • Updated: 0 days ago
  2. Issue #4040: [.NET] Support creating tools from Microsoft.Extensions.AI.AIFunctionFactory

    • Priority: Normal
    • Status: Open
    • Created: 3 days ago
    • Updated: 0 days ago
  3. Issue #4031: [.Net] Update M.E.A.I to 9.0.0-preview.9.24525.1

    • Priority: Normal
    • Status: Open
    • Created: 3 days ago
    • Updated: 0 days ago
  4. Issue #4022: Termination condition for token/cost budget

    • Priority: Normal
    • Status: Open
    • Created: 4 days ago
    • Updated: 3 days ago
  5. Issue #4017: Include Metric in AgentChat Messages

    • Priority:Normal
    • Status:Open
    • Created:4 days ago
    • Updated:3 days ago

Analysis of Issues

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.

  • The issue regarding image URL support in the multimodal agent (#4049) suggests potential limitations in how the system handles different media types.
  • The request for a memory interface (#4039) indicates a desire for more sophisticated state management within agents, which could enhance their ability to maintain context over longer interactions.
  • The timer-based termination condition (#4038) reflects an ongoing concern about resource management and efficiency during agent operations.
  • The cancellation token example (#4037) highlights the need for clearer documentation and examples to help users implement these features effectively.

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.

Report On: Fetch pull requests



Overview

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.

Summary of Pull Requests

  1. PR #4056: Remove isinstance check from FunctionTool (#3987)

    • Significance: Enhances flexibility in wrapping functions that return lists or other subscripted generics.
    • Notable: Includes documentation improvements and tests for new functionality.
  2. PR #4054: [.NET] Enable package vulnerable

    • Significance: Addresses security by enabling checks for vulnerable packages in .NET projects.
    • Notable: Draft status indicates ongoing work and refinement.
  3. PR #4050: Bugfix: Web surfer creating incomplete copy of messages

    • Significance: Fixes a bug that could lead to exceptions due to incomplete message copies.
    • Notable: Directly impacts the reliability of web surfer functionality.
  4. PR #4047: Bren

    • Significance: Unclear from the title; requires more context.
    • Notable: Involves multiple commits and discussions about contributor agreements and secret detection.
  5. PR #4046: using protocols for message handler decorated functions

    • Significance: Attempts to address type checking issues with message handler functions.
    • Notable: Ongoing discussions suggest complexity and potential challenges in implementation.
  6. PR #4032: Magentic-One Log Viewer + preview API

    • Significance: Adds new features related to logging and API previews for Magentic-One.
    • Notable: Involves significant changes and additions, including new APIs and log handling improvements.
  7. PR #4016: feat: allow to passthru kwargs to serialization impl

    • Significance: Provides flexibility in serialization by allowing additional keyword arguments.
    • Notable: Simple change with potential wide-ranging implications on how serialization is handled across the project.
  8. PR #4013: Update import in the Tutorial Files

    • Significance: Minor updates to tutorial files to correct import statements.
    • Notable: Highlights ongoing efforts to maintain accurate and up-to-date documentation.
  9. PR #4005: Refactoring the services and implementing an in-memory runtime for .NET

    • Significance: Major refactor aimed at clarifying service roles and enabling in-memory execution.
    • Notable: Represents a significant architectural change with potential impacts on performance and scalability.
  10. PR #3999: add simple chainlit integration

    • Significance: Integrates Chainlit for enhanced UI capabilities within AutoGen applications.
    • Notable: Suggests a focus on improving user interaction and experience with AutoGen-powered applications.

Analysis of Pull Requests

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.

Report On: Fetch commits



Repo Commits Analysis

Development Team and Recent Activity

Team Members and Recent Activities

  1. Reuben Bond (ReubenBond)

    • Recent Contributions:
    • Cleaned up the Hello sample and supported Aspire 9.0.
    • Added CancellationToken parameters to API surface.
    • Worked on properties files in various samples.
    • Collaborations: Not explicitly mentioned but involved in multiple recent commits.
  2. Eric Zhu (ekzhu)

    • Recent Contributions:
    • Renamed model_usage to models_usage.
    • Implemented token usage termination and added token usage to messages.
    • Created tools from Microsoft.Extension.Ai.
    • Updated documentation and examples related to agent chat functionality.
    • Collaborations: Co-authored several commits with Xiaoyun Zhang and others.
  3. David Luong (DavidLuong98)

    • Recent Contributions:
    • Updated versions of Microsoft.Extensions.AI and System.Text.Json.
    • Worked on project configuration files.
    • Collaborations: Co-authored with Xiaoyun Zhang.
  4. Xiaoyun Zhang (LittleLittleCloud)

    • Recent Contributions:
    • Created tools from Microsoft.Extension.Ai and updated various project files.
    • Contributed to the upgrade of dependencies.
    • Collaborations: Co-authored with Eric Zhu on several commits.
  5. Mohammad Mazraeh (MohMaz)

    • Recent Contributions:
    • Added simple Chainlit integration.
    • Worked on distributed group chat samples and documentation.
    • Collaborations: Not explicitly mentioned.
  6. Rohan Thacker (rohanthacker)

    • Recent Contributions:
    • Corrected typos in model info files.
    • Collaborations: Not explicitly mentioned.
  7. Ryan Sweet (rysweet)

    • Recent Contributions:
    • Refactoring work, including cleaning up async/await patterns in the codebase.
    • Ongoing work on in-memory agent implementations and service integrations.
    • Collaborations: Frequently collaborates with other team members, including Eric Zhu.
  8. Victor Dibia (victordibia)

    • Recent Contributions:
    • Worked on updates for agent chat documentation and examples.
    • Added features related to selector group chat functionality.
    • Collaborations: Co-authored with Eric Zhu on several documentation updates.
  9. Jack Gerrits (jackgerrits)

    • Recent Contributions:
    • Various updates to documentation, workflows, and issue templates.
    • Collaborations: Frequently collaborates with Eric Zhu and others.
  10. Hussein Mozannar (husseinmozannar)

    • Recent Contributions:
    • Ongoing work on the MagenticOne project, including README updates and feature enhancements.
    • Collaborations: Not explicitly mentioned.
  11. Leonardo Pinheiro (lspinheiro)

    • Recent Contributions:
    • Minor contributions related to model info corrections.
    • Collaborations: Not explicitly mentioned.
  12. Others: Several other contributors have made minor contributions or are involved in ongoing projects but are less active than the main contributors listed above.

Patterns, Themes, and Conclusions

  • 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.