Society of Mind와 멀티 에이전트 토론(Society of Mind and Multi-Agent Debate)

민스키(Minsky)가 1986년에 제시한 전제, 즉 지능은 전문가들의 사회(society of specialists)라는 생각은 10년마다 다시 발견됩니다. 2023년 두(Du) 등은 이 아이디어를 구체적인 알고리즘(algorithm)으로 옮겼습니다. 여러 개의 대규모 언어 모델(LLM) 인스턴스(instance)가 각자 답을 제안하고, 서로의 답을 읽고, 비판하고, 자기 답을 갱신(update)합니다. N개의 라운드(round)를 거치면 이들은 합의(consensus)에 수렴하며, 그 결과는 영샷 사고 사슬(zero-shot Chain-of-Thought; CoT)과 자기 반성(self-reflection) 기법을 추론(reasoning)·사실성(factuality) 6개 과제에서 일관되게 이깁니다. 중요한 발견은 두 가지입니다. 여러 에이전트(multiple agents)여러 라운드(multiple rounds) 가 각각 독립적으로 기여한다는 점입니다. 사회(society)는 단일 에이전트의 독백을 이기고, 여러 라운드에 걸친 의견 교환은 한 번에 다수결로 답을 정하는 방식을 이깁니다.

유형: Learn + Build 언어: Python (stdlib) 선수 지식: Phase 16 · 04 (멀티 에이전트 기본 모델) 예상 시간: 약 60분

문제

자기 일관성(self-consistency), 즉 하나의 모델을 여러 번 샘플링(sampling)하고 다수결로 답을 선택하는 방식은 추론 성능을 가장 저렴하게 끌어올릴 수 있는 기법입니다. 동작은 하지만 빠르게 포화(saturation)됩니다. 샘플 수를 두 배로 늘려도 의미 있는 추가 향상이 보이지 않는 지점이 금방 옵니다.

토론(debate)은 이 포화를 깨뜨립니다. 하나의 모델에서 뽑은 N개의 독립 샘플 대신, N개의 에이전트가 서로의 추론 과정을 읽고 자기 답을 수정(revise)합니다. 샘플들 사이의 상관관계(correlation)가 낮아지고, 더 이상 독립 동일 분포(i.i.d.)가 아니게 됩니다. 그 결과 자기 일관성 방식이 자신 있게 틀리던 지점에서 토론의 수렴점(convergence point)은 정답에 도달하는 경우가 많습니다.

사전 테스트

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

1.자기 일관성(self-consistency, 하나의 모델을 N번 표본추출)과 멀티 에이전트 토론(debate)의 핵심 차이는 무엇인가요?

2.자기 일관성(self-consistency)이 표본 수를 늘려도 빠르게 포화(saturation)되는 이유는 무엇인가요?

0/2 답변 완료

개념

두(Du) 등 2023년 알고리즘

arXiv:2305.14325 (ICML 2024) 논문의 알고리즘은 다음과 같습니다.

  1. N개의 에이전트가 질문에 대해 각자 초기 답(initial answer)을 만듭니다.
  2. 라운드 r = 2..R에 대해, 각 에이전트는 다른 에이전트들이 r-1 라운드에 낸 답을 보고 "이를 고려해 갱신된 답을 제시하라"는 요청을 받습니다.
  3. R개 라운드가 끝나면 최종 답들에 대해 다수결 투표(majority vote)를 수행합니다.

논문은 MMLU, GSM8K, biographies, MATH, 그리고 사실성 벤치마크(factuality benchmark)에서 이 알고리즘을 검증합니다. 토론은 사고 사슬(CoT)과 자기 반성(Self-Reflection)을 일관되게 이깁니다.

독립적으로 작동하는 두 개의 손잡이

같은 논문의 절제 실험(ablation) 결과는 다음과 같습니다.

  • 에이전트 수만 늘리기(agent count alone): 1 라운드에서 N개 에이전트의 다수결만 해도 대부분의 과제에서 단일 에이전트를 이기지만, 곧 평탄 구간(plateau)에 도달합니다.
  • 라운드 수만 늘리기(round count alone): 한 에이전트가 자기 이전 추론만 다시 보는 방식은 거의 도움이 되지 않습니다. 자기 반성(reflection)의 알려진 약점입니다.
  • 둘을 함께 늘리기(both together): 큰 도약은 둘을 함께 늘릴 때 나옵니다. 여러 에이전트 사이의 다중 라운드 교환이 성능 향상을 만듭니다.

왜 작동하는가

두 가지 메커니즘(mechanism)이 있습니다.

  1. 불일치에 대한 노출(exposure to disagreement): 어떤 에이전트가 다른 결론을 가진 다른 에이전트의 추론 사슬(reasoning chain)을 보면, 자기 결론을 정당화하거나 갱신해야 합니다. 어느 쪽이든 다음 라운드(r+1)의 맥락(context)은 이전 라운드(r)보다 풍부해집니다.
  2. 상관된 오류 줄이기(correlated error reduction): 자기 일관성에서는 모든 샘플이 같은 모델에서 나오므로 오류가 서로 상관(correlate)됩니다. 그 결과 자신 있게 틀린 답으로 평균이 수렴할 수 있습니다. 서로 다른 모델이나 서로 다른 시드(seed)는 오류 사이의 상관을 줄여 줍니다(decorrelate). 토론을 거쳐 형성된 서로 다른 관점은 이 상관을 한층 더 떨어뜨립니다.

이질적 토론(Heterogeneous debate)

A-HMAD와 그 후속 연구들은 에이전트마다 서로 다른 기반 모델(base model) 을 사용합니다. 라마(Llama)·클로드(Claude)·지피티(GPT)가 함께 토론하면 단일 문화 붕괴(monoculture collapse, 26강)가 줄어듭니다. 한 모델 패밀리(model family)에서 발생하는 상관된 오류가 다른 패밀리에는 공유되지 않기 때문입니다.

단점도 있습니다. 능력이 떨어지는 모델이 토론에 참여하면 합의를 자기의 틀린 답 쪽으로 끌고 갈 수 있습니다("Should we be going MAD?", arXiv:2311.17371 참고).

자연어 기반 마음의 사회(Natural Language-Based Society of Mind; NLSOM) — 129-에이전트 확장

쥬게(Zhuge) 등의 논문 "Mindstorms in Natural Language-Based Societies of Mind" (arXiv:2305.17066)는 이 아이디어를 129명짜리 사회로 확장(scale)했습니다. 결과는 다음과 같습니다. 규모가 커지면 전문화(specialization)와 자기 조직화(self-organization)가 창발(emergence)하며, 시각 질문 응답(visual question answering) 같은 과제에서 단일 에이전트를 이깁니다.

실패 모드

  • 아첨 캐스케이드(sycophancy cascade): 모든 에이전트가 가장 자신 있어 보이는 에이전트에게 동조(defer)합니다. 토론은 가장 큰 목소리 쪽으로 무너집니다. "에이전트 한 명은 반드시 반대 입장을 주장한다" 같은 적대적 역할(adversarial role) 프롬프팅이 도움이 됩니다.
  • 주제 이탈(topic drift): 여러 라운드에 걸친 토론은 원래 질문에서 벗어나기 쉽습니다. 완화책은 매 라운드마다 원 질문을 다시 주입하는 것입니다.
  • 연산량 폭증(compute blowup): N개 에이전트 × R개 라운드 = N·R번의 LLM 호출(call)이며, 호출마다 맥락이 점점 커집니다. 5-에이전트 5-라운드 토론은 맥락이 점점 커지는 25번의 호출입니다. 질문 하나당 비용이 단일 CoT 호출의 10배를 넘을 수 있습니다.

만들어보기

code/main.py는 수학 질문 하나에 대해 3개 에이전트 × 3개 라운드짜리 토론을 실행합니다. 각 에이전트는 서로 다른, 때로는 틀린 답으로 시작합니다. 에이전트는 LLM 기반이 아니라 스크립트(scripted)로 동작합니다. 각 에이전트는 스크립트로 정한 신뢰도(confidence)로 가중한 이웃 에이전트들의 평균 쪽으로 답을 "갱신"합니다. 라운드별 로그(log)를 통해 수렴 과정을 확인할 수 있습니다.

데모는 두 가지 핵심 효과를 보여줍니다.

  • 단 1라운드의 의견 교환만으로도 에이전트들이 정답에 가까워집니다.
  • 2라운드 이후 추가 라운드는 수익 체감(diminishing returns)을 보입니다. 두(Du) 등이 보고한 평탄 구간과 일치합니다.

실행:

python3 code/main.py

사용해보기

outputs/skill-debate-configurator.md는 새로운 과제에 맞는 토론 구성을 설계합니다. 에이전트 수, 라운드 수, 이질성(heterogeneity; 같은 모델 vs 혼합), 역할 배정(대칭(symmetric) vs 적대자 1명) 등을 정하고, 실행 전에 토큰(token) 비용까지 추정합니다.

산출물 만들기

토론 시스템을 배포한다면 다음을 지킵니다.

  • 라운드는 3으로 제한: 두(Du) 등은 3 라운드가 대부분의 성능 향상을 흡수한다고 보고합니다. 그 이상은 품질이 아니라 비용입니다.
  • 에이전트는 5로 제한: 5개를 넘으면 맥락 팽창(context bloat)과 비용이 지배합니다.
  • 기본은 이질적 구성(heterogeneous): 풀(pool)에 최소 두 종류 이상의 기반 모델을 둡니다.
  • 적대자 슬롯(adversarial slot) 유지: 에이전트 하나는 무조건 반대하도록 프롬프트(prompt)합니다. 아첨 캐스케이드를 끊습니다.
  • 모든 라운드를 로깅(logging): 중간 라운드를 숨기는 토론 시스템은 디버그(debug)나 감사(audit)가 불가능합니다.

연습문제

  1. (쉬움) code/main.py를 실행한 뒤 라운드 수를 5로 설정하고 수익 체감을 관찰해 보세요. 어느 라운드에서 추가 수렴이 멈춥니까?
  2. (중간) 항상 현재 다수 의견에 반대하는 적대적 역할을 가진 네 번째 에이전트를 추가해 보세요. 이 에이전트는 수렴을 깨뜨립니까, 개선합니까?
  3. (중간) 라운드별 합의 점수(agreement score), 즉 다수 답에 속하는 에이전트의 비율을 출력해 보세요. 언제 1.0에 도달하며, 그것이 "정답"과 같은 의미입니까?
  4. (어려움) 두(Du) 등의 4절 절제 실험(Section 4 ablations)을 읽으세요. 이 코드로 "에이전트만 늘리기" vs "라운드만 늘리기" vs "둘 다 늘리기" 결과를 재현해 보세요.
  5. (어려움) "Should we be going MAD?" (arXiv:2311.17371)를 읽고 라운드 로빈(round-robin) 외의 토론 변형(variant) 두 가지를 나열해 보세요. 예: 심판 주도(judge-led), 토론의 사슬(chain-of-debate), 적대적(adversarial).

핵심 용어

용어흔한 설명실제 의미
마음의 사회(Society of Mind)"민스키(Minsky)의 아이디어"상호작용하는 전문가들로서의 지능. 1986년에 제시된 틀이 이제 LLM 토론으로 구체화됨.
멀티 에이전트 토론(Multi-agent debate)"에이전트들이 논쟁한다"N명의 에이전트가 답을 제안하고, 서로 비판하고, R개 라운드 동안 갱신한 뒤 다수결 투표로 결정.
합의(Consensus)"서로 동의한다"인식론적 진리가 아니라 다수 답에 속한 비율일 뿐. 자신 있게 틀릴 수 있다.
라운드(Rounds)"교환 단계"한 라운드는 각 에이전트가 다른 에이전트의 답을 한 번 읽고 한 번 갱신하는 단위.
이질적 토론(Heterogeneous debate)"모델 패밀리를 섞는다"오류 간 상관을 줄이기 위해 서로 다른 기반 모델을 사용하는 토론.
아첨 캐스케이드(Sycophancy cascade)"다들 큰 목소리에 동의한다"정답 여부와 상관없이 가장 자신 있는 에이전트에게 다른 에이전트들이 동조하는 토론 실패 양상.
자연어 기반 마음의 사회(NLSOM)"129-에이전트 사회"Natural-language society of mind. 쥬게(Zhuge) 등이 규모를 키운 버전.
상관된 오류(Correlated error)"같은 모델, 같은 버그"자기 일관성이 포화하는 이유. 서로 다른 관점의 토론은 이 상관을 줄인다.

더 읽을거리

실습 코드

이 강의의 실습 코드 1개

main
Code

산출물

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

debate-configurator

Configure a multi-agent debate for a given task, estimating quality gain and token cost before running.

Skill

확인 문제

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

1.Du et al.은 에이전트 수와 라운드 수가 독립적으로 기여함을 발견했습니다. 단일 에이전트에서 라운드만 늘리면(자기 반성) 어떻게 되나요?

2.멀티 에이전트 토론에서 '아첨 캐스케이드(sycophancy cascade)'란 무엇이며, 어떻게 완화하나요?

3.이질적(heterogeneous) 기반 모델(예: Llama + Claude + GPT)을 함께 사용하면 동질적(homogeneous) 모델 대비 토론 결과가 개선되는 이유는 무엇인가요?

0/3 답변 완료

추가 문제 풀기

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