0Pricing
AI Agents · บทเรียน

หลายเอเจนต์แบบสนทนา (AutoGen)

Microsoft AutoGen เปิดให้เอเจนต์หลายตัวสนทนากันจนได้ข้อสรุปร่วมกัน

หลายเอเจนต์แบบสนทนา (AutoGen) เป็นบทเรียน AI Agents ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน AI Agents และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส AI Agents มีบทเรียนทั้งหมด 4 บทเรียน

บางส่วนของบทเรียนนี้ยังไม่ได้รับการแปล และแสดงเป็นภาษาอังกฤษ

เหตุใดจึงใช้หลายเอเจนต์

เอเจนต์หนึ่งตัวที่มีเครื่องมือทั้งหมดมักแย่กว่าเอเจนต์เฉพาะทางสองตัวที่สื่อสารกัน ความเชี่ยวชาญเฉพาะด้านดีกว่าความสามารถรอบด้าน

ตัวอย่าง:

  • Researcher + นักเขียน — ตัวหนึ่งรวบรวมข้อมูล อีกตัวเรียบเรียงคำตอบ
  • Coder + ผู้ตรวจทาน — ตัวหนึ่งเขียนโค้ด อีกตัววิจารณ์โค้ด
  • พร็อกซีผู้ใช้ + ผู้ช่วย — ตัวหนึ่งทำหน้าที่แทนผู้ใช้ อีกตัวสื่อสารกับผู้ปฏิบัติงาน

รูปแบบ AutoGen

Microsoft AutoGen ช่วยให้เอเจนต์สนทนากันได้ โดยแต่ละตัวเป็น AssistantAgent หรือ UserProxyAgent ทั้งสองจะแลกเปลี่ยนข้อความจนกว่าจะได้ข้อสรุปร่วมกัน

Two-Agent Example

# pip install pyautogen
from autogen import AssistantAgent, UserProxyAgent

llm_config = {'model': 'gpt-4o-mini', 'api_key': '...'}

assistant = AssistantAgent(
    name='coder',
    system_message='You write Python code. Reply with code only.',
    llm_config=llm_config
)

user_proxy = UserProxyAgent(
    name='user',
    human_input_mode='NEVER',
    code_execution_config={'work_dir': './workdir'}
)

user_proxy.initiate_chat(assistant, message='Write a function that returns the factorial of n.')

UserProxyAgent

ทำหน้าที่แทนมนุษย์ (หรือสคริปต์) สามารถเรียกใช้โค้ดที่ผู้ช่วยส่งกลับมา ถามคำถามเพื่อขอความชัดเจน และตัดสินใจว่างานเสร็จสิ้นเมื่อใด

เอเจนต์ที่สนทนาได้

เอเจนต์ AutoGen ทั้งหมดสืบทอดมาจาก ConversableAgent คุณสามารถสร้างคลาสย่อยเพื่อกำหนดพฤติกรรมแบบกำหนดเองได้

GroupChat for >2 Agents

class AssistantAgent:
    def __init__(self, name, system_message=''):
        self.name = name
        self.system_message = system_message

    def initiate_chat(self, manager, message):
        manager.run(self, message)

class GroupChat:
    def __init__(self, agents, messages, max_round=12):
        self.agents = agents
        self.messages = messages
        self.max_round = max_round

class GroupChatManager:
    def __init__(self, groupchat, llm_config=None):
        self.groupchat = groupchat

    def run(self, initiator, message):
        self.groupchat.messages.append({'role': initiator.name, 'content': message})
        for i, agent in enumerate(self.groupchat.agents):
            if i >= self.groupchat.max_round:
                break
            reply = f'{agent.name} contributes to: {message}'
            self.groupchat.messages.append({'role': agent.name, 'content': reply})
            print(reply)

user_proxy = AssistantAgent(name='user_proxy')
researcher = AssistantAgent(name='researcher')
writer = AssistantAgent(name='writer')
critic = AssistantAgent(name='critic')

group = GroupChat(agents=[user_proxy, researcher, writer, critic], messages=[], max_round=12)
manager = GroupChatManager(groupchat=group, llm_config={})

user_proxy.initiate_chat(manager, message='Write a blog post about RAG.')

การเลือกผู้พูด

GroupChatManager จะตัดสินใจว่าใครพูดต่อไป กลยุทธ์มีดังนี้:

  • วนรอบ — หมุนเวียนตามลำดับที่กำหนด
  • อัตโนมัติ — LLM เลือกตามบทสนทนา
  • ด้วยตนเอง — มนุษย์เป็นผู้เลือก

เงื่อนไขการสิ้นสุด

บทสนทนาจะสิ้นสุดเมื่อ:

  • เอเจนต์ส่งคีย์เวิร์ด TERMINATE
  • ครบจำนวนรอบสูงสุด
  • UserProxyAgent ตัดสินใจว่างานเสร็จสิ้นแล้ว

การเรียกใช้โค้ด

UserProxyAgent สามารถเรียกใช้โค้ดใด ๆ ที่ผู้ช่วยส่งมาในบล็อกโค้ดได้ ควรใช้แซนด์บ็อกซ์:

user_proxy = UserProxyAgent(
    name='user',
    code_execution_config={
        'work_dir': './workdir',
        'use_docker': True   # safer
    }
)

จับตาดูต้นทุน

บทสนทนาหลายเอเจนต์มีค่าใช้จ่ายสูง — เอเจนต์ N ตัว × รอบ M รอบ = การเรียกใช้ LLM N×M ครั้งต่องาน ควรจำกัดจำนวนรอบอย่างเข้มงวด

ควรใช้เมื่อใด

  • งานที่มีการแบ่งบทบาทชัดเจน เช่น การวิจัย การเขียนโค้ด และการตรวจทาน
  • งานที่คุณภาพดีขึ้นเมื่อมีการวิจารณ์
  • งานที่ซับซ้อนเกินกว่าจะจัดการด้วยพรอมป์ของเอเจนต์เดียว

เมื่อไม่ควรใช้ NOT

  • ถามตอบทั่วไป — เอเจนต์เดียวเร็วกว่าและประหยัดกว่า
  • เส้นทางที่ไวต่อเวลาแฝง
  • งานที่เอเจนต์ตัวเดียวสามารถทำได้ดีทั้งหมด

AutoGen เทียบกับ LangGraph

AutoGen ขับเคลื่อนด้วยบทสนทนา (การสนทนาแบบอิสระระหว่างเอเจนต์) ส่วน LangGraph ขับเคลื่อนด้วยกราฟ (เครื่องสถานะที่กำหนดไว้อย่างชัดเจน) ทั้งสองแบบใช้ได้ดี ให้เลือกตามลักษณะที่งานของคุณเข้ากับแนวทางนั้นได้เป็นธรรมชาติ

รูปแบบ AutoGen

นามธรรมหลักใน AutoGen คืออะไร

สรุป

AutoGen คือเอเจนต์ตามบทบาทที่สนทนากัน เหมาะสำหรับงานที่เอเจนต์หนึ่งทำหน้าที่กำกับดูแลและตัวอื่นทำงานเฉพาะด้าน ควรจับตาดูต้นทุนและจำกัดจำนวนรอบ

คำถามที่พบบ่อย

บทเรียน “หลายเอเจนต์แบบสนทนา (AutoGen)” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “หลายเอเจนต์แบบสนทนา (AutoGen)” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส AI Agents ให้อัปเกรดเป็น CoddyKit PRO คอร์ส AI Agents มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “หลายเอเจนต์แบบสนทนา (AutoGen)”

Microsoft AutoGen เปิดให้เอเจนต์หลายตัวสนทนากันจนได้ข้อสรุปร่วมกัน คุณปฏิบัติ AI Agents ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน AI Agents หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน AI Agents บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “หลายเอเจนต์แบบสนทนา (AutoGen)” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน AI Agents นี้ได้ไหม

ได้ บทเรียน AI Agents ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. หลายเอเจนต์แบบสนทนา (AutoGen)
  2. ผู้ควบคุมแบบลำดับชั้น (ผู้ประสานงาน + ผู้ปฏิบัติงาน)
  3. บทบาทและความเชี่ยวชาญของเอเจนต์
  4. โพรโทคอลการสื่อสาร (บัสข้อความ)
← กลับไปที่ AI Agents