본문으로 건너뛰기

LLM Council: 다중 LLM 합의 기반의 경량 오케스트레이션 프레임워크

여러 LLM의 답변을 병렬로 수집하고 합성 전략을 통해 할루시네이션을 줄이며 답변 품질을 높이는 200줄 규모의 경량 파이썬 프레임워크입니다.

섹션별 상세

01
LLM Council은 약 200줄의 핵심 코드로 구성된 초경량 프레임워크로, openai와 pydantic 외에 무거운 의존성 없이 다중 LLM 오케스트레이션을 수행한다.
02
asyncio.gather()를 이용한 완전 비동기 처리를 지원하여, 전체 응답 속도가 호출된 모델 중 가장 느린 모델의 응답 시간과 거의 동일하게 유지된다.
03
OpenRouter 통합을 통해 하나의 API 키로 200개 이상의 모델에 접근할 수 있으며, 개별 모델의 응답과 최종 합성 결과를 모두 반환하여 투명성을 확보한다.
python
from llm_council import Council, CouncilConfig

config = CouncilConfig(
    openrouter_api_key="your_key",
    council_models=["openai/gpt-4o", "anthropic/claude-3.5-sonnet"],
    council_strategy="synthesis",
    timeout=60.0
)
council = Council(config)
result = await council.query("Your question here")

CouncilConfig를 사용하여 모델 리스트와 합의 전략을 프로그래밍 방식으로 설정하는 예시

04
합의 전략은 복잡한 추론에 적합한 'Synthesis(합성)'와 객관적 사실 확인에 유리한 'Voting(투표)' 두 가지 모드를 제공하며, 합성 모드 시 판독 모델이 모순을 해결한다.
05
성능 벤치마크 결과, 단일 GPT-4 모델 대비 품질 점수는 7.2에서 8.4로 상승하고 할루시네이션 비율은 12%에서 4%로 크게 감소하는 성능 향상을 보였다.
python
import asyncio
from llm_council import Council

async def main():
    council = Council()  # Uses .env configuration
    result = await council.query("Explain the CAP theorem in distributed systems")
    print("Final Answer:", result['final_answer'])
    for response in result['individual_responses']:
        print(f"
{response['model']}:
{response['content'][:200]}...")

asyncio.run(main())

비동기 함수 내에서 Council을 실행하고 개별 모델의 응답과 최종 답변을 출력하는 기본 사용법

06
재시도(Retries), 타임아웃(Timeouts), 개별 모델 실패 시의 우아한 성능 저하(Graceful Degradation) 등 프로덕션 환경에 필요한 기능을 내장하고 있다.

용어 해설

오케스트레이션(Orchestration)
여러 개의 소프트웨어 구성 요소나 서비스의 실행 흐름을 자동화하고 관리하는 과정이다. LLM Council에서는 다양한 언어 모델의 호출 순서와 데이터 흐름을 제어하여 하나의 완성된 시스템처럼 작동하게 만든다.
할루시네이션(Hallucination)
언어 모델이 사실이 아니거나 논리적으로 어긋나는 정보를 마치 사실인 것처럼 그럴듯하게 생성하는 현상이다. 여러 모델의 답변을 교차 검증함으로써 특정 모델이 가진 오류를 걸러내고 답변의 신뢰도를 높일 수 있다.
비동기 I/O(Asyncio)
파이썬에서 단일 스레드로 병렬 처리를 구현하기 위한 라이브러리이다. 여러 LLM API에 동시에 요청을 보내고 응답을 기다리는 동안 다른 작업을 수행할 수 있어, 전체 시스템의 지연 시간을 최소화하는 데 필수적이다.
합성 전략(Synthesis Strategy)
여러 모델로부터 수집된 다양한 답변을 하나의 판독 모델(Judge)에게 전달하여, 모순을 해결하고 최적의 정보를 통합한 단일 답변을 생성하는 방식이다. 단순 투표 방식보다 복잡한 추론이나 창의적 작업에 유리하다.

기술

  • Python
  • OpenRouter
  • Pydantic
  • Asyncio
  • OpenAI API

활용 사례

  • 고신뢰도 질의응답 시스템
  • 자동화된 코드 리뷰
  • 복잡한 논리 추론 및 연구 보조
  • 할루시네이션 방지가 필요한 챗봇

언급된 리소스

AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 02. 25.수집 2026. 02. 25.출처 타입 RSS

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.