대화 기반 다중 에이전트(AutoGen)
Microsoft AutoGen을 사용하면 여러 에이전트가 합의에 도달할 때까지 서로 대화할 수 있습니다.
대화 기반 다중 에이전트(AutoGen)은(는) CoddyKit의 무료 AI Agents 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 AI Agents 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. AI Agents 강의에는 총 4개의 강의가 포함되어 있습니다.
이 강의의 일부는 아직 번역되지 않았으며 영어로 표시됩니다.
멀티 에이전트를 사용하는 이유
모든 도구를 가진 에이전트 하나보다 서로 대화하는 전문 에이전트 두 개가 더 나은 경우가 많습니다. 전문화가 일반화보다 우수합니다.
예:
- 연구자 + 작성자 — 한 에이전트는 정보를 모으고 다른 에이전트는 답변을 구성합니다
- 코더 + 검토자 — 한 에이전트는 코드를 작성하고 다른 에이전트는 검토합니다
- 사용자 대리자 + 어시스턴트 — 사용자를 대변하고 작업자와 대화합니다
AutoGen 패턴
마이크로소프트 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개 = 작업당 N×M번의 LLM 호출입니다. 라운드 수를 적극적으로 제한하십시오.
사용할 때
- 역할이 명확히 분리되는 작업(연구, 코드, 검토)
- 비평을 통해 품질이 향상되는 작업
- 단일 에이전트 프롬프트로 처리하기에는 너무 복잡한 작업
사용하지 말아야 할 때(NOT)
- 단순한 질의응답 — 단일 에이전트가 더 빠르고 저렴합니다
- 지연 시간에 민감한 경로
- 에이전트 하나가 전체 작업을 충분히 잘 수행할 수 있는 작업
AutoGen과 LangGraph 비교
AutoGen은 대화 중심입니다(에이전트 간 자유로운 대화). LangGraph는 그래프 중심입니다(명시적인 상태 머신). 둘 다 유효하므로 작업에 더 자연스럽게 맞는 방식을 선택하십시오.
AutoGen 패턴
AutoGen의 중심 추상화는 무엇인가요?
복습
AutoGen은 역할 기반 에이전트가 대화하는 방식입니다. 한 에이전트가 감독하고 다른 에이전트들이 전문화되는 작업에 적합합니다. 비용을 주의하고 라운드 수를 제한하십시오.
자주 묻는 질문
“대화 기반 다중 에이전트(AutoGen)” 강의는 무료인가요?
네 — “대화 기반 다중 에이전트(AutoGen)” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 AI Agents 강의 전체를 잠금 해제할 수 있습니다. AI Agents 강의에는 총 4개의 강의가 포함되어 있습니다.
“대화 기반 다중 에이전트(AutoGen)”에서 뭘 배우나요?
Microsoft AutoGen을 사용하면 여러 에이전트가 합의에 도달할 때까지 서로 대화할 수 있습니다. 브라우저에서 직접 실행하는 실습 코드로 AI Agents을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
AI Agents을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 AI Agents은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.
“대화 기반 다중 에이전트(AutoGen)” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 AI Agents 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 AI Agents 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 대화 기반 다중 에이전트(AutoGen)
- 계층형 감독자(오케스트레이터 + 작업자)
- 에이전트 역할 및 전문화
- 통신 프로토콜(메시지 버스)