Microsoft Agent Framework là gì? AutoGen + Semantic Kernel gộp lại — và vừa lên 1.0
Nếu bạn từng mở tab học Semantic Kernel rồi đóng lại vì "có vẻ phức tạp" — hay clone repo AutoGen rồi không biết chạy từ đâu — thì Microsoft vừa có một câu trả lời cho cả hai vấn đề đó.
Microsoft Agent Framework 1.0 vừa chính thức release, stable APIs, production-ready, long-term support. Đây là framework kế thừa trực tiếp của cả Semantic Kernel lẫn AutoGen, được build bởi chính những team đó — nhưng được thiết kế lại từ đầu để dễ dùng hơn và đủ mạnh cho production.
Bài này mình sẽ đi thẳng vào những tính năng thực sự quan trọng để bạn hiểu nó làm được gì, và nên bắt đầu với nó như thế nào.
Tại sao lại ra đời? AutoGen và Semantic Kernel đi về đâu?
Trong vài năm qua, Microsoft có hai dự án AI agent song song:
Semantic Kernel — xuất phát từ nhóm enterprise, mạnh về cấu trúc, type safety, middleware, telemetry. Nhưng boilerplate nhiều, learning curve dốc.
AutoGen — xuất phát từ Microsoft Research, giỏi về multi-agent orchestration, group chat, pattern thực nghiệm. Nhưng thiếu tính enterprise, khó đưa lên production.
Hai cái cứ chạy song song, developer không biết dùng cái nào. Đó là vấn đề.
Agent Framework là câu trả lời: lấy điểm mạnh của cả hai, bỏ đi sự phức tạp không cần thiết, rồi thêm những thứ mà cả hai đều thiếu — như graph-based workflow, A2A protocol, và DevUI để debug.
Nói thẳng: nếu bạn đang dùng Semantic Kernel hay AutoGen, Microsoft có migration guide chi tiết. Không cần viết lại từ đầu.
Cài đặt mất 30 giây:
bash
# Python
pip install agent-framework
# .NET
dotnet add package Microsoft.Agents.AIWorkflow — Không chỉ là "chạy tuần tự từ trên xuống"
Đây là tính năng mà nhiều framework khác làm không tới.
Agent Framework hỗ trợ các kiểu workflow sau, tất cả đều có streaming, checkpointing, và human-in-the-loop:
Kiểu | Dùng khi nào |
|---|---|
Sequential | Bước 1 → Bước 2 → Bước 3, đơn giản nhất |
Concurrent | Nhiều agent chạy song song, gộp kết quả |
Handoff | Agent A xử lý xong, chuyển giao cho Agent B |
Group Chat | Nhiều agent tranh luận/phối hợp để ra quyết định |
Magentic-One | Pattern phức tạp từ Microsoft Research |
Checkpointing là tính năng thực sự hữu ích khi dùng production: nếu workflow đang chạy bước 7/10 mà bị lỗi hoặc timeout, hệ thống lưu lại trạng thái và resume từ bước 7, không chạy lại từ đầu. Với workflow gọi nhiều bước tốn tiền API, cái này quan trọng hơn bạn nghĩ.
Ngoài ra còn có declarative workflow bằng YAML — định nghĩa toàn bộ topology của agents trong file YAML có version control, load và chạy bằng một dòng code. Hữu ích khi làm team: dev viết logic, người khác điều chỉnh behavior qua YAML mà không cần chạm vào code.
MCP — Cách agent "cắm" vào công cụ bên ngoài
MCP (Model Context Protocol) là chuẩn mở để agent kết nối với tool và data source bên ngoài — giống như USB-C nhưng cho AI agent.
Thay vì mỗi lần muốn agent dùng một tool mới lại phải viết integration code từ đầu, bạn chỉ cần kết nối agent với MCP server tương ứng. Agent tự discover và gọi tool đó.
Hiện tại ecosystem MCP đang có server cho: GitHub, Google Drive, Playwright (điều khiển trình duyệt), database, file system, và hàng chục service khác. Nếu không có sẵn, bạn tự viết MCP server của mình cũng không phức tạp.
python
# Kết nối agent với MCP server
agent = ChatAgent(
instructions="You are a helpful assistant.",
mcp_servers=["filesystem", "github"] # agent tự discover tools
)Agent Framework hỗ trợ MCP natively — không phải patch thêm hay dùng thư viện thứ ba.
A2A — Agent nói chuyện với Agent khác, kể cả trên framework khác
A2A (Agent-to-Agent) là protocol để agents giao tiếp với nhau xuyên runtime, xuyên cloud, thậm chí xuyên framework.
Cơ chế: mỗi agent expose một "Agent Card" tại /.well-known/agent.json — chứa metadata về capabilities, task format, và protocol. Agents khác đọc card này để biết cách cộng tác.
Thực tế điều này có nghĩa là: agent .NET của bạn có thể giao việc cho agent Python chạy trên server khác. Hay agent trong Agent Framework có thể cộng tác với agent chạy trên LangChain — miễn là cả hai implement chuẩn A2A.
Ví dụ pipeline thực tế:
Agent A (lấy dữ liệu từ CRM qua MCP)
Agent B (phân tích sentiment, chạy trên Python)
Agent C (validate compliance, chạy bằng một framework khác)
Ba agent, ba môi trường, giao tiếp với nhau qua A2A mà không cần viết glue code kết nối.
Memory — InMemory cho dev, Cosmos DB cho production
Agent cần nhớ ngữ cảnh để hoạt động hiệu quả. Framework hỗ trợ hai kiểu memory chính:
InMemory — dùng khi development và testing:
Nhanh, không cần setup
Mất khi tắt app
Đủ để chạy thử và debug
Cosmos DB (và các vector store khác) — dùng khi production:
Agent nhớ xuyên session — người dùng quay lại sau 3 ngày, agent vẫn nhớ context cuộc hội thoại trước
Lưu được preferences, tóm tắt lịch sử, task outcomes
Ngoài Cosmos DB còn hỗ trợ Azure AI Search, Redis, PostgreSQL, Elasticsearch
csharp
// InMemory — local dev
var agent = client.AsAIAgent(
memory: new InMemoryContextProvider()
);
// Cosmos DB — production
var agent = client.AsAIAgent(
memory: new CosmosDbContextProvider(connectionString)
);Chuyển từ InMemory sang Cosmos DB chỉ đổi một dòng — không cần refactor logic agent.
RAG — Cho agent biết "hỏi tài liệu trước, rồi mới trả lời"
RAG (Retrieval-Augmented Generation) giải quyết bài toán mà ai build AI sản phẩm đều gặp: agent trả lời dựa trên dữ liệu của bạn, không phải hallucinate từ training data.
Agent Framework tích hợp với Azure AI Search và Foundry IQ để làm điều này. Thay vì nhồi toàn bộ tài liệu vào system prompt (tốn token, giới hạn context), agent sẽ:
Nhận câu hỏi từ người dùng
Tìm kiếm trong knowledge base để lấy các đoạn liên quan
Dùng đoạn đó làm context khi generate câu trả lời
Ứng dụng thực tế: chatbot hỗ trợ khách hàng biết toàn bộ tài liệu sản phẩm, agent tra cứu policy nội bộ công ty, hay tool hỏi đáp về codebase của bạn.
Tool Integration — Bất kỳ API nào cũng thành tool được
Ngoài MCP, Agent Framework còn có hai cách khác để agent dùng tool:
OpenAPI integration: Bất kỳ REST API nào có file OpenAPI/Swagger đều có thể import ngay thành callable tool. Framework tự xử lý schema parsing, tool definition, và invocation. Nghĩa là hàng nghìn API enterprise hiện có — SAP, Salesforce, Dynamics — đều dùng được ngay mà không cần viết wrapper.
Custom tools bằng code: Viết function bình thường, đánh dấu là tool, agent tự biết khi nào cần gọi nó.
python
@tool
def get_weather(city: str) -> str:
"""Get current weather for a city"""
return call_weather_api(city)
agent = ChatAgent(
instructions="You are a travel assistant.",
tools=[get_weather]
)Agent tự quyết định khi nào gọi tool nào dựa trên context — không cần hard-code điều kiện.
Observability — Biết chuyện gì đang xảy ra bên trong
Một trong những vấn đề lớn nhất khi build AI agent là: không biết tại sao agent làm vậy.
Agent Framework có hai thứ giúp việc này:
OpenTelemetry built-in: Toàn bộ trace của agent — từng bước reasoning, tool call, memory retrieval — được ghi lại và có thể xem trong Azure Monitor hay bất kỳ observability tool nào hỗ trợ OpenTelemetry.
DevUI: Giao diện developer để xem luồng chạy của agent theo thời gian thực. Với multi-agent workflow phức tạp, đây là thứ tiết kiệm nhiều giờ debug hơn là đọc log thuần.
Nên bắt đầu với nó như thế nào?
Tùy vào background của bạn:
Nếu bạn là .NET developer: Đây là con đường chính thức. Thay Semantic Kernel bằng Agent Framework — migration guide có sẵn, API mới đơn giản hơn đáng kể.
Nếu bạn là Python developer quen LangGraph/CrewAI: Học qua samples trong repo trước, đặc biệt phần workflow và A2A. Điểm khác biệt lớn nhất là checkpointing và human-in-the-loop được built-in thay vì tự implement.
Nếu bạn mới học AI agent: Bắt đầu với quickstart Python — tạo được agent đơn giản trong 10 phút, rồi dần thêm tool, memory, rồi mới đến workflow.
python
# Agent đơn giản nhất — 6 dòng
from agent_framework.azure import AzureOpenAIResponsesClient
agent = AzureOpenAIResponsesClient().as_agent(
name="MyAgent",
instructions="You are a helpful assistant."
)
print(await agent.run("Giải thích RAG trong 3 câu."))Từ đây, thêm tool, thêm memory, kết nối MCP server, rồi ghép nhiều agent thành workflow — mỗi bước đều có sample code trong repo.
Tổng kết
Agent Framework không phải framework mới hoàn toàn — nó là sự hợp nhất có chủ đích của hai dự án lớn nhất mà Microsoft đã làm về AI agent. Version 1.0 có nghĩa là stable API và Microsoft cam kết duy trì lâu dài.
Những tính năng đáng chú ý nhất:
Workflow với checkpointing và human-in-the-loop
MCP để kết nối tool bên ngoài theo chuẩn mở
A2A để agents cộng tác xuyên framework
Memory từ InMemory đến Cosmos DB, đổi không cần refactor
RAG với Azure AI Search built-in
Tool integration qua OpenAPI hoặc custom function
Observability qua OpenTelemetry và DevUI
MIT license. Hỗ trợ cả .NET lẫn Python. Có migration guide từ Semantic Kernel và AutoGen.
GitHub: github.com/microsoft/agent-framework Docs: learn.microsoft.com/en-us/agent-framework
Nếu bạn muốn học cách build AI agent thực tế với framework này — từ agent đơn giản đến multi-agent workflow — mình đang lên kế hoạch series về chủ đề này trên TEDU. Để lại comment bên dưới nếu bạn quan tâm, mình sẽ ưu tiên làm sớm hơn.
Tác giả: TEDU
Chú ý: Tất cả các bài viết trên TEDU.COM.VN đều thuộc bản quyền TEDU, yêu cầu dẫn nguồn khi trích lại trên website khác.
Tags:
Bài viết liên quan
TEDU thông báo giải đấu lần thứ 6
Giải đấu lần thứ 6, cấu trúc dữ liệu giải thuật
Đọc thêm
Đặt cọc khóa học Terraform Mastery trên Cloud Azure: Từ Cơ bản đến Nâng cao
TEDU chính thức mở tính năng đặt cọc cho khóa học TEDU-52: Terraform Mastery trên Cloud Azure: Từ Cơ bản đến Nâng cao từ 18/9 đến 5/10/2023.
Đọc thêm
Ra mắt khoá học Làm chủ đám mây Azure - tặng voucher trị giá 40%
TEDU xin giới thiệu với các bạn một khoá học hoàn toàn mới đến từ một giảng viên có nhiều kinh nghiệm trong dự án với Azure và đã sở hữu chứng chỉ Azure Solution Architect Expert.
Đọc thêm