
AI 에이전트가 자율적으로 '토론'을 호출한다! 『Multi-LLM Debate』 스킬의 설계와 통합
요약
AI 에이전트가 복잡한 의사결정 시 단일 모델의 편향을 극복하기 위해 자율적으로 'Multi-LLM Debate' 스킬을 호출하는 워크플로우를 소개합니다. Gemini, Claude, GPT의 공식 CLI를 활용하여 찬성, 반대, 조정자 역할을 수행함으로써 의사결정의 정밀도를 높이는 설계 방식을 다룹니다.
핵심 포인트
- 단일 모델의 편향과 할루시네이션을 방지하기 위한 멀티 LLM 토론 구조 설계
- 에이전트가 트레이드오프 상황에서 스스로 디베이트 스킬을 트리거하는 자율성 부여
- Gemini, Claude, GPT 등 서로 다른 벤더의 모델을 활용한 상호 검증 체계 구축
- 찬성, 반대, 조정자 역할을 통한 체계적인 JSON 기반 데이터 플로우 구현
복잡한 기술 선정, 리팩터링(Refactoring) 방침, 혹은 보안 설계 등 개발 현장에서는 매일 '정답이 하나가 아닌 트레이드오프(Trade-off)'가 발생합니다.
이러한 어려운 과제에 대해, 자율적으로 동작하는 AI 코딩 에이전트(Antigravity나 Claude Code 등)에게 단일 프롬프트로 판단을 맡기면, 시야의 편향이나 모델 특유의 바이어스(Bias)로 인해 강압적인 해결책이 채택될 위험이 있습니다.
그래서 유효한 것이, AI 에이전트가 자율적으로 '디베이트(Debate, 토론)'를 외부 스킬로서 호출하고, 그 결론을 바탕으로 의사결정을 수행하는 워크플로우입니다.
이 기사에서는 Google의 Gemini(agy), Anthropic의 Claude(claude), OpenAI의 GPT/Codex(codex)라는 3가지 공식 CLI를 활용하여, AI 에이전트가 필요에 따라 호출할 수 있는 커스텀 기능 확장인 「Multi-LLM Debate」 스킬의 설계와 구현에 대해 해설합니다.

그림 1: Buddypia 선생에 의한 「Multi-LLM Debate」 해설
1. 에이전트 연동에서의 「복수 LLM 디베이트」의 의의
자율형 AI 에이전트가 혼자서 태스크를 수행할 때, 최대의 병목(Bottleneck)은 '객관적인 자기 비판이 어렵다'는 점에 있습니다.
최근 여러 LLM에 역할(찬성·반대)을 부여하여 토론하게 하는 「AI Safety via Debate」 등의 연구를 통해, 디베이트를 통한 의사결정 정밀도 향상이 입증되었습니다. 이를 에이전트의 **「커스텀 스킬」**로 구현함으로써 다음과 같은 브레이크스루(Breakthrough)가 가능해집니다.
에이전트의 자율적인 분기: 에이전트가 작업 중에 '트레이드오프가 크다'고 판단했을 때, 스스로 디베이트 스킬을 트리거하여 여러 관점을 고려한 최선의 방안을 선택한다.
멀티 벤더(Multi-vendor)를 통한 상호 검증: 서로 다른 벤더의 모델(Gemini / Claude / GPT)이 토론에 참여함으로써, 단일 모델의 할루시네이션(Hallucination)이나 편향을 상호 검출하고 중화한다.
2. 「Multi-LLM Debate」 스킬의 설계
본 스킬은 AI 에이전트가 내부적 또는 서브 에이전트(Sub-agent)를 통해 동적으로 호출할 수 있도록, 「에이전트 퍼스트(Agent-first)」 구조로 설계되었습니다.
데이터 플로우(Data Flow)는 다음과 같습니다.

그림 2: Multi-LLM Debate 스킬의 데이터 플로우
토론과 연동의 흐름
스킬 호출 (Invocation):
부모 에이전트가 '트레이드오프 검토가 필요하다'고 판단했을 때, 또는 사용자가 명시적으로 지시했을 때 본 스킬이 트리거됩니다.
찬성파 (Proponent)의 주장:
할당된 모델이 의제에 대해 긍정적인 강점이나 도입 메리트를 JSON으로 출력합니다.
반대파 (Opponent)의 비판적 검증:
다른 모델이 찬성파가 출력한 JSON을 입력으로 받아, 그 약점, 보안상의 우려, 대안을 비판적으로 분석하여 JSON으로 출력합니다.
조정자 (Moderator)에 의한 통합 (최종 판정):
제3의 모델이 양측의 주장을 냉정하게 비교하여 트레이드오프, 객관적 스코어링, 최종 권장안을 JSON으로 생성합니다.
결론 반환:
최종적인 통합 Verdict(결론)를 부모 에이전트에게 반환하며, 부모 에이전트는 그 결과를 바탕으로 코딩이나 설계로 이행합니다.
3. 왜 「공식 CLI」를 재사용하는가? (설계 결정)
통상적으로 여러 LLM을 협조시키는 시스템을 직접 제작할 경우, 각 벤더의 전용 SDK(google-genai, anthropic, openai 등)를 설치하고 개별 API 키를 설정해야 합니다.
하지만 에이전트가 가동되는 로컬 환경에는 이미 개발자가 로그인해 둔 공식 CLI 도구(agy, claude, codex)가 존재하는 경우가 많습니다.
본 스킬은 **「이미 터미널에 있는 공식 CLI를 subprocess로 재사용함으로써 의존성을 최소화하고, 인증 정보의 이중 관리를 없앤다」**는 설계 접근 방식을 취하고 있습니다.
| 역할 내 프로바이더 | 사용하는 공식 CLI | 인증 메커니즘 | 구조화된 출력 (Structured Output) |
|---|---|---|---|
agy (Antigravity CLI) | agy의 기존 OAuth | 텍스트에서 JSON 파싱 + Pydantic으로 검증 | |
| Anthropic | claude (Claude Code) | claude 로그인 세션 | claude -p --json-schema로 스키마 고정 |
| OpenAI | codex (Codex CLI) | codex login (ChatGPT) | codex exec --output-schema로 스키마 고정 |
에이전트 환경에서의 안전성 (샌드박스화)
공식 CLI를 서브프로세스(Subprocess)에서 실행할 때, LLM이 임의로 터미널에 변경을 가하지 않도록 엄격한 안전 대책(샌드박스화, Sandboxing)을 수행하고 있습니다.
claude호출 시에는--allowed-tools ""및--permission-mode dontAsk를 지정하여 도구 실행을 무효화(Pure Generation)합니다.- 명령 실행 시의 현재 작업 디렉터리(Cwd)를 임시 디렉터리(
tempdir)로 설정하여, 프로젝트의 설정 파일이나 Git 훅(Git hook)을 읽어들이지 못하게 합니다.
4. 에이전트로부터의 스킬 호출 방법 및 구성
AI 에이전트(예: Antigravity)가 이 디베이트(Debate) 기능을 스킬(Skill)로 인식하게 하려면, 다음과 같은 디렉터리 및 매니페스트(SKILL.md) 구성을 채택합니다.
스킬 폴더 구성
multi-llm-debate/
├── SKILL.md # 에이전트용 스킬 정의 (YAML 프론트매터)
├── README.md # 개발자용 사양서
...
SKILL.md (에이전트가 읽는 사양서)
에이전트는 이 SKILL.md의 프론트매터(Frontmatter)를 읽음으로써, "어떤 상황에서 이 스킬을 호출해야 하는가"를 자율적으로 이해합니다.
---
name: multi-llm-debate
description: Runs a 3-role debate (proponent / opponent / moderator) where different-vendor LLMs (Gemini, Claude, GPT) argue a topic to reach a multi-perspective verdict. Use for hard decisions, trade-off analysis, or weighing opposing viewpoints before concluding.
...
# 스크립트를 인자와 함께 호출하여 실행
<skill-dir>/scripts/run.sh "의사결정하고 싶은 의제"
에이전트의 자율 호출 코드 (이미지)
상위 에이전트(Antigravity 등)는 사용자로부터 복잡한 시스템 설계 등의 지시를 받았을 때, 다음과 같이 자율적으로 이 스킬을 호출합니다.
# 상위 에이전트가 "트레이드오프(Trade-off)가 수반되는 의사결정"이 필요하다고 판단했을 경우의 의사 로직
async def decide_architecture_with_debate(user_task: str):
# 1. 의사결정 포인트를 정리
...
5. 본 설계의 장점과 향후 전망 (트레이드오프)
장점
- 에이전트 판단 능력의 자기 수복: 에이전트가 망설일 때, 다른 에이전트와 대화(Wall-hitting)하게 함으로써 할루시네이션 (Hallucination)이나 불합리한 코드 제안을 방지합니다.
- 키리스(Keyless) 실행: 로컬에서 로그인되어 있는 터미널이라면, API 키 설정 없이도 안전하고 빠르게 멀티 모델 연동이 가능합니다.
트레이드오프와 제한 사항
- 직렬 호출의 오버헤드: 각 CLI를 순차적으로 서브프로세스에서 기동하기 때문에, 결과를 얻기까지 1~3분 정도의 레이턴시 (Latency)가 발생합니다.
- 샌드박스의 인증 제한: 인증 정보가 없는 CI 환경이나 완전히 격리된 컨테이너 내부에서는, API 키(
GEMINI_API_KEY등)를 통한 API 직접 연결으로의 폴백 (Fallback)이 필수적입니다.
6. 요약
AI 에이전트의 능력을 최대한으로 끌어올리기 위해서는, 에이전트 스스로가 외부 도구나 「스킬 (Skill)」을 현명하게 활용할 수 있는 메커니즘이 필수적입니다.
「Multi-LLM Debate」 스킬은 단순히 인간이 스크립트를 실행하기 위한 것이 아니라, **「AI 에이전트가 더욱 객관적이고 편향되지 않은 의사결정을 내리기 위한 두뇌의 일부」**로서, 에이전트 자체의 확장 기능으로서 진정한 가치를 발휘합니다.
의사결정의 정밀도를 높이고 싶은 개발 프로세스에서, 커스텀 스킬로서의 디베이트 (Debate) 연동을 꼭 시도해 보시기 바랍니다.
참고 문헌
- Irving, G., Christiano, P., & Amodei, D. (2018). AI safety via debate. arXiv:1805.00899.
- Liang, T., et al. (2023). Encouraging Divergent Thinking in Large Language Models through Multi-Agent Debate. arXiv:2305.19118.
- Du, Y., et al. (2023). Improving Factuality and Reasoning in Language Models through Multiagent Debate. arXiv:2305.14325.
Discussion

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기