DEV Community

Gophernment
Gophernment

Posted on

Microsoft AutoGen — สร้างทีม AI Agent คุยกันเอง แก้ปัญหาเอง

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 ใหม่
Enter fullscreen mode Exit fullscreen mode

แต่ละ agent:

  • มี system prompt ของตัวเอง — "คุณคือ senior Go developer..."
  • มี tools ของตัวเอง — อ่านไฟล์, รันคำสั่ง, ค้นเว็บ
  • ใช้ model ต่างกันได้ — Coder ใช้ Claude, Reviewer ใช้ GPT, Tester ใช้ DeepSeek (ถูกกว่า)
  • คุยกัน อัตโนมัติ — ส่งข้อความ, โต้แย้ง, ถาม-ตอบ

ติดตั้ง

pip install pyautogen
Enter fullscreen mode Exit fullscreen mode

ตัวอย่างแรก — 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"
)
Enter fullscreen mode Exit fullscreen mode

สิ่งที่เกิดขึ้น:

user → coder: "เขียน fibonacci ใน Go"
coder → user: ```

go func Fib(n int) int { ... }

Enter fullscreen mode Exit fullscreen mode

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")
Enter fullscreen mode Exit fullscreen mode

บทสนทนาที่เกิดขึ้น:

[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
Enter fullscreen mode Exit fullscreen mode

Human-in-the-Loop — มนุษย์คุมอยู่

user = UserProxyAgent(
    name="user",
    human_input_mode="ALWAYS",  # ถามมนุษย์ทุกครั้ง
)
Enter fullscreen mode Exit fullscreen mode

หรือบางครั้ง:

user = UserProxyAgent(
    name="user",
    human_input_mode="TERMINATE",  # ถามเฉพาะตอนจะ terminate
)
Enter fullscreen mode Exit fullscreen mode

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"
Enter fullscreen mode Exit fullscreen mode
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")
Enter fullscreen mode Exit fullscreen mode

สรุป

AutoGen ไม่ได้พยายามเป็น "อีกหนึ่ง AI chatbot" — มันคือ framework สำหรับสร้าง "ทีม AI" — หลาย agent, หลาย model, หลาย tool — คุยกันเองจนงานเสร็จ

สำหรับ dev ที่อยากก้าวจาก "ใช้ AI เดี่ยว ๆ" ไปเป็น "จัดการทีม AI" — AutoGen คือประตูบานแรก

📚 อ่านต่อ:

Top comments (0)