Avalon3 — 다중 AI 토론 시스템

Avalon3는 여러 AI가 집단지성(Collective Intelligence) 방식으로 토론하고, 그 결과를 바탕으로 코드를 생성하는 시스템입니다. 단일 AI의 편향을 줄이고 더 높은 품질의 결과물을 만들어냅니다.

개요

왜 Avalon3인가?

단일 AI에게 코드를 맡기면 그 AI의 편향과 한계에 갇힐 수 있습니다. Avalon3는 이 문제를 다중 AI 집단지성으로 해결합니다:

방식단일 AIAvalon3
관점하나의 시각모든 AI가 6가지 관점에서 분석
오류 검출자기 검증구현자 제외 전원이 병렬 리뷰
설계 품질AI 의존적다각도 토론을 통한 최적화
코드 품질편향 가능리뷰 + 리파인 과정 포함

4가지 역할

Avalon3에는 4가지 역할이 있으며, 하나의 AI가 여러 역할을 겸할 수 있습니다:

역할설명선택 방식활동 단계
토론자 (Debater)6가지 관점에서 프로젝트를 분석하고 토론복수 선택 (전체 AI 참여)Research, Debate
종합자 (Synthesizer)토론 결과를 하나의 설계 문서로 통합단일 선택Synthesis
구현자 (Implementer)설계를 바탕으로 전체 코드 작성단일 선택Implementation, Refinement
리뷰어 (Reviewer)구현된 코드의 품질 검증자동 (토론자 - 구현자)Review, Refinement

리뷰어는 자동으로 결정됩니다. 토론자 중 구현자를 제외한 나머지가 리뷰어가 되어, 자기 코드를 자기가 리뷰하는 것을 방지합니다.

4명의 AI 참여 예시

Claude, Gemini, Ollama, OpenCode 4개 AI를 사용하는 경우:

단계참여 AI설명
ResearchClaude + Gemini + Ollama + OpenCode4명이 병렬로 리서치
DebateClaude + Gemini + Ollama + OpenCode4명이 6개 관점으로 순차 토론
SynthesisGemini (종합자)토론 결과를 하나의 설계안으로 통합
ImplementationClaude (구현자)설계 기반으로 전체 코드 작성
ReviewGemini + Ollama + OpenCode구현자 제외 3명이 병렬 리뷰
RefinementClaude가 수정 → 3명이 재리뷰Critical 이슈가 있을 때만 실행

6단계 파이프라인

Research → Debate → Synthesis → Implementation → Review → Refinement
실행 패널 - 6단계 진행 바

1단계: Research (리서치)

모든 토론자가 병렬로 관련 정보를 조사합니다:

  • 기존 코드 및 프로젝트 구조 분석
  • 기술 스택 및 의존성 조사
  • 모범 사례와 설계 패턴 확인
각 AI가 독립적으로 리서치한 결과는 다음 토론 단계의 기초 자료가 됩니다.

AI별 리서치 방식의 차이

Research 단계에서 각 AI는 자신이 가진 고유한 도구를 활용하여 조사를 수행합니다. 이 때문에 AI마다 리서치의 깊이와 범위가 다릅니다:

AI리서치 방식특징
Claude Code내장 웹 브라우저로 직접 웹 검색 및 페이지 탐색최신 문서, API 레퍼런스, GitHub 이슈 등을 실시간으로 조사
Gemini CLIGoogle Search 기반 grounding 지원Google 검색 결과를 기반으로 최신 정보 반영
Ollama학습 데이터 기반 분석웹 접근 없음, 로컬 모델의 사전 학습 지식 활용
OpenCode백엔드 모델에 따라 다름연결된 AI 모델의 기능에 의존

Claude Code는 WebSearch와 WebFetch 도구를 내장하고 있어, Research 단계에서 자율적으로 브라우저를 열고 관련 기술 문서, 라이브러리 릴리스 노트, 커뮤니티 토론 등을 직접 탐색합니다. 이를 통해 학습 데이터의 지식 마감일(knowledge cutoff) 이후의 최신 정보까지 수집할 수 있습니다.

다양한 리서치 방식을 가진 AI들이 함께 참여할수록, 학습 데이터 기반의 깊은 분석과 실시간 웹 정보가 결합되어 더 풍부한 기초 자료가 만들어집니다.

2단계: Debate (토론)

Avalon3의 핵심인 집단지성 토론이 진행됩니다. 기존의 "설계자 vs 비평가" 방식이 아닌, 모든 AI가 동일한 관점에서 함께 분석하는 방식입니다.

왜 모든 AI가 동일한 관점에서 분석하는가?

일반적인 접근법은 AI마다 다른 역할을 부여하는 것입니다 — 예를 들어 "A는 보안 분석, B는 아키텍처 설계"처럼 분담하는 방식입니다. Avalon3는 이 방식 대신 모든 AI가 모든 관점에서 함께 분석하도록 설계되었습니다:

문제점역할 분담 방식Avalon3 방식
AI 역량 편차약한 AI가 맡은 관점의 분석 품질이 떨어짐모든 AI가 모든 관점을 분석하므로 특정 관점이 약해지지 않음
관점 간 단절각 AI가 자기 역할만 알고 전체 맥락을 놓침모든 AI가 6개 관점 전체를 거치며 프로젝트 전체를 이해
교차 검증 부재하나의 관점에 하나의 의견만 존재같은 관점에서 여러 AI가 서로의 분석을 검증하고 보완
점진적 심화 불가각자 독립적으로 분석하여 깊이 부족이전 발언을 참고하여 순차적으로 더 깊은 분석 가능

예를 들어 보안 분석을 Claude에만 맡기면 Claude의 보안 역량에 전적으로 의존하게 됩니다. 하지만 Avalon3에서는 Security 관점에서 Claude, Gemini, Ollama, OpenCode 모두가 순차적으로 발언하기 때문에, 한 AI가 놓친 취약점을 다른 AI가 발견할 수 있습니다.

토론 진행 중 - 6개 관점 순차 토론 로그

6개의 고정된 관점을 순차적으로 진행합니다:

순서관점초점
1🏗️ Architecture구조, 확장성, 유지보수성, 설계 패턴
2🔒 Security취약점, 엣지 케이스, 입력 검증, 인증
3Practical성능, 단순성, 실용성, MVP
4👤 UX & APIAPI 사용성, 에러 메시지, 문서화
5😈 Challenge약점 발견, 가정 검증, 반론 제기
6🌟 Synthesis모든 분석 통합, 최종 방향 합의
각 관점에서 모든 토론자가 순차적으로 발언합니다. 이전 발언자의 내용을 참고하여 점점 깊은 분석이 이루어집니다. 예를 들어 4명의 AI가 참여하면 총 24개의 토론 메시지가 생성됩니다 (4 AI × 6 관점).

3단계: Synthesis (종합)

종합자가 토론 내용 전체를 분석하여 하나의 설계 문서를 생성합니다:

  • 디렉토리 구조
  • 파일별 명세 (경로, 목적, exports, imports, 의존성)
  • 인터페이스 계약
  • 필수 파일 목록
  • 구현 가이드라인
설계 문서의 완전성을 자동 검증하며, 불완전할 경우 최대 2회까지 재시도합니다.

합의 결과 - 종합된 설계안 문서

4단계: Implementation (구현)

구현자 한 명이 설계를 바탕으로 전체 코드를 작성합니다:

  • 의존성 순서에 따라 파일을 순차적으로 생성
  • 이전에 생성된 파일을 컨텍스트로 참조
  • 일관된 코딩 스타일과 네이밍 컨벤션 보장
단일 구현자를 사용하는 이유는 여러 AI가 나누어 구현하면 스타일 불일치, 인터페이스 불일치 문제가 발생하기 때문입니다.

5단계: Review (리뷰)

구현자를 제외한 모든 토론자가 병렬로 코드를 리뷰합니다:

리뷰 항목설명
설계 준수파일 경로, 함수 시그니처가 설계와 일치하는지
임포트 검증순환 참조, 누락된 모듈 확인
완전성pass, TODO, NotImplementedError 등 미구현 코드 검출
코드 품질에러 처리, 로깅, 타입 힌트 확인
각 리뷰어가 독립적으로 리뷰 보고서를 작성하며, 이슈를 심각도별로 분류합니다:
심각도의미리파인 대상
Critical (빨강)보안 취약점, 로직 오류반드시 수정
Warning (주황)잠재적 문제선택적 수정
Info (파랑)개선 제안참고용
리뷰 결과 - Critical/Warning/Info 이슈 목록

6단계: Refinement (개선)

리뷰에서 Critical 이슈가 발견된 경우에만 실행됩니다:

  1. 구현자가 관련 파일 그룹별로 이슈를 수정
  2. 리뷰어들이 수정된 코드를 재리뷰
  3. Critical 이슈가 없어질 때까지 반복 (최대 3회)
Warning만 있고 Critical이 없으면 이 단계는 건너뜁니다.


Avalon3 UI

사이드바

Avalon3 사이드바 전체

설정 탭

설정 항목설명옵션
작업 제목프로젝트/작업 이름자유 텍스트
작업 설명상세한 요구사항자유 텍스트 (긴 형식)
도메인프로젝트 유형General, API, Web, CLI, Trading, ML/AI, Data, Game, Embedded
스케일프로젝트 규모Single File, Multi File, Module, Project
언어프로그래밍 언어Python, JS, TS, Rust, Go, Java, C# 등
첨부 파일참조 문서.txt, .md 파일
설정 탭 - 도메인과 스케일 선택
도메인 (Domain)

도메인은 AI 토론의 컨텍스트와 프로젝트에 필요한 필수 파일을 결정합니다:

도메인AI에게 제공하는 컨텍스트자동 추가되는 필수 파일
General범용 소프트웨어(공통 파일만)
APIREST/GraphQL API 서버schema.sql, migrations/, openapi.yaml
Web웹 프론트엔드index.html, public/
CLI커맨드라인 도구(공통 파일만)
Trading트레이딩/금융 시스템config.yaml, secrets.example.yaml
ML/AI머신러닝/AI 프로젝트requirements-dev.txt, notebooks/, data/.gitkeep
Data데이터 처리(공통 파일만)
Game게임 개발(공통 파일만)
Embedded임베디드 시스템(공통 파일만)
도메인 정보는 Research, Debate, Synthesis 단계에서 AI 프롬프트에 포함되어, AI가 해당 도메인에 맞는 아키텍처와 패턴을 제안하도록 유도합니다.
스케일 (Scale)

스케일은 AI에게 프로젝트의 규모 힌트를 제공합니다:

스케일의도된 규모AI에 대한 영향
Single File단일 파일간단한 스크립트/유틸리티 수준의 설계
Multi File여러 파일소규모 다중 파일 프로젝트
Module (기본값)모듈 단위모듈화된 아키텍처 설계
Project전체 프로젝트완전한 프로젝트 구조 (테스트, 문서 포함)

스케일은 AI가 Debate와 Synthesis 단계에서 설계 복잡도를 조절하는 데 참고하는 가이드라인 역할입니다. 프로그래밍적 제한(파일 수 제한 등)은 적용되지 않습니다.

언어 (Language)

프로그래밍 언어는 코드 생성과 검증에 실질적 영향을 미칩니다:

영향 영역설명예시 (Python)
프로젝트 설정 파일언어별 필수 설정 파일 자동 생성requirements.txt, pyproject.toml
테스트 파일 패턴테스트 파일 검증 규칙tests/test_*.py, conftest.py
검증 명령어빌드/린트/테스트 명령어pytest, mypy, flake8
구문 검사생성된 코드의 문법 확인compile() 구문 검사
언어별 자동 생성되는 설정 파일:
언어프로젝트 설정 파일검증 명령어
Pythonrequirements.txt, pyproject.tomlpytest, mypy, flake8
JavaScriptpackage.jsonnpm install, eslint, npm test
TypeScriptpackage.json, tsconfig.jsontsc --noEmit, eslint, npm test
Gogo.modgo build, go test
RustCargo.tomlcargo check, cargo test, cargo clippy
Javapom.xml 또는 build.gradlemvn compile, mvn test
C#.csproj, .slndotnet build, dotnet test

AI 프로바이더 설정

각 역할에 다른 AI를 배정할 수 있습니다:

AI 프로바이더 선택 UI
역할설명선택 방식
토론자 (Debaters)리서치와 토론에 참여하는 AI복수 선택
종합자 (Synthesizer)토론 결과를 설계 문서로 통합하는 AI단일 선택
구현자 (Implementer)코드를 작성하는 AI단일 선택

리뷰어는 별도로 선택하지 않습니다. 토론자 중 구현자를 제외한 AI가 자동으로 리뷰어가 됩니다.

지원 AI 프로바이더:

프로바이더설명비고
Claude CLIAnthropic Claude가장 안정적
Gemini CLIGoogle Gemini빠른 응답
Ollama로컬 AI 모델네트워크 불필요
OpenCode오픈소스 AI무료

Ollama는 원격 서버도 지원합니다. host:port|model 형식으로 입력하세요 (예: 192.168.1.100:11434|llama3).

히스토리 탭

이전 실행 기록을 확인하고 설정을 재사용할 수 있습니다:

히스토리 탭 - 이전 실행 목록
  • 실행 일시, 제목, 작업 ID
  • 스테이지 수, 성공/실패 상태
  • 클릭으로 설정 불러오기

실행 패널 (오른쪽)

실행 탭

실행 탭 - 진행 상황 전체
  • 진행 바 — 6단계 중 현재 위치
  • 현재 스테이지 — 실행 중인 단계 이름
  • 현재 프로바이더 — 사용 중인 AI 이름
  • 로그 출력 — 타임스탬프 포함 실시간 로그

결과 탭

결과 탭 - 생성된 코드와 리뷰 이슈
  • 생성된 파일 목록 — 파일명, 크기, 언어
  • 리뷰 이슈 — Critical/Warning/Info 분류
  • 통계 — 파일 수, 코드 라인 수, 토큰 수, 소요 시간
  • README.md — 자동 생성된 문서

완료 팝업

Avalon3 완료 팝업 - 통계 및 결과 버튼

파이프라인 완료 시 팝업이 나타나며 다음 정보를 표시합니다:

  • 작업 ID
  • 생성된 파일 수
  • 코드 라인 수
  • 소요 시간
  • 결과 보기 / 파일 탭으로 이동 버튼

프롬프트 라이브러리 연동

Avalon3 설정에서 프롬프트 라이브러리를 불러와 작업 설명에 사용할 수 있습니다:

  1. 설정 탭에서 프롬프트 불러오기 버튼 클릭
  2. 프롬프트 검색 및 선택
  3. 선택한 프롬프트가 작업 설명에 자동 입력
프롬프트 라이브러리 연동 - 검색 및 선택

결과 저장 위치

{프로젝트}/
├── avalon_{timestamp}/              # 생성된 소스 코드 디렉토리
│   ├── (소스 코드 파일들)
│   ├── README.md                    # 자동 생성 문서
│   └── avalon3_result.json          # 전체 결과 JSON
└── .projecthub/
    └── avalon3/
        ├── avalon3_result.json      # 결과 뷰어용 (동일 내용)
        └── history.json             # 실행 히스토리

avalon3_result.json에는 파이프라인의 모든 단계 결과가 통합되어 있습니다:

내용대응 단계
research각 AI의 리서치 결과, 발견사항, 권장사항Research
debate토론 라운드별 메시지, 참여자, 타임스탬프Debate
architecture종합 설계 문서 (기술 스택, 디렉토리 구조, 파일 명세, 인터페이스 계약, 구현 가이드라인)Synthesis
review리뷰어별 이슈 목록 (Critical/Warning/Info), 승인 여부Review
solution생성된 전체 소스 코드 (파일별 경로, 내용, 언어)Implementation
summary통계 (파일 수, 토론 메시지 수, 토큰 사용량, 소요 시간)전체
결과 뷰어에서 각 단계별 필터를 선택하면 해당 단계의 상세 데이터를 트리 구조로 탐색할 수 있습니다:
결과 뷰어 - 파이프라인 전체 결과 트리

활용 시나리오

아키텍처 설계

복잡한 시스템의 아키텍처를 설계할 때, 여러 AI가 6가지 관점(구조, 보안, 실용, UX, 도전, 종합)에서 분석하여 최적의 설계를 도출합니다.

코드 리팩토링

기존 코드의 리팩토링 방향을 AI들이 집단지성으로 토론하여 최적의 전략을 도출합니다.

신규 기능 구현

새로운 기능을 구현할 때, 다각도 토론 → 설계 → 구현 → 리뷰 → 개선까지 한 번에 진행합니다.

다음 단계