The "microsoft/autogen" project is an open-source framework developed by Microsoft for building AI agent systems. It facilitates the creation of event-driven, distributed, scalable, and resilient AI applications with support for asynchronous messaging and cross-language interoperability. The project is currently undergoing a major rewrite to version 0.4, which aims to enhance its architecture while maintaining backward compatibility with version 0.2. This reflects Microsoft's commitment to evolving the framework based on user feedback and technological advancements.
afourney:
Mohammad Mazraeh (MohMaz):
Gerardo Moreno (gziz):
Peter Y Chang (peterychang):
Eric Zhu (ekzhu):
Victor Dibia (victordibia):
Diego Colombo (colombod):
David Luong (DavidLuong98):
Hussein Mozannar (husseinmozannar):
Reuben Bond (ReubenBond):
Ryan Sweet (rysweet):
Timespan | Opened | Closed | Comments | Labeled | Milestones |
---|---|---|---|---|---|
7 Days | 35 | 21 | 42 | 1 | 5 |
30 Days | 163 | 98 | 202 | 18 | 5 |
90 Days | 345 | 162 | 449 | 48 | 8 |
All Time | 1896 | 1391 | - | - | - |
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 |
---|---|---|---|---|---|---|
Victor Dibia | 3 | 5/3/1 | 8 | 130 | 36738 | |
Kosta Petan (kostapetan) | 1 | 1/0/0 | 1 | 85 | 13194 | |
Eric Zhu | 3 | 31/30/1 | 31 | 68 | 8376 | |
Xiaoyun Zhang | 1 | 2/3/0 | 3 | 110 | 2581 | |
Ryan Sweet | 3 | 2/2/1 | 27 | 45 | 1533 | |
Hussein Mozannar | 1 | 2/2/0 | 2 | 17 | 960 | |
Mohammad Mazraeh | 1 | 3/2/0 | 2 | 20 | 529 | |
Anthony Uphof | 1 | 0/1/0 | 1 | 4 | 382 | |
Reuben Bond | 1 | 4/4/0 | 4 | 25 | 373 | |
Gerardo Moreno | 1 | 3/3/0 | 3 | 7 | 291 | |
Diego Colombo | 1 | 2/1/0 | 1 | 21 | 214 | |
afourney | 1 | 2/2/0 | 2 | 1 | 161 | |
peterychang | 1 | 1/1/0 | 1 | 1 | 34 | |
David Luong | 1 | 2/2/0 | 2 | 5 | 15 | |
Rohan Thacker | 1 | 1/1/0 | 1 | 4 | 8 | |
Mark Sze | 1 | 1/1/0 | 1 | 1 | 6 | |
Joel Klaverkamp (kampernet) | 1 | 1/1/0 | 1 | 1 | 2 | |
Mahesh Subramanian | 1 | 1/1/0 | 1 | 1 | 2 | |
Eduardo Salinas (lalo) | 0 | 1/0/0 | 0 | 0 | 0 | |
Will Dembinski (wi-ski) | 0 | 1/0/0 | 0 | 0 | 0 | |
Tomek Słoma (Hedrekao) | 0 | 1/0/0 | 0 | 0 | 0 | |
Md Azfar Alam (mdazfar2) | 0 | 1/0/1 | 0 | 0 | 0 | |
Thai Nguyen (thainduy) | 0 | 2/0/1 | 0 | 0 | 0 | |
Vaibhav Balloli (vballoli) | 0 | 1/0/0 | 0 | 0 | 0 | |
Benoit Moussaud (bmoussaud) | 0 | 1/0/0 | 0 | 0 | 0 | |
None (tsinggggg) | 0 | 2/0/0 | 0 | 0 | 0 | |
None (frances720) | 0 | 1/0/1 | 0 | 0 | 0 | |
Leonardo Pinheiro (lspinheiro) | 0 | 1/0/0 | 0 | 0 | 0 | |
Pramod Goyal (goyalpramod) | 0 | 1/0/0 | 0 | 0 | 0 | |
None (BrennanOwYong) | 0 | 1/0/0 | 0 | 0 | 0 |
PRs: created by that dev and opened/merged/closed-unmerged during the period
Risk | Level (1-5) | Rationale |
---|---|---|
Delivery | 4 | The project faces significant delivery risks due to a growing backlog of open issues and pull requests. The net increase of 183 open issues over the past 90 days indicates challenges in keeping up with incoming issues, which could delay project milestones. Additionally, the presence of unresolved high-priority issues like #4136 further exacerbates these risks. The backlog of 35 open pull requests also suggests potential bottlenecks in the review and integration process, impacting delivery timelines. |
Velocity | 3 | While there is a high level of development activity with significant contributions from key developers, the backlog of open issues and pull requests poses a risk to maintaining velocity. The high volume of changes from contributors like Victor Dibia and Eric Zhu suggests strong velocity, but the single merge out of 30 PRs indicates potential bottlenecks that could slow progress. The need for improved test coverage and dependency management also impacts the project's ability to sustain its current pace. |
Dependency | 4 | The project faces dependency risks due to reliance on external libraries and systems, such as Playwright and aiofiles, which could disrupt functionality if not maintained. Issues like #4136 highlight critical bugs related to undefined components, posing risks to dependency management. The introduction of new AI models and visualization features increases dependency on external systems that must be kept up-to-date to avoid integration issues. |
Team | 3 | The team shows active engagement with a high number of comments on issues and pull requests, indicating good communication. However, the disparity in commit sizes and contributions suggests varying levels of engagement, which could affect team dynamics if key contributors are overloaded. The presence of many developers with minimal or no commits may indicate potential burnout or uneven workload distribution. |
Code Quality | 3 | There are concerns about code quality due to the high volume of changes and large commits from key contributors like Victor Dibia. The lack of comprehensive testing in some pull requests, such as PR#4149, which adds error handling utilities without thorough tests, highlights potential risks to code quality. Additionally, the presence of TODO comments in critical files suggests incomplete code that could contribute to technical debt if not addressed. |
Technical Debt | 4 | The project is accumulating technical debt due to a growing backlog of unresolved issues and incomplete code sections marked by TODO comments. Large commits with substantial changes pose risks if not thoroughly reviewed and tested. The need for refactoring and improving existing code structures is evident but may introduce new bugs or integration issues if not properly managed. |
Test Coverage | 4 | Test coverage is insufficient as highlighted by gaps encountered in PR#4149 and other pull requests that lack comprehensive testing. The presence of unresolved test issues suggests that new features might introduce regressions or bugs if not adequately covered by tests. This poses a risk to maintaining robust error handling and overall system reliability. |
Error Handling | 3 | Error handling is addressed through logging and exception management within asynchronous tasks, but there are several TODO comments related to exception recovery and timeout handling that suggest potential gaps in robustness. While some improvements have been made, such as in PR#4149, these need thorough testing to ensure effectiveness. |
Recent activity in the "microsoft/autogen" GitHub repository shows a significant number of issues being addressed, with a focus on enhancing the framework's capabilities and resolving bugs. The project is actively maintained, with issues being created and closed frequently, indicating a responsive development team. Key themes include improving documentation, expanding support for different LLMs (Large Language Models), and refining the framework's architecture for better performance and usability.
#4144: This issue highlights the need for better documentation of nested chat examples using ChatAgent
. The request includes API additions to improve initialization processes, reflecting a focus on enhancing developer experience.
#4136: A critical bug was reported where an example failed due to an undefined component (MultimodalWebSurfer
). This indicates potential gaps in testing or documentation that need addressing to ensure smooth user experiences.
#4117: The introduction of constants and documentation for model clients through external APIs suggests ongoing efforts to expand the framework's compatibility with various LLMs, enhancing its versatility.
#4109: A proposal to make certain methods asynchronous reflects a push towards optimizing performance and scalability, crucial for handling complex AI workflows.
#4089: A discussion on renaming components for clarity indicates active efforts to refine the framework's architecture and improve code readability.
Documentation Enhancements: Several issues focus on improving documentation (#4144, #4117), highlighting a commitment to making the framework more accessible to developers.
Bug Fixes and Stability: Issues like #4136 emphasize the importance of addressing bugs promptly to maintain user trust and ensure reliable performance.
Feature Expansion: The addition of new features such as support for external LLMs (#4117) and asynchronous methods (#4109) demonstrates ongoing efforts to keep the framework competitive and versatile.
Architectural Refinements: Discussions around method naming (#4089) and async implementations reflect a continuous effort to refine the framework's architecture for better usability and performance.
#4144: Created 1 day ago; Priority: High; Status: Open
ChatAgent
.#4140: Created 1 day ago; Priority: Medium; Status: Open
#4136: Updated 0 days ago; Priority: High; Status: Open
MultimodalWebSurfer
).#4117: Updated 1 day ago; Priority: Medium; Status: Open
Overall, the recent activity in the "microsoft/autogen" repository reflects a dynamic development environment focused on enhancing functionality, improving documentation, and ensuring stability. The team's responsiveness to issues suggests a strong commitment to maintaining the framework's relevance and usability in the evolving landscape of AI development.
#4149: task: added warning when none is called in intervention handler
None
is returned in the intervention handler, addressing issue #3621. The implementation uses Python's built-in warnings library to alert users.autogen-core\tests\execution\test_user_defined_functions.py
and is unsure if they are related to the changes.#4148: Add visualization of Agent Message Transitions State in AGS
#4146: Swarm Tutorial
max_turn
functionality.#4143: Max turn parameter for group chats
max_turns
parameter to control user engagement in group chats, useful for chatbots.#4131: WIP - OpenAI Assistants Agent
#4147: [Fix] MultimodalWebSurfer initialization issue in page_script.js
MultimodalWebSurfer
.#4145 & #4142 & #4139 & #4137 & #4129 & #4128 & #4126 & #4124 & #4121 & #4118 & #4110 & #4104 & #4097 & #4096 & #4093 & #4092 & #4091 & #4090 & #4088
_multimodal_web_surfer.py
This file defines the MultimodalWebSurfer
class, a multimodal agent that can perform web searches, visit web pages, and interact with content. It extends the BaseChatAgent
class from the autogen_agentchat
package.
MultimodalWebSurfer
class is initialized with several parameters such as name
, model_client
, description
, and browser-related settings._reply_chat_completion_client.py
This file implements the ReplayChatCompletionClient
class, a mock client that replays predefined chat responses.
create
) and stream completions (create_stream
)._terminations.py
This file defines several termination conditions for conversations in the agent chat system.
StopMessageTermination
: Terminates conversation upon receiving a stop message.MaxMessageTermination
: Limits conversation to a maximum number of messages.TextMentionTermination
: Ends conversation if specific text is mentioned.TokenUsageTermination
: Terminates based on token usage limits.HandoffTermination
: Ends conversation upon receiving a handoff message with a specific target.teams.ipynb
This Jupyter Notebook serves as a tutorial for using teams in the AgentChat framework.
HelloAIAgent.cs
This C# file defines a sample AI agent named HelloAIAgent
.
afourney:
microsoft/autogen
repository.Mohammad Mazraeh (MohMaz):
Gerardo Moreno (gziz):
Peter Y Chang (peterychang):
Eric Zhu (ekzhu):
Victor Dibia (victordibia):
Diego Colombo (colombod):
Mark Sze (marklysze):
Mahesh Subramanian (maheshpec):
David Luong (DavidLuong98):
Hussein Mozannar (husseinmozannar):
Reuben Bond (ReubenBond):
Xiaoyun Zhang (LittleLittleCloud):
Rohan Thacker (rohanthacker):
Ryan Sweet (rysweet):
Anthony Uphof (auphof):
Kosta Petan (kostapetan):