멀티 에이전트 토론과 협업

Du et al.은 ICML 2024 논문 "Society of Minds"에서 N개의 모델 인스턴스(instance)가 독립적으로 답을 제안한 뒤, R라운드 동안 서로를 반복적으로 비판하며 수렴하는 방식을 실행했습니다. 이 방식은 사실성(factuality), 규칙 준수(rule-following), 추론(reasoning) 능력을 개선합니다. 희소 토폴로지(sparse topology)는 토큰 비용 면에서 완전 연결(full mesh)보다 낫습니다.

유형: Learn + Build 언어: Python (stdlib) 선수 학습: Phase 14 · 12 (Workflow Patterns), Phase 14 · 05 (Self-Refine and CRITIC) 소요 시간: 약 60분

학습 목표

  • 토론 프로토콜(debate protocol)을 설명할 수 있습니다. 핵심은 N명의 제안자(proposer), R라운드, 그리고 공유 답변으로의 수렴입니다.
  • 토론이 사실성, 규칙 준수, 추론 능력을 왜 개선하는지 설명할 수 있습니다.
  • 희소 토폴로지를 설명할 수 있습니다. 모든 토론자가 다른 모든 토론자의 의견을 봐야 하는 것은 아닙니다.
  • 스크립트형(scripted) LLM 위에 표준 라이브러리(stdlib)만으로 토론을 구현하고, 완전 연결 변형과 희소 변형을 비교합니다. 그리고 토큰 비용과 정확도를 측정합니다.

문제

Self-Refine(Lesson 05)은 하나의 모델이 자기 자신을 비판하는 방식이라, 집단사고(groupthink)에 빠질 위험이 있습니다. CRITIC(Lesson 05)은 외부 도구에 비판의 근거를 두는(grounding) 방식이지만, 외부 도구를 항상 쓸 수 있는 것은 아닙니다. 토론은 세 번째 방식을 도입합니다. 여러 인스턴스를 두고, 서로 교차로 비판(cross-critique)하며, 불일치를 통해 수렴해 가는 방식입니다.

사전 테스트

2문제 · 이 강의를 시작하기 전에 얼마나 알고 있는지 확인해보세요

1.단일 모델 자기 비판인 Self-Refine의 한계 중 멀티 에이전트 토론(debate)이 해결하는 것은 무엇인가요?

2.Du et al.(Society of Minds)의 토론 프로토콜(debate protocol)에서 세 가지 핵심 구성 요소는 무엇인가요?

0/2 답변 완료

개념

Society of Minds (Du et al., ICML 2024)

  • N개의 모델 인스턴스가 같은 질문에 대해 독립적으로 답을 제안합니다.
  • R라운드 동안 각 모델은 다른 모델의 제안을 읽고 비판합니다.
  • 모델은 받은 비판을 바탕으로 자기 답을 갱신합니다.
  • R라운드가 끝나면 수렴한 답을 반환합니다.

원 논문 실험에서는 비용 때문에 N=3, R=2를 사용했습니다. MMLU, GSM8K, Chess Move Validity, 인물 약력 생성(biography generation)처럼 어려운 문제에서는 에이전트 수와 라운드 수가 늘어날수록 정확도가 개선됩니다.

서로 다른 모델을 조합한 토론은 단일 모델 토론보다 낫습니다. ChatGPT와 Bard를 함께 쓴 조합은 둘 중 하나만 쓴 경우보다 결과가 좋았습니다.

희소 토폴로지

"Improving Multi-Agent Debate with Sparse Communication Topology"(arXiv:2406.11776, 2024-2025)는 완전 연결 방식의 토론이 항상 최적은 아니라는 점을 보여줬습니다. 스타(star), 링(ring), 허브-스포크(hub-and-spoke) 같은 희소 토폴로지는 더 낮은 토큰 비용으로 비슷한 정확도를 낼 수 있습니다. 각 토론자는 일부 동료(peer)만 봅니다.

이 결과가 시사하는 바는 다음과 같습니다.

  • 완전 연결, N=5, R=3 = 5 × 3 = 15개 제안이 만들어집니다. 각 제안자가 동료 4명을 읽으므로 비판 연산(critique ops)은 총 60회 필요합니다.
  • 스타, N=5, R=3(허브 1개 + 스포크 4개) = 15개 제안이 만들어집니다. 스포크는 허브만 읽으므로 비판 연산은 12회로 줄어듭니다.

토론이 도움이 되는 경우

  • 사실성. 독립적인 N개의 제안과 교차 확인(cross-check)이 환각(hallucination)을 줄여줍니다.
  • 규칙 준수. 체스 수(move)의 적법성처럼, 한 모델이 규칙을 놓치더라도 다른 모델이 이를 잡아낼 수 있습니다.
  • 열린 추론(open-ended reasoning). 여러 관점이 모이며 올바른 답으로 좁혀집니다.

토론이 해로운 경우

  • 지연 시간에 민감한 사용자 경험. N × R번의 직렬 라운드는 감당하기 어려운 지연 시간을 만들 수 있습니다.
  • 비용에 민감한 대규모 서비스. 질문마다 N × R에 비례하는 토큰이 듭니다.
  • 단순 사실 조회. 한 번의 조회가 다섯 번의 토론보다 훨씬 저렴합니다.

2026년의 실용적 구현

  • Anthropic 오케스트레이터-워커(orchestrator-workers) (Lesson 12) — 합성(synthesis) 단계가 포함된 토론 변형 중 하나입니다.
  • LangGraph 슈퍼바이저(supervisor) (Lesson 13) — 중앙 라우터(router)와 전문 에이전트로 구성된 구조 안에서 토론을 하나의 노드(node)로 구현할 수 있습니다.
  • OpenAI Agents SDK (Lesson 16) — 에이전트가 반복적인 비판을 위해 서로 작업을 넘겨주는 인계(handoff)를 할 수 있습니다.
  • 멀티 에이전트 평가(multi-agent evals). 토론과 평가자-최적화자(evaluator-optimizer)를 결합해 평가 신호를 만듭니다.

이 패턴이 어긋나는 지점

  • 수렴 붕괴(convergence collapse). 모든 에이전트가 첫 번째 오답으로 함께 수렴합니다. 필수 불일치 라운드(required disagreement rounds)를 두어 완화합니다.
  • 허브 실패(hub failure). 스타 토폴로지에서는 잘못된 허브가 모든 에이전트를 오염시킵니다. 허브를 교체하거나 여러 개의 허브를 사용합니다.
  • 프롬프트 동질화(prompt homogenization). 모든 에이전트가 같은 프롬프트를 쓰면 같은 답을 냅니다. 서로 다른 프롬프트와, 가능하다면 서로 다른 모델을 함께 사용합니다.

만들어보기

code/main.py는 표준 라이브러리만으로 동작하는 토론을 구현합니다.

  • Debater 클래스 — 토론자마다 서로 다른 의견 드리프트(opinion drift)를 갖는 스크립트형 LLM입니다.
  • FullMeshDebateSparseDebate 실행기(runner).
  • 세 가지 질문 — 사실형, 규칙 기반, 추론형 한 개씩입니다.
  • 지표 — 수렴 답변, 수렴까지 걸린 라운드 수, 총 비판 연산 횟수입니다.

다음과 같이 실행합니다.

python3 code/main.py

출력은 프로토콜별 정확도와 비용을 보여줍니다. 희소 토폴로지는 3개 질문 중 2개에서, 더 낮은 비용으로 완전 연결과 같은 정확도를 냅니다.

사용해보기

  • Anthropic 오케스트레이터-워커(orchestrator-workers) — 워커가 2-3개 정도인 단순한 토론에 적합합니다.
  • LangGraph — 체크포인트(checkpoint)를 갖춘, 상태가 있는(stateful) 다라운드 토론에 적합합니다.
  • 커스텀(custom) 구현 — 연구 목적이나 특수한 정확성 보장이 필요한 경우에 적합합니다.

산출물 만들기

outputs/skill-debate.md는 토폴로지, N, R, 수렴 규칙을 설정할 수 있는 멀티 에이전트 토론을 스캐폴딩(scaffolding)하는 skill입니다.

연습문제

  1. "강제 불일치(forced disagreement)" 규칙을 구현해 보세요. 1라운드에서 모든 토론자는 서로 다른 제안을 내야 합니다. 이 규칙이 수렴 속도에 어떤 영향을 주는지 측정합니다.
  2. 신뢰도 가중 집계(confidence-weighted aggregation)를 추가해 보세요. 토론자는 (answer, confidence) 형태로 답을 반환하고, 집계기는 신뢰도로 가중합니다. 정확도에 도움이 되나요?
  3. "에이전트" 한 명을, 의견 분포가 다른 다른 스크립트형 LLM으로 바꿔 보세요. 이질성(heterogeneity)이 정확도 개선에 도움이 되나요?
  4. 세 가지 질문에 대해 완전 연결과 희소 토폴로지의 토큰 비용을 측정해 보세요. 비용 대 정확도를 그래프로 그려 봅니다.
  5. Society of Minds 논문을 읽어보세요. 그리고 장난감 예제를 N=5, R=3으로 확장해 보세요. 무엇이 깨지고 무엇이 좋아지나요?

핵심 용어

용어흔한 설명실제 의미
토론(debate)"멀티 에이전트 비판"N명의 제안자와 R라운드 교차 비판을 거쳐 수렴하는 방식이다.
완전 연결(full mesh)"모두가 모두를 읽음"모든 토론자가 매 라운드마다 다른 모든 동료의 답을 읽는다.
희소 토폴로지(sparse topology)"제한된 동료 보기"토론자가 일부 동료의 답만 읽는다.
허브-스포크(hub-and-spoke)"스타(star) 토폴로지"중앙 토론자 1명과, 그 허브만 읽는 N-1개의 스포크로 구성된 구조이다.
수렴(convergence)"합의"토론자들이 하나의 공유 답변으로 모이는 상태이다.
Society of Minds"Du et al. 토론 논문"ICML 2024에서 제안된 멀티 에이전트 토론 방법이다.

더 읽을거리

실습 코드

이 강의의 실습 코드 1개

main
Code

산출물

이 강의에서 생성된 프롬프트, 스킬, 코드 산출물 1개

debate

Scaffold a multi-agent debate with N debaters, R rounds, configurable topology (full mesh, star, ring), and a convergence rule.

Skill

확인 문제

3문제 · 모두 맞추면 완료 표시가 가능합니다

1.팀이 N=5, R=3의 완전 연결(full mesh) 토론을 실행했는데 토큰 비용이 감당할 수 없습니다. 비슷한 정확도를 유지하면서 비용을 줄이는 아키텍처 변경은 무엇인가요?

2.토론의 모든 에이전트가 첫 번째 라운드에서 틀린 답으로 수렴했습니다. 이 실패 모드의 이름과 완화 방법은 무엇인가요?

3.단순 도구 조회(tool lookup) 한 번과 비교했을 때, 멀티 에이전트 토론이 적합하지 않은 경우는 언제인가요?

0/3 답변 완료

추가 문제 풀기

AI가 강의 내용을 바탕으로 새로운 문제를 생성합니다