Microsoft AutoGen — สร้างทีม AI Agent ที่คุยกันเอง แก้ปัญหาเอง
📅 เขียนเมื่อ: กรกฎาคม 2026 | AutoGen v0.7.x
⚠️ AutoGen อยู่ระหว่างการพัฒนา — API อาจเปลี่ยนแปลงจากที่แสดงในบทความนี้ กรุณาตรวจสอบ เอกสารล่าสุด ก่อนใช้งาน
ลองนึกภาพ: คุณมี AI 3 ตัว — ตัวนึงเขียนโค้ด อีกตัว review โค้ด ตัวสุดท้าย run test — ทั้งสามตัวคุยกันเอง หาจุดผิด แก้ไข จนงานเสร็จ — คุณแค่นั่งดู
นี่คือสิ่งที่ Microsoft AutoGen ทำได้ — และมันคือ multi-agent framework ที่มีดาวมากที่สุดบน GitHub ในกลุ่มนี้ (59,000+ stars)
AutoGen คืออะไร
AutoGen คือ framework ที่ให้คุณสร้าง "ทีม AI Agent" — แต่ละ agent มีหน้าที่ต่างกัน มี tool ต่างกัน ใช้ LLM ต่างกัน — แล้วให้มันคุยกันทำงานให้เสร็จ
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Coder │────→│ Reviewer │────→│ Tester │
│ (Claude) │ │ (GPT-4o) │ │ (DeepSeek) │
└─────────────┘ └─────────────┘ └─────────────┘
↑ │
└────────────────────────────────────────┘
แก้แล้วส่งกลับ Coder ใหม่
แต่ละ agent:
- มี system prompt ของตัวเอง — "คุณคือ senior Go developer..."
- มี tools ของตัวเอง — อ่านไฟล์, รันคำสั่ง, ค้นเว็บ
- ใช้ model ต่างกันได้ — Coder ใช้ Claude, Reviewer ใช้ GPT, Tester ใช้ DeepSeek (ถูกกว่า)
- คุยกัน อัตโนมัติ — ส่งข้อความ, โต้แย้ง, ถาม-ตอบ
ติดตั้ง
pip install pyautogen
ตัวอย่างแรก — Two-Agent Chat
from autogen import AssistantAgent, UserProxyAgent
import os
# 1. สร้าง AI Assistant — คนเขียนโค้ด
coder = AssistantAgent(
name="coder",
system_message="You are a senior Go developer. Write clean, tested code.",
llm_config={
"model": "gpt-4o",
"api_key": os.environ["OPENAI_API_KEY"]
}
)
# 2. สร้าง User Proxy — คนรันโค้ด (มี terminal จริง)
user = UserProxyAgent(
name="user",
human_input_mode="NEVER", # auto — ไม่ถามมนุษย์
code_execution_config={"work_dir": "coding", "use_docker": False}
)
# 3. เริ่มคุย
user.initiate_chat(
coder,
message="Write a Go function that calculates fibonacci up to n, with tests"
)
สิ่งที่เกิดขึ้น:
user → coder: "เขียน fibonacci ใน Go"
coder → user: ```
go func Fib(n int) int { ... }
user: [รันโค้ด] → "test passed!"
coder → user: "✅ เรียบร้อย!"
`UserProxyAgent` คือ agent พิเศษ — มันรันโค้ดได้จริงใน terminal — ไม่ใช่แค่ simulate
---
## Group Chat — หลาย Agent คุยกัน
```python
from autogen import GroupChat, GroupChatManager
# สร้างทีม 3 คน
coder = AssistantAgent("coder", ...)
reviewer = AssistantAgent(
"reviewer",
system_message="You review Go code. Check for bugs, naming, and Go idioms."
)
tester = AssistantAgent(
"tester",
system_message="You run tests and report failures with exact error messages."
)
# สร้าง group chat
group = GroupChat(
agents=[coder, reviewer, tester],
messages=[],
max_round=10
)
manager = GroupChatManager(groupchat=group, llm_config=...)
# เริ่ม — manager เลือกว่าใครควรพูดต่อ
user.initiate_chat(manager, message="สร้าง REST API สำหรับ user management")
บทสนทนาที่เกิดขึ้น:
[manager]: coder — คุณเริ่มก่อน
[coder]: ผมสร้าง handler, service, repo เรียบร้อย — reviewer ช่วยดูหน่อย
[reviewer]: handler.go บรรทัด 23 — error ไม่ได้ wrap ด้วย %w
[coder]: แก้แล้ว — tester ลองรันหน่อย
[tester]: TestHandleGetUser failed — nil pointer ที่บรรทัด 45
[coder]: แก้ nil check แล้ว
[tester]: ✅ all tests pass!
[manager]: จบ — 10 rounds used
Human-in-the-Loop — มนุษย์คุมอยู่
user = UserProxyAgent(
name="user",
human_input_mode="ALWAYS", # ถามมนุษย์ทุกครั้ง
)
หรือบางครั้ง:
user = UserProxyAgent(
name="user",
human_input_mode="TERMINATE", # ถามเฉพาะตอนจะ terminate
)
AutoGen ให้คุณเลือกได้ว่าจะให้ AI ทำงานเองทั้งหมด หรือให้คุณ approve ทุกขั้นตอน
จุดเด่น vs Frameworks อื่น
| AutoGen | LangChain | CrewAI | OpenAI Agents SDK | |
|---|---|---|---|---|
| GitHub Stars | 59K+ | 100K+ | 25K+ | 20K+ |
| ค่าย | Microsoft | Community | Community | OpenAI |
| Multi-agent | ✅ เน้นตรงนี้ | ⚠️ ได้แต่ไม่ native | ✅ | ✅ |
| Code execution | ✅ real terminal | ✅ sandbox | ❌ | ❌ |
| Human-in-loop | ✅ | ✅ | ⚠️ | ❌ |
| Model flexibility | ใช้ได้ทุกค่าย | ใช้ได้ทุกค่าย | ใช้ได้ทุกค่าย | OpenAI only |
ข้อเสีย
- ยัง active dev อยู่ — API เปลี่ยนบ่อยระหว่างเวอร์ชัน
- Debug ยาก — หลาย agent คุยกัน → ถ้าพัง ไม่รู้ใครพูดอะไรผิด
- Over-engineer — งานง่าย ๆ ใช้ AutoGen = overkill
- Token cost — หลาย agent คุยกัน = token x3, x5
เหมาะกับอะไร
| งาน | ใช้ AutoGen ไหม? |
|---|---|
| สร้างโค้ด + review + test อัตโนมัติ | ✅ เหมาะมาก |
| Multi-step research → report | ✅ |
| CI/CD pipeline ที่มี AI ตัดสินใจ | ✅ |
| API ง่าย ๆ ตัวเดียว | ❌ overkill |
| Chatbot ทั่วไป | ❌ ไม่ใช่ purpose หลัก |
เริ่มใช้งานง่าย ๆ
pip install pyautogen
export OPENAI_API_KEY="sk-..."
# หรือใช้ DeepSeek — ถูกกว่า:
# export OPENAI_API_KEY="sk-..."
# export OPENAI_API_BASE="https://api.deepseek.com"
from autogen import AssistantAgent, UserProxyAgent
assistant = AssistantAgent("helper", llm_config={"model": "gpt-4o-mini"})
user = UserProxyAgent("user", code_execution_config={"work_dir": "work"})
user.initiate_chat(assistant, message="Plot a chart of Tesla stock vs Bitcoin over the last year")
สรุป
AutoGen ไม่ได้พยายามเป็น "อีกหนึ่ง AI chatbot" — มันคือ framework สำหรับสร้าง "ทีม AI" — หลาย agent, หลาย model, หลาย tool — คุยกันเองจนงานเสร็จ
สำหรับ dev ที่อยากก้าวจาก "ใช้ AI เดี่ยว ๆ" ไปเป็น "จัดการทีม AI" — AutoGen คือประตูบานแรก
📚 อ่านต่อ:
- AutoGen GitHub — 59K+ stars
- AutoGen Docs — official guide
Top comments (0)