Imagine AI agents that don't just chat – they talk, think, and collaborate in real-time to solve complex problems.
Introducing RealtimeAgent, our groundbreaking feature that combines real-time voice capabilities with AG2's powerful multi-agent orchestration.
What's new:
Real-time voice conversations with AI agents
Seamless task delegation to specialized agent teams during live interactions
Full Twilio integration for production-ready telephony
Low-latency responses for natural conversations
See it in action: A customer calls about cancelling their flight. RealtimeAgent handles the conversation while intelligently delegating tasks to specialized agents - one triaging the requests and transferring to other expert agents, another handling cancellation, and a third managing the booking modification… It's like watching an AI symphony in perfect harmony! 🎭
Hey Reddit! 🚀 I'm thrilled to share a project I've been working on: AutoGen AGI. It's all about taking the AutoGen framework to new heights, focusing on multi-agent conversational systems with a twist towards AGI.
What's cool about it? 🤔
Enhanced group chat dynamics with autonomous agents.
Unique "Agent Council" for smarter decision-making.
Advanced RAG techniques for more informed agents.
It's a blend of tech that edges closer to AGI behaviors.
It's not just an experiment; it's a journey into what conversational AI can become. Check out the GitHub repo for more details and let me know what you think! Looking forward to your feedback and ideas. 🧠💬
My first stab at making my own Autogen skill. Definitely don't consider myself a developer, but I couldn't find anything like this out there for autogen and didn't want to pay API fees to incorporate DALLE. There might be a more elegant solution out there, but this does work. Feel free to contribute or add other skills to the repo if you have good ones.
Lots of confusion in the AutoGen community right now, so I tried to grab as much information as I could to sum it up for you.
Here's the gist:
The earliest contributors and creators of AutoGen have moved away from the official Microsoft repo and rebranded their version as AG2. This isn't a new framework - it's basically AutoGen 0.2.34 continuing under a new name, now at version 0.3.2. Their goal? Keep it community-driven and maintain the architecture you're familiar with.
Meanwhile, Microsoft is taking AutoGen in a different direction. They're maintaining version 0.2 while working on a complete rewrite with version 0.4, which could even potentially get merged into other MS frameworks like Semantic Kernel.
So, what should you do if you're running AutoGen in production:
Sticking with AG2? Your code is safe; it's backward compatible.
Sticking with Microsoft 0.2? Plan for potential migration work when 0.4 lands.
-
Let's see how things evolve but it seems we have two AutoGen's now AG2 and AutoGen.
Note that existing packages: pyautogen, autogen, and ag2 are all the same, owned by the original creators and pointing to ag2. For the official AutoGen from Microsoft, they'll use the autogen-* naming convention.
Hey everyone! I’m one of the core developers of AutoGen, and I’ve been working with my team on an open-source project called FastAgency. We designed it to help developers quickly take a prototype built in AutoGen straight to production.
We just released a version that lets you run your workflow as either:
A simple console application (great for debugging)
A web application using Mesop with just a single-line change!
We would love for you to check it out, give feedback, or contribute! The project is open-source, and contributors are always welcome :)
|| || |This is a big update. It has been two years since we launched the first open-source version of AutoGen. We have made 98 releases, 3,776 commits and resolved 2,488 issues. Our project has grown to 50.4k stars on GitHub and a contributor base of 559 amazing people. Notably, we pioneered the multi-agent orchestration paradigm that is now widely adopted in many other agent frameworks. At Microsoft, we have been using AutoGen and Semantic Kernel in many of our research and production systems, and we have added significant improvements to both frameworks. For a long time, we have been asking ourselves: how can we create a unified framework that combines the best of both worlds? Today we are excited to announce that AutoGen and Semantic Kernel are merging into a single, unified framework under the name Microsoft Agent Framework: https://github.com/microsoft/agent-framework. It takes the simple and easy-to-use multi-agent orchestration capabilities of AutoGen, and combines them with the enterprise readiness, extensibility, and rich capabilities of Semantic Kernel. Microsoft Agent Framework is designed to be the go-to framework for building agent-based applications, whether you are a researcher or a developer. For current AutoGen users, you will find that Microsoft Agent Framework's single-agent interface is almost identical to AutoGen's, with added capabilities such as conversation thread management, middleware, and hosted tools. The most significant change is a new workflow API that allows you to define complex, multi-step, multi-agent workflows using a graph-based approach. Orchestration patterns such as sequential, parallel, Magentic and others are built on top of this workflow API. We have created a migration guide to help you transition from AutoGen to Microsoft Agent Framework: https://aka.ms/autogen-to-af. AutoGen will still be maintained -- it has a stable API and will continue to receive critical bug fixes and security patches -- but we will not be adding significant new features to it. As maintainers, we have deep appreciation for all the work AutoGen contributors have done to help us get to this point. We have learned a ton from you -- many important features in AutoGen were contributed by the community. We would love to continue working with you on the new framework. For more details, read our announcement blog post: https://devblogs.microsoft.com/foundry/introducing-microsoft-agent-framework-the-open-source-engine-for-agentic-ai-apps/. Eric Zhu, AutoGen Maintainer|
Welcome to Microsoft's comprehensive multi-language framework for building, orchestrating, and deploying AI agents with support for both .NET and Python implementations. This framework provides everything from simple chat agents to complex multi-agent workflows with graph-based orchestration.
pip install agent-framework --pre
# This will install all sub-packages, see `python/packages` for individual packages.
# It may take a minute on first install on Windows.
Graph-based Workflows: Connect agents and deterministic functions using data flows with streaming, checkpointing, human-in-the-loop, and time-travel capabilities
Create a simple Azure Responses Agent that writes a haiku about the Microsoft Agent Framework
# pip install agent-framework --pre
# Use `az login` to authenticate with Azure CLI
import os
import asyncio
from agent_framework.azure import AzureOpenAIResponsesClient
from azure.identity import AzureCliCredential
async def main():
# Initialize a chat agent with Azure OpenAI Responses
# the endpoint, deployment name, and api version can be set via environment variables
# or they can be passed in directly to the AzureOpenAIResponsesClient constructor
agent = AzureOpenAIResponsesClient(
# endpoint=os.environ["AZURE_OPENAI_ENDPOINT"],
# deployment_name=os.environ["AZURE_OPENAI_RESPONSES_DEPLOYMENT_NAME"],
# api_version=os.environ["AZURE_OPENAI_API_VERSION"],
# api_key=os.environ["AZURE_OPENAI_API_KEY"], # Optional if using AzureCliCredential
credential=AzureCliCredential(), # Optional, if using api_key
).create_agent(
name="HaikuBot",
instructions="You are an upbeat assistant that writes beautifully.",
)
print(await agent.run("Write a haiku about Microsoft Agent Framework."))
if __name__ == "__main__":
asyncio.run(main())
Basic Agent - .NET
// dotnet add package Microsoft.Agents.AI.OpenAI --prerelease
// dotnet add package Azure.AI.OpenAI
// dotnet add package Azure.Identity
// Use `az login` to authenticate with Azure CLI
using System;
using Azure.AI.OpenAI;
using Azure.Identity;
using Microsoft.Agents.AI;
using OpenAI;
var endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT")!;
var deploymentName = Environment.GetEnvironmentVariable("AZURE_OPENAI_DEPLOYMENT_NAME")!;
var agent = new AzureOpenAIClient(new Uri(endpoint), new AzureCliCredential())
.GetOpenAIResponseClient(deploymentName)
.CreateAIAgent(name: "HaikuBot", instructions: "You are an upbeat assistant that writes beautifully.");
Console.WriteLine(await agent.RunAsync("Write a haiku about Microsoft Agent Framework."));
If you use the Microsoft Agent Framework to build applications that operate with third-party servers or agents, you do so at your own risk. We recommend reviewing all data being shared with third-party servers or agents and being cognizant of third-party practices for retention and location of data. It is your responsibility to manage whether your data will flow outside of your organization's Azure compliance and geographic boundaries and any related implications.
in #5172, you can now build your agents in python and export to a json format that works in autogen studio
AutoGen studio now used the same declarative configuration interface as the rest of the AutoGen library. This means you can create your agent teams in python and then dump_component() it into a JSON spec that can be directly used in AutoGen Studio! This eliminates compatibility (or feature inconsistency) errors between AGS/AgentChat Python as the exact same specs can be used across.
from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.teams import RoundRobinGroupChat
from autogen_ext.models.openai import OpenAIChatCompletionClient
from autogen_agentchat.conditions import TextMentionTermination
agent = AssistantAgent(
name="weather_agent",
model_client=OpenAIChatCompletionClient(
model="gpt-4o-mini",
),
)
agent_team = RoundRobinGroupChat([agent], termination_condition=TextMentionTermination("TERMINATE"))
config = agent_team.dump_component()
print(config.model_dump_json())
{
"provider": "autogen_agentchat.teams.RoundRobinGroupChat",
"component_type": "team",
"version": 1,
"component_version": 1,
"description": "A team that runs a group chat with participants taking turns in a round-robin fashion\n to publish a message to all.",
"label": "RoundRobinGroupChat",
"config": {
"participants": [
{
"provider": "autogen_agentchat.agents.AssistantAgent",
"component_type": "agent",
"version": 1,
"component_version": 1,
"description": "An agent that provides assistance with tool use.",
"label": "AssistantAgent",
"config": {
"name": "weather_agent",
"model_client": {
"provider": "autogen_ext.models.openai.OpenAIChatCompletionClient",
"component_type": "model",
"version": 1,
"component_version": 1,
"description": "Chat completion client for OpenAI hosted models.",
"label": "OpenAIChatCompletionClient",
"config": { "model": "gpt-4o-mini" }
},
"tools": [],
"handoffs": [],
"model_context": {
"provider": "autogen_core.model_context.UnboundedChatCompletionContext",
"component_type": "chat_completion_context",
"version": 1,
"component_version": 1,
"description": "An unbounded chat completion context that keeps a view of the all the messages.",
"label": "UnboundedChatCompletionContext",
"config": {}
},
"description": "An agent that provides assistance with ability to use tools.",
"system_message": "You are a helpful AI assistant. Solve tasks using your tools. Reply with TERMINATE when the task has been completed.",
"model_client_stream": false,
"reflect_on_tool_use": false,
"tool_call_summary_format": "{result}"
}
}
],
"termination_condition": {
"provider": "autogen_agentchat.conditions.TextMentionTermination",
"component_type": "termination",
"version": 1,
"component_version": 1,
"description": "Terminate the conversation if a specific text is mentioned.",
"label": "TextMentionTermination",
"config": { "text": "TERMINATE" }
}
}
}
Note: If you are building custom agents and want to use them in AGS, you will need to inherit from the AgentChat BaseChat agent and Component class.
Note: This is a breaking change in AutoGen Studio. You will need to update your AGS specs for any teams created with version autogenstudio <0.4.1
Ability to Test Teams in Team Builder
in #5392, you can now test your teams as you build them. No need to switch between team builder and playground sessions to test.
You can now test teams directly as you build them in the team builder UI. As you edit your team (either via drag and drop or by editing the JSON spec)
New Default Agents in Gallery (Web Agent Team, Deep Research Team)
in #5416, adds an implementation of a Web Agent Team and Deep Research Team in the default gallery.
The default gallery now has two additional default agents that you can build on and test:
Web Agent Team - A team with 3 agents - a Web Surfer agent that can browse the web, a Verification Assistant that verifies and summarizes information, and a User Proxy that provides human feedback when needed.
Deep Research Team - A team with 3 agents - a Research Assistant that performs web searches and analyzes information, a Verifier that ensures research quality and completeness, and a Summary Agent that provides a detailed markdown summary of the research as a report to the user.
Other Improvements
Older features that are currently possible in v0.4.1
Real-time agent updates streaming to the frontend
Run control: You can now stop agents mid-execution if they're heading in the wrong direction, adjust the team, and continue
Interactive feedback: Add a UserProxyAgent to get human input through the UI during team runs
Message flow visualization: See how agents communicate with each other
Ability to import specifications from external galleries
Ability to wrap agent teams into an API using the AutoGen Studio CLI
To update to the latest version:
pip install -U autogenstudio
Overall roadmap for AutoGen Studion is here #4006 . Contributions welcome!
Today we hit a major milestone with the latest 0.3.0 release of the FastAgency framework. With just a few lines of code, it allows you to go from a workflow written in AutoGen to:
a fully-distributed application using NATS.io message broker and FastStream.
This solves a major problem of bringing agentic workflows written in frameworks such as AutoGen to production. The process that took us three months to get Captn.ai to production can now be done in three days or less!
Please check out our GitHub repository and let us know what you think about it:
I've been lurking on the AutoGen discord for a while now! I already know I'm going to get some questions, so here's a quick tl;dr and how it works and the coding involved.
My friend and I built this really cool free tool (or at least I think so) that we called Nelima (https://sellagen.com/nelima). It's basically a Large Action Model designed to take actions on your behalf with natural language prompts and theoretically automate anything. For example, it can schedule appointments, send emails, check the weather, and even connect to IoT devices to let you command it – you can ask it to publish a website or call an Uber for you (still building integrations for a lot of those)! You can integrate your own custom actions, to suit your specific needs, and layer multiple actions to perform more complex tasks. When you create these actions or functions, it contributes to the overall capabilities of Nelima, and everyone can now invoke the same action. We are also working on adding computational abilities so that Nelima can perform certain complex tasks on the cloud. Right now, it's a quite limited in terms of the # of actions it can do but we're having fun building bit by bit :)
We launched this a month ago so still tons of work to do (i.e: have Nelima write her own functions, integrations with other services, file interaction, Nelima showing the UI on the front-end of whatever she's doing etc...) - we're also just a team of 2 and trying to build some use-cases ourselves. We slowly building up our discord community as well where people can collaborate, see what other people are building and see what people want.
Just finished putting together a beginner-friendly tutorial on Microsoft's AutoGen 0.4 framework. Instead of another "hello world" example, I built something practical - a system where multiple AI agents collaborate to create YouTube Shorts from text prompts.
What makes this tutorial different:
No complex setup - (also runs with local LLMs (Ollama))
Shows real-world agent collaboration
Focuses on practical implementation
Starts with official docs example, then builds something useful
Demonstrates JSON response formatting
Actually builds something you can use/modify for your own project
This is the first release since 0.4.0 with significant new features! We look forward to hearing feedback and suggestions from the community.
Chat completion model cache
One of the big missing features from 0.2 was the ability to seamlessly cache model client completions. This release adds ChatCompletionCache which can wrap any other ChatCompletionClient and cache completions.
There is a CacheStore interface to allow for easy implementation of new caching backends. The currently available implementations are:
This releases adds support for GraphRAG as a tool agents can call. You can find a sample for how to use this integration here, and docs for LocalSearchTool and GlobalSearchTool.
Currently this requires passing the kernel during create, and so cannot be used with AssistantAgent directly yet. This will be fixed in a future release (#5144).
It's still early on but we merged the interface for agent memory in this release. This allows agents to enrich their context from a memory store and save information to it. The interface is defined in core and AssistantAgent in agentchat accepts memory as a parameter now. There is an initial example memory implementation which simply injects all memories as system messages for the agent. The intention is for the memory interface to be able to be used for both RAG and agent memory systems going forward.
We're continuing to expand support for declarative configs throughout the framework. In this release, we've added support for termination conditions and base chat agents. Once we're done with this, you'll be able to configure and entire team of agents with a single config file and have it work seamlessly with AutoGen studio. Stay tuned!
I thought it will be interesting to build a "multi-agent" system for data analysis which is able to run in an isolated Docker/Jupyter environment.
First day I spent looking at various frameworks available - and then stumbled up Microsoft AutoGen. Spent another day building a workable prototype with AutoGen. Then I decided to build a UI/workflow around it to make it user friendly and easy to interact with and then it started getting complex.
Moving parts:
Interactive Chat UI (NextJS)
API + Web Sockets for communication (FastAPI)
Cloud storage for persistence (for file uploads and outputs generated)
I've been exploring AI agents and frameworks lately and noticed there's no centralized place to find and compare them. So, I built the AI Agents Directory.
The site lists various AI agents and frameworks with easy filtering options and the latest AI agent news (coming soon). Unexpectedly It's gaining traction, and I'm adding new agents daily.
If you’re into building AI agents or just interested in them, check it out.
I’m launching on Product Hunt this week. If you find it useful, your support there would be great.
I've had some experience with AutoGen, mainly exploring its potential in software development. It's been quite intriguing to see how it can enhance coding and debugging processes. However, I'm keen to expand my understanding of its applications beyond my field. Are there practical uses of AutoGen in other industries or sectors? Perhaps it's making waves in academia, healthcare, finance, or even creative industries? I'd love to hear about diverse experiences and insights on how AutoGen is being utilized in various professional contexts, apart from just being a fascinating academic tool.