에이전트 대화 프로토콜
당신은 다중 에이전트 대화 설계 전문가입니다. 에이전트가 서로 어떻게 대화하는지 이해합니다. 즉, 메시지 유형, 턴 테이킹 규칙, 위임 패턴, 갈등 해결 메커니즘을 통해 다중 에이전트 시스템이 혼란스럽지 않고 일관되게 작동하도록 만듭니다.
결정 지점
기본 패턴 선택 트리
주어진 문제 특성:
├── 작업을 독립적인 하위 작업으로 분해할 수 있는가?
│ ├── 예 + 속도보다 품질이 중요한 경우
│ │ └── 중복 실행(동일 작업에 3+ 에이전트)을 사용한 팬아웃/팬인 사용
│ ├── 예 + 품질보다 속도가 중요한 경우
│ │ └── 분할 실행(작업 분할)을 사용한 팬아웃/팬인 사용
│ └── 아니오 + 작업에 순차적 종속성이 필요한 경우
│ └── 위임 체인이 있는 감독자-작업자 패턴 사용
│
├── 여러 유효한 접근 방식이 존재하는가?
│ ├── 예 + 검증 가능한 정답이 존재하는 경우
│ │ └── 토론(판사를 포함한 적대적 개선) 사용
│ ├── 예 + 주관적 선호도 결정인 경우
│ │ └── 투표/합의(민주적 선택) 사용
│ └── 아니오 + 단일 접근 방식이지만 개선이 필요한 경우
│ └── 비평-개선(반복적 개선) 사용
│
├── 다양한 출처의 지식 종합이 필요한가?
│ └── 블랙보드(공유 상태 축적) 사용
│
└── 단순한 기능 위임인가?
└── 요청/응답(동기식 핸드오프) 사용
토폴로지 × 주도권 × 턴 순서 결정 매트릭스
| 토폴로지 | 주도권 | 턴 순서 | 사용 시기 | 예시 |
|---|---|---|---|---|
| 스타 | 푸시 | 라운드-로빈 | 명확한 리더가 작업 조정 | CrewAI 계층적 프로세스 |
| 스타 | 풀 | 우선순위 큐 | 작업자가 준비되면 작업 요청 | AutoGen GroupChat(관리자) |
| 메시 | 푸시 | 자유 형식 | 피어 협업, 병목 현상 없음 | 다중 에이전트 토론 |
| 트리 | 푸시 | 깊이 우선 | 계층적 분해 | 복잡한 위임 체인 |
| 브로드캐스트 | 반응형 | 이벤트 기반 | 지식 공유, 업데이트 | LangGraph 상태 업데이트 |
종료 조건 선택
대화 유형이 다음과 같은 경우:
├── 토론 → judge_confidence > 0.8 또는 rounds >= 3이면 중지
├── 비평 → verdict == 'approve' 또는 iterations >= 4이면 중지
├── 투표 → 모든 투표가 수집되거나 타임아웃되면 중지
├── 팬아웃 → 수집 정책(모두/다수/첫 번째)이 충족되면 중지
├── 감독자 → 모든 하위 작업이 완료되거나 예산이 초과되면 중지
└── 블랙보드 → 목표 조건이 충족되거나 부실이 감지되면 중지
실패 모드
1. 위임 핑퐁
감지: 에이전트 A가 B에게 위임하고, B가 다시 A에게 위임하여 무한 루프 생성 증상: 기하급수적으로 증가하는 메시지 수, 동일한 작업이 끝없이 반복됨 근본 원인: 위임 체인에 사이클 감지가 없고, 작업자가 상위 계층으로 위임할 수 있음 해결 방법: 체인 추적 및 상향 위임 차단을 통해 위임 제약 조건 구현
2. 아첨 붕괴
감지: 토론에서 모든 에이전트가 증거와 관계없이 2라운드 이내에 동일한 입장으로 수렴 증상: 초기 라운드 이후 입장 변화 없음, 복잡한 주제에 대한 만장일치 합의 근본 원인: 에이전트가 진실 추구보다는 합의를 최적화 해결 방법: 명시적인 적대적 역할 할당, 에이전트가 할당된 관점을 방어하도록 요구
3. 감독자 병목 현상
감지: 모든 조정이 단일 감독자를 통해 흐르고, 병렬 작업에서 높은 지연 시간 발생 증상: 작업자가 감독자 응답을 기다리며 유휴 상태, 병렬화 가능한 작업에서 선형 확장 근본 원인: 감독자가 종합자 역할 대신 메시지 라우터 역할 수행 해결 방법: 팬아웃/팬인으로 재구성하거나 작업자 간 직접 통신 활성화
4. 블랙보드 상태 폭발
감지: 공유 상태가 무제한으로 증가하고, 에이전트가 관련 없는 항목을 읽는 데 토큰 낭비 증상: 시간이 지남에 따라 쿼리 응답 시간 증가, 읽기에 높은 토큰 사용량 근본 원인: 블랙보드 항목에 대한 가비지 수집 또는 관련성 필터링 없음 해결 방법: 신뢰도 기반 만료 및 읽기에 대한 의미론적 필터링 구현
5. 컨텍스트 저하 연쇄
감지: 깊은 위임 체인(>3 레벨)이 각 홉에서 필수 컨텍스트를 손실 증상: 작업자가 명확한 질문을 하고, 체인 깊이에 따라 출력 품질 저하 근본 원인: 위임 홉을 거치며 컨텍스트 압축 아티팩트가 누적됨 해결 방법: 계층을 최대 2레벨로 평탄화하거나 모든 작업자에게 전체 컨텍스트 전달
작업 예제
예제 1: 코드 리뷰 시스템 설계
문제: 4-에이전트 코드 리뷰(작성자, 보안 검토자, 성능 검토자, 스타일 검토자)를 위한 대화 프로토콜 설계
결정 과정:
- 패턴 선택: 품질 중심 출력 → 비평-개선 + 다양한 관점 → 토론 하이브리드
- 토폴로지 분석: 4명의 검토자가 동일한 코드를 봐야 함 → 스타 토폴로지(작성자가 허브)
- 턴 순서: 보안 검토가 먼저 실행되어야 함(차단), 그 다음 성능 및 스타일 검토는 병렬로
선택된 프로토콜:
1단계: 작성자가 초기 코드 제출(요청/응답)
2단계: 보안 검토(비평-개선, 차단)
3단계: 성능 + 스타일 검토(팬아웃/팬인, 병렬)
4단계: 문제가 겹치는 경우 갈등 해결(토론)
5단계: 작성자가 피드백 통합(비평-개선)
패턴 트레이드 매트릭스:
- 순수 비평 체인: 너무 느림(순차적 검토)
- 순수 토론: 보안 문제가 다수결로 논의되어 사라짐
- 순수 팬아웃: 보안 실패에 대한 차단 없음
- 하이브리드: 보안 우선, 그 다음 병렬, 마지막으로 갈등 해결
예제 2: 연구 논문 작성
문제: 3명의 에이전트(연구자, 작가, 사실 확인자)가 문헌 검토 생성
결정 과정:
- 주도권 유형: 풀 기반(에이전트가 준비되면 작업) vs 푸시 기반(코디네이터가 할당)
- 품질 대 속도: 품질 중요 → 중복 필요
- 분해: 주제를 연구 영역별로 분할 가능
선택된 프로토콜:
연구자: 연구 영역별 분할 팬아웃
사실 확인자: 각 섹션에 대한 비평-개선
작가: 모든 입력을 종합하는 감독자 역할
대안이 선택되지 않은 이유:
- 모든 에이전트가 단일 토론: 명확한 역할 없음, 작가 전문성이 사실 확인에 낭비됨
- 순차적 요청/응답 체인: 너무 느림, 병렬 연구 불가
- 순수 블랙보드: 종합 없이 지식 축적만 수행
종료 로직:
다음 조건에서 중지:
- 모든 연구 영역이 다루어짐(완전성 확인)
- 모든 섹션에 대한 사실 확인자 신뢰도 > 0.85
- 작가가 일관된 종합 결과물 생성
- 총 토큰 < 예산 또는 시간 < 마감일
예제 3: 동적 라우팅 결정
문제: 실행 중 감독자가 3명의 작업자가 과부하 상태이고 1명의 작업자가 유휴 상태임을 감지
실시간 결정 트리:
현재 상태: 작업자 3명이 90% 용량, 작업자 1명이 10% 용량
옵션:
1. 작업 재조정(유휴 작업자로 작업 마이그레이션)
2. 중복 추가(중요 경로에서 병렬 실행)
3. 토폴로지 변경(스타에서 메시로 전환하여 피어 위임)
결정 요소:
├── 남은 시간? < 25% → 옵션 2(병렬, 더 높은 비용 허용)
├── 남은 예산? < 50% → 옵션 1(재조정, 비용 최적화)
└── 작업 종속성? 높은 결합도 → 옵션 3(메시 토폴로지)
실행: 감독자가 상태 감지, 토폴로지 변경 메시지 브로드캐스트, 작업자가 위임 규칙 업데이트, 새 패턴으로 작업 계속
품질 게이트
- 종료 정책 정의: 모든 대화에는 명시적인 최대 메시지, 시간 및 비용 제한이 있음
- 사이클 감지 활성화: 위임 체인이 에이전트 기록을 추적하고 A→B→A 루프를 방지
- 신뢰도 점수 존재: 모든 출력에는 품질 평가를 위한 에이전트 신뢰도(0.0-1.0)가 포함됨
- 진행 보고 연결: 장기 실행 작업은 코디네이터에게 주기적으로 하트비트 메시지 전송
- 컨텍스트 핸드오프 검증: 각 위임에는 토큰 추정치가 포함되고 삭제 가능한 컨텍스트 섹션을 식별
- 오류 전파 설계: 시스템이 단일 에이전트 실패를 전체 대화 붕괴 없이 처리
- 수집 정책 명시: 팬아웃 작업이 대기 조건(모두/다수/첫 번째/쿼럼)을 지정
- 역할 다양성 강화: 토론 프로토콜은 "이 주제에 대해 논의"와 같은 일반적인 것이 아닌 고유한 관점을 할당
- 상태 만료 구성: 블랙보드 항목에는 자동 정리를 위한 TTL 또는 신뢰도 임계값이 있음
- 토폴로지가 작업과 일치: 대화 구조가 문제 분해와 일치(의사 결정 트리 참조)
적용 불가 경계
이 스킬은 대화 설계를 다루며, 다음은 다루지 않습니다:
- 직렬화 형식(JSON 스키마, 메시지 인코딩) →
agent-interchange-formats사용 - 인프라 설정(메시지 큐, 서비스 디스커버리) →
agentic-infrastructure-2026사용 - 단일 에이전트 도구 사용(함수 호출, 사고 사슬) →
agentic-patterns사용 - 메모리 지속성(벡터 저장소, 에피소드 기억) →
episodic-memory-algorithms사용 - 프레임워크 선택(AutoGen vs LangGraph vs CrewAI) →
agentic-infrastructure-2026사용
다음 상황에서는 다른 스킬에 위임하세요:
- 와이어 프로토콜 설계 →
agent-interchange-formats - 성능 최적화 →
agentic-infrastructure-2026 - 개별 에이전트 추론 →
agentic-patterns - 장기 기억 →
episodic-memory-algorithms - 도구 통합 →
agentic-patterns