계층형 감독자(오케스트레이터 + 작업자)
감독자가 계획을 세우고 위임하며, 작업자가 실행하고 결과를 보고합니다. 복잡한 작업을 위한 견고한 패턴입니다.
계층형 감독자(오케스트레이터 + 작업자)은(는) CoddyKit의 무료 AI Agents 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 AI Agents 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. AI Agents 강의에는 총 4개의 강의가 포함되어 있습니다.
이 강의의 일부는 아직 번역되지 않았으며 영어로 표시됩니다.
감독자 패턴
하나의 "supervisor" 에이전트가 수행할 작업을 결정하고 전문화된 "worker" 에이전트에 위임합니다. 작업자들은 결과를 보고하고 supervisor가 종합합니다.
자유로운 대화보다 인간 팀의 작업 방식에 더 가깝습니다.
구조
두 단계로 구성됩니다(때로는 그 이상입니다):
- 감독자 — 사용자 질의를 확인하고, 세부 작업으로 나누고, 작업자를 선택하고, 결과를 통합합니다
- 작업자 — 각자 고유한 도구와 프롬프트를 가진 전문 에이전트(연구, 코드, 수학)입니다
계층 구조를 사용하는 이유
- 더 명확한 추론 — 감독자가 전체 그림을 확인합니다
- 전문화 — 각 작업자가 작고 집중적입니다
- 더 쉬운 평가 — 작업자를 독립적으로 테스트할 수 있습니다
- 새 기능을 더 쉽게 추가 — 새 작업자를 등록하기만 하면 됩니다
LangGraph Implementation
from langgraph.graph import StateGraph, END
from typing import TypedDict, Annotated
import operator
class State(TypedDict):
messages: Annotated[list, operator.add]
next: str
def supervisor(state):
# Ask LLM which worker should handle this
decision = supervisor_llm.invoke(state['messages']).content # 'researcher' / 'coder' / 'FINISH'
return {'next': decision}
def researcher(state):
result = research_agent.run(state['messages'][-1].content)
return {'messages': [{'role': 'tool', 'content': result}], 'next': 'supervisor'}
def coder(state):
result = code_agent.run(state['messages'][-1].content)
return {'messages': [{'role': 'tool', 'content': result}], 'next': 'supervisor'}Wiring the Graph
g = StateGraph(State)
g.add_node('supervisor', supervisor)
g.add_node('researcher', researcher)
g.add_node('coder', coder)
g.set_entry_point('supervisor')
g.add_conditional_edges(
'supervisor',
lambda s: s['next'],
{'researcher': 'researcher', 'coder': 'coder', 'FINISH': END}
)
g.add_edge('researcher', 'supervisor')
g.add_edge('coder', 'supervisor')
app = g.compile()작업자의 독립성
각 작업자는 독립적으로 구성된 작은 에이전트입니다. 각각을 격리된 환경에서 구축하고 테스트한 다음 감독자 아래에서 조합하십시오.
작업자별 도구 집합
각 작업자에게 필요한 도구만(ONLY) 제공하십시오:
- 연구자 — search, 가져오기
- 코더 — 파일 읽기, 파일 쓰기, 파이썬 실행
- 데이터베이스 — 테이블 목록 조회, SQL 실행
도구 설명이 더 깔끔해지고 혼란이 줄어듭니다.
통신 형식
작업자는 전체 대화 기록이 아니라 구조화된 요약을 감독자에게 반환합니다. 토큰을 절약하고 감독자가 통합하기도 쉽습니다:
class WorkerResult(BaseModel):
summary: str
citations: list[str]
next_step_suggestion: str = ''종료
중단 시점은 감독자가 결정합니다. 일반적으로 다음 조건을 사용합니다:
- 신뢰도가 임계값을 초과합니다
- 작업자가 작업 완료 신호를 보냅니다
- 단계 카운터가 한도를 초과합니다
다단계 계층 구조
매우 복잡한 작업에는 세 번째 계층을 추가할 수 있습니다. 예를 들어 엔지니어링을 담당하는 "팀 리드" 감독자와 연구를 담당하는 감독자를 각각 두고, 각 감독자가 영역별 작업자에게 위임하게 합니다.
비용 구조
감독자의 결정마다 LLM 호출이 한 번 발생합니다. 각 작업자는 자체 반복문을 실행합니다. 총비용은 대략 N_supervisor_decisions × cost_per_decision + N_worker_loops × cost_per_loop입니다.
사용할 때
- 하위 영역이 명확한 복잡한 작업
- 단계마다 서로 다른 프롬프트 방식이 필요한 작업
- 기능을 점진적으로 추가하려는 시스템
안티 패턴
- 감독자가 실제 작업을 모두 수행하는 경우 — 이 패턴의 목적이 사라집니다
- 감독자에게 알리지 않고 작업자가 다른 작업자를 호출하는 경우 — 통제력을 잃습니다
- 작업자가 너무 많은 경우(10개 초과) — 감독자의 선택이 불안정해집니다
감독자의 역할
이 패턴에서 supervisor의 주요 업무는 무엇인가요?
복습
감독자와 작업자의 조합이 하나의 거대한 에이전트보다 낫습니다. 각 작업자는 작고 집중적이며 독립적으로 테스트할 수 있습니다. 감독자가 작업별 담당자를 결정합니다.
자주 묻는 질문
“계층형 감독자(오케스트레이터 + 작업자)” 강의는 무료인가요?
네 — “계층형 감독자(오케스트레이터 + 작업자)” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 AI Agents 강의 전체를 잠금 해제할 수 있습니다. AI Agents 강의에는 총 4개의 강의가 포함되어 있습니다.
“계층형 감독자(오케스트레이터 + 작업자)”에서 뭘 배우나요?
감독자가 계획을 세우고 위임하며, 작업자가 실행하고 결과를 보고합니다. 복잡한 작업을 위한 견고한 패턴입니다. 브라우저에서 직접 실행하는 실습 코드로 AI Agents을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
AI Agents을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 AI Agents은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.
“계층형 감독자(오케스트레이터 + 작업자)” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 AI Agents 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 AI Agents 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 대화 기반 다중 에이전트(AutoGen)
- 계층형 감독자(오케스트레이터 + 작업자)
- 에이전트 역할 및 전문화
- 통신 프로토콜(메시지 버스)