이종관
글 목록으로

MADKE: 지식 강화 다중 에이전트 토론

Multi-Agent Debate에 공유 지식 풀을 도입하여 토론 품질을 높이는 확장 기법

2026년 2월 1일·6 min read·
agent
multi-agent
debate
knowledge

Multi-Agent Debate with Knowledge Enhancement

개념

MADKE는 Multi-Agent Debate의 발전 버전이다. 공유 지식 풀을 도입하여 토론 품질을 향상시킵니다.

기존 Multi-Agent Debate의 문제

  • 각 에이전트의 배경 지식이 다름
  • 같은 정보에 대해 다르게 해석
  • 특정 분야 지식 부족 시 토론 품질 저하

문제 예시

Agent A: "한국의 GDP는 약 1.6조 달러이다."

Agent B: "아니요, 1.8조 달러이다."

Agent C: "제가 알기로는 1.7조 달러이다."

각자 다른 시점과 출처의 데이터로 불필요한 논쟁이 발생한다.

해결책: 공유 지식 풀

공유 지식 풀(논문, 팩트, 전문 지식)을 중심으로 모든 에이전트가 연결된다. 각 에이전트는 다음과 같이 동작한다:

  1. 지식 풀에서 관련 정보 검색 — 토론에 필요한 데이터를 가져온다.
  2. 그 정보를 바탕으로 토론 — 동일한 정보 기반 위에서 논의한다.
  3. 새로운 정보는 풀에 추가 — 토론 중 발견한 내용을 공유한다.

프로세스

  1. 질문 수신 — 사용자로부터 질문을 받다.
  2. 관련 지식 검색 — 각 에이전트가 지식 풀에서 정보를 획득한다.
  3. 지식 기반 토론 — 동일한 정보를 바탕으로 토론을 진행한다.
  4. 새로운 발견 저장 — 토론 중 발견한 새 정보를 풀에 추가한다.
  5. 최종 답 도출 — 토론 결과를 종합하여 답변을 생성한다.

기존 Debate vs MADKE

기존 DebateMADKE
배경 지식각자 다름동일한 지식 기반
정보 일관성불일치 가능일관된 정보
지식 한계학습 데이터 범위외부 지식 접근
토론 품질변동적안정적

MADKE 토론 예시

질문: "2024년 한국 경제 성장률 전망은?"

지식 풀 검색: IMF 보고서 2.3% 전망, 한국은행 전망 2.1%, OECD 전망 2.2%

Agent A (지식 기반 응답): "IMF 보고서에 따르면 2.3%로 전망되지만, 한국은행은 더 보수적인 2.1%를 제시했다."

Agent B (보완): "OECD 전망 2.2%도 고려하면, 대체로 2.1-2.3% 범위로 수렴한다. 주요 기관 간 큰 차이가 없다."

최종 답변: "주요 기관들의 전망을 종합하면 2024년 한국 경제 성장률은 약 2.1-2.3%로 예상된다. (출처: IMF, 한국은행, OECD)"

지식 풀 구성

유형예시
팩트 데이터통계, 수치, 날짜
전문 지식논문, 보고서
도메인 지식의학, 법률, 기술
최신 정보뉴스, 업데이트

지식 풀 업데이트

토론 중 새로운 정보가 발견되면 풀에 추가:

토론 중 — Agent A: "최근 연구에 따르면 X라는 새로운 발견이..."

검증 — Agent B: "출처를 확인해보니 신뢰할 수 있는 논문이다."

지식 풀 업데이트 — 새로운 팩트 추가: "X 현상 발견 (출처: Nature 2024)"

구현 구조

python
class MADKE:
    def __init__(self, agents, knowledge_pool):
        self.agents = agents
        self.knowledge_pool = knowledge_pool
 
    def debate(self, question, max_rounds=3):
        # 1. 관련 지식 검색
        relevant_knowledge = self.knowledge_pool.search(question)
 
        # 2. 지식 기반 초기 응답
        responses = {}
        for agent in self.agents:
            responses[agent.id] = agent.generate(
                question=question,
                context=relevant_knowledge
            )
 
        # 3. 토론 라운드
        for round in range(max_rounds):
            for agent in self.agents:
                # 추가 지식 검색 가능
                additional_knowledge = self.knowledge_pool.search(
                    agent.get_query()
                )
 
                responses[agent.id] = agent.respond(
                    question=question,
                    knowledge=relevant_knowledge + additional_knowledge,
                    others=responses
                )
 
                # 새로운 정보 발견 시 풀에 추가
                if agent.has_new_finding():
                    self.knowledge_pool.add(agent.new_finding)
 
        # 4. 최종 답변
        return self.synthesize(responses)

장점

  1. 일관성: 모든 에이전트가 같은 정보 기반
  2. 정확성: 외부 지식으로 할루시네이션 감소
  3. 투명성: 출처 명시 가능
  4. 확장성: 지식 풀 확장으로 역량 증가

한계

  1. 지식 풀 품질: 잘못된 정보가 있으면 전체에 영향
  2. 검색 정확도: 관련 지식을 찾지 못할 수 있음
  3. 업데이트 비용: 지식 풀 유지 관리 필요

관련 개념

  • Multi-Agent Debate: 기본 토론 구조
  • RAG: 지식 검색 기술
  • LLM Agent Survey: 협력 구조