## AG2 v0.9 Release: Introducing the New Group Chat

### TL;DR

- AG2 [`v0.9`](https://pypi.org/project/ag2/0.9/) unifies the previous Group Chat and Swarm into a single, powerful, new Group Chat  
- This unification provides improved flexibility, control, and better foundations for scalability  
- Features include pre-built orchestration patterns, enhanced workflow control, and robust context variables  
- Includes all capabilities of the previous Group Chat and Swarm  
- Swarm is now deprecated but still available. We recommend migrating to the new Group Chat pattern

## The Myth of Reasoning

**TL;DR**

- **Human reasoning is often mischaracterized as purely logical; it's iterative, intuitive, and driven by communication needs.**  
- **AI can be a valuable partner in augmenting human reasoning.**  
- **Viewing AI as a system of components, rather than a monolithic model, may better capture the iterative nature of reasoning.**

One major criticism of AI today, including the state-of-the-art LLMs, is that they fall short in reasoning capability compared to humans. This criticism often stems from a fundamental misunderstanding of how human reasoning actually works. We tend to hold up an idealized image of human thought – rational, logical, step-by-step – and judge AI against this standard. But is this image accurate?

## DeepResearchAgent - Your Shortcut for Faster Research

## Get Communicating with Discord, Slack, and Telegram

### Welcome DiscordAgent, SlackAgent, and TelegramAgent

We want to help you focus on building workflows and enhancing agents, so we're building reference agents to get you going quicker.

Say hello to three new AG2 communication agents - [`DiscordAgent`](https://docs.ag2.ai/0.9.1/docs/api-reference/autogen/agents/experimental/DiscordAgent), [`SlackAgent`](https://docs.ag2.ai/0.9.1/docs/api-reference/autogen/agents/experimental/SlackAgent), and [`TelegramAgent`](https://docs.ag2.ai/0.9.1/docs/api-reference/autogen/agents/experimental/TelegramAgent), here so that you can use an agentic application to send and retrieve messages from messaging platforms.

## Riding the Web with WebSurferAgent

### Introduction

In our [Adding Browsing Capabilities to AG2](https://docs.ag2.ai/0.9.1/docs/blog/2025/01/31/Websurfing-Tools) guide, we explored how to build agents with basic web surfing capabilities. Now, let's take it to the next level with [`WebSurferAgent`](https://docs.ag2.ai/0.9.1/docs/api-reference/autogen/agents/experimental/WebSurferAgent)—a powerful agent that comes with built-in web browsing tools right out of the box!

With [`WebSurferAgent`](https://docs.ag2.ai/0.9.1/docs/api-reference/autogen/agents/experimental/WebSurferAgent), your agents can seamlessly browse the web, retrieve real-time information, and interact with web pages—all with minimal setup.

## Adding Browsing Capabilities to AG2

### Introduction

Previously, in our [Cross-Framework LLM Tool Integration](https://docs.ag2.ai/0.9.1/docs/blog/2024/12/20/Tools-interoperability) guide, we combined tools from frameworks like **LangChain**, **CrewAI**, and **PydanticAI** to enhance AG2.

Now, we’re taking AG2 even further by integrating [`Browser Use`](https://github.com/browser-use/browser-use) and [`Crawl4AI`](https://github.com/unclecode/crawl4ai), enabling agents to navigate websites, extract dynamic content, and interact with web pages. This unlocks new possibilities for automated data collection, web automation, and more.

## RealtimeAgent with Gemini API

**TL;DR:**

- RealtimeAgent now supports [Gemini Multimodal Live API](https://ai.google.dev/api/multimodal-live)

### Why is this important?

We previously supported a Realtime Agent powered by OpenAI. In December 2024, Google rolled out [Gemini 2.0](https://blog.google/technology/google-deepmind/google-gemini-ai-update-december-2024/), which includes the multi-modal live APIs. These APIs enable advanced capabilities such as real-time processing of audio inputs in live conversational settings. To ensure developers can fully leverage the capabilities of the latest LLMs, we now also support a RealtimeAgent powered by Gemini.

## Tools with ChatContext Dependency Injection

### Introduction

In this post, we’ll build upon the concepts introduced in our previous blog on [Tools with Dependency Injection](https://docs.ag2.ai/0.9.1/docs/blog/2025/01/07/Tools-Dependency-Injection). We’ll take a deeper look at how [`ChatContext`](https://docs.ag2.ai/0.9.1/docs/api-reference/autogen/tools/ChatContext#autogen.tools.ChatContext.chatcontext) can be used to manage the flow of conversations in a more structured and secure way.

By using [`ChatContext`](https://docs.ag2.ai/0.9.1/docs/api-reference/autogen/tools/ChatContext#autogen.tools.ChatContext.chatcontext), we can track and control the sequence of function calls during a conversation. This is particularly useful in situations where one task must be completed before another — for example, ensuring that a user logs in before they can check their account balance. This approach helps to prevent errors and enhances the security of the system.

**Benefits of Using [`ChatContext`](https://docs.ag2.ai/0.9.1/docs/api-reference/autogen/tools/ChatContext#autogen.tools.ChatContext.chatcontext)**: 
- **Flow Control**: Ensures tasks are performed in the correct order, reducing the chance of mistakes.  
- **Enhanced Security**: Prevents unauthorized actions, such as accessing sensitive data before authentication.  
- **Simplified Debugging**: Logs the conversation history, making it easier to trace and resolve issues.

## Streaming input and output using WebSockets

### **TL;DR**

- Learn how to build an agent chat application using [WebSockets](https://fastapi.tiangolo.com/advanced/websockets/) and [`IOStream`](https://docs.ag2.ai/0.9.1/docs/api-reference/autogen/io/IOStream)  
- Explore a hands-on example of connecting a web application to a responsive chat with agents over [WebSockets](https://fastapi.tiangolo.com/advanced/websockets/).  
- **Streamlined Real-Time Interactions**: [WebSockets](https://fastapi.tiangolo.com/advanced/websockets/) offer a low-latency, persistent connection for sending and receiving data in real time.

## Real-Time Voice Interactions over WebRTC

**TL;DR:** 
- Build a real-time voice application using [WebRTC](https://webrtc.org/) and connect it with the [**`RealtimeAgent`**](https://docs.ag2.ai/0.9.1/docs/api-reference/autogen/agentchat/realtime/experimental/RealtimeAgent). [Demo implementation](https://github.com/ag2ai/realtime-agent-over-webrtc). 
- **Optimized for Real-Time Interactions**: Experience seamless voice communication with minimal latency and enhanced reliability.
