Skip to Content
KoUsersFeaturesAgent Arena

Agent Arena

여러 AI 모델을 동시에 디스패치하여 동일한 작업을 실행하고, 결과를 나란히 비교한 후, 최선의 결과를 선택하여 워크스페이스에 적용합니다.

[!warning] Agent Arena는 실험적 기능입니다. 디스플레이 모드 및 세션 관리에 알려진 제한사항이 있습니다.

Agent Arena를 사용하면 여러 AI 모델이 동일한 작업에서 경쟁할 수 있습니다. 각 모델은 독립적인 Git worktree에서 완전히 독립적인 에이전트로 실행되므로 파일 작업이 서로 간섭하지 않습니다. 모든 에이전트가 완료되면 결과를 비교하고 승자를 선택하여 메인 워크스페이스에 병합합니다.

서브에이전트가 단일 세션 내에서 집중적인 하위 작업을 위임하는 것과 달리, Arena 에이전트는 완전한 최상위 에이전트 인스턴스입니다. 각각 고유한 모델, 컨텍스트 창, 그리고 전체 도구 접근 권한을 가집니다.

이 페이지에서 다루는 내용:

When to use Agent Arena

Agent Arena는 서로 다른 모델이 동일한 문제를 어떻게 해결하는지 평가하거나 비교하고 싶을 때 가장 효과적입니다. 주요 사용 사례:

  • 모델 벤치마킹: 실제 코드베이스의 실제 작업에서 다양한 모델의 역량을 평가합니다. 합성 벤치마크가 아닌 실제 환경에서 테스트합니다.
  • Best-of-N 선택: 여러 독립적인 해결책을 얻고 최상의 구현을 선택합니다.
  • 접근 방식 탐색: 서로 다른 모델이 동일한 문제를 어떻게 추론하고 해결하는지 확인합니다. 학습과 인사이트에 유용합니다.
  • 리스크 감소: 중요한 변경 사항에 대해, 커밋하기 전에 여러 모델이 유사한 접근 방식으로 수렴하는지 검증합니다.

Agent Arena는 단일 세션보다 훨씬 많은 토큰을 사용합니다. 각 에이전트가 자체 컨텍스트 창과 모델 호출을 갖기 때문입니다. 비교의 가치가 비용을 정당화할 수 있을 때 가장 잘 작동합니다. 기본 모델을 신뢰할 수 있는 일반적인 작업에서는 단일 세션이 더 효율적입니다.

Start an arena session

/arena 슬래시 명령어를 사용하여 세션을 시작합니다. 경쟁시킬 모델과 작업을 지정합니다:

/arena --models qwen3.5-plus,glm-5,kimi-k2.5 "Refactor the authentication module to use JWT tokens"

--models를 생략하면 대화형 모델 선택 대화상자가 나타나서 구성된 프로바이더 중에서 선택할 수 있습니다.

시작 시 동작

  1. Worktree 설정: Qwen Code는 각 에이전트에 대해 ~/.qwen/arena/<session-id>/worktrees/<model-name>/에 격리된 Git worktree를 생성합니다. 각 worktree는 현재 작업 디렉토리 상태를 정확하게 미러링합니다. 여기에는 스테이징된 변경, 스테이징되지 않은 변경, 추적되지 않는 파일이 포함됩니다.
  2. 에이전트 생성: 각 에이전트는 자체 worktree에서 전체 도구 접근 권한과 구성된 모델로 시작합니다. 에이전트는 순차적으로 시작되지만 병렬로 실행됩니다.
  3. 실행: 모든 에이전트가 공유 상태나 통신 없이 독립적으로 작업을 수행합니다. 진행 상황을 모니터링하고 어떤 에이전트와도 상호작용할 수 있습니다.
  4. 완료: 모든 에이전트가 완료(또는 실패)되면 결과 비교 단계로 진입합니다.

Interact with agents

Display modes

Agent Arena는 현재 in-process 모드를 지원합니다. 모든 에이전트가 동일한 터미널 프로세스 내에서 비동기적으로 실행됩니다. 터미널 하단의 탭 바를 사용하여 에이전트 간에 전환할 수 있습니다.

[!note] 분할 창 디스플레이 모드는 향후 지원될 예정입니다. tmux 기반 및 iTerm2 기반 분할 창 레이아웃을 지원할 계획입니다. 각 에이전트가 자체 터미널 창을 가져와 진정한 나란히 보기를 제공합니다. 현재는 in-process 탭 전환만 사용할 수 있습니다.

in-process 모드에서 키보드 단축키를 사용하여 에이전트 뷰 간에 전환합니다:

단축키동작
Right다음 에이전트 탭으로 전환
Left이전 에이전트 탭으로 전환
Up입력 상자로 포커스 전환
Down에이전트 탭 바로 포커스 전환

탭 바는 각 에이전트의 현재 상태를 표시합니다:

표시의미
실행 중 또는 유휴
성공적으로 완료
실패
취소됨

Interact with individual agents

에이전트의 탭을 보고 있을 때 다음을 수행할 수 있습니다:

  • 메시지 보내기 — 입력 영역에 타이핑하여 에이전트에 추가 지시를 내립니다
  • 도구 호출 승인 — 에이전트가 도구 승인을 요청하면 확인 대화상자가 해당 탭에 나타납니다
  • 전체 히스토리 보기 — 모델 출력, 도구 호출, 결과를 포함한 에이전트의 전체 대화를 스크롤하여 확인합니다

각 에이전트는 완전한 독립 세션입니다. 메인 에이전트로 할 수 있는 모든 것을 Arena 에이전트로도 할 수 있습니다.

Compare results and select a winner

모든 에이전트가 완료되면 Arena는 결과 비교 단계로 진입합니다. 다음을 확인할 수 있습니다:

  • 상태 요약: 어떤 에이전트가 성공, 실패, 또는 취소되었는지
  • 실행 지표: 각 에이전트의 소요 시간, 추론 라운드, 토큰 사용량, 도구 호출 수
  • Arena 비교 요약: 공통으로 변경된 파일 vs 단일 에이전트만 변경한 파일, 라인 변경 수, 토큰 효율성, 그리고 각 에이전트의 diff, 지표, 대화 히스토리에서 생성된 고급 접근 방식 요약

선택 대화상자에서 성공한 에이전트가 표시됩니다. 하나를 선택하여 해당 변경 사항을 메인 워크스페이스에 적용하거나, 모든 결과를 폐기합니다. p를 눌러 하이라이트된 에이전트의 빠른 미리보기를 전환하거나, d를 눌러 승자를 선택하기 전에 해당 에이전트의 상세 diff를 전환합니다.

승자 선택 시 동작

  1. 선택된 에이전트의 변경 사항이 베이스라인에 대한 diff로 추출됩니다
  2. diff가 메인 작업 디렉토리에 적용됩니다
  3. 모든 worktree와 임시 브랜치가 자동으로 정리됩니다

결정하기 전에 완전한 추론 경로를 검토하고 싶다면, 선택 대화상자가 활성화된 동안에도 탭 바를 통해 각 에이전트의 전체 대화 히스토리를 여전히 확인할 수 있습니다.

Configuration

Arena 동작은 settings.json에서 커스터마이징할 수 있습니다:

{ "arena": { "worktreeBaseDir": "~/.qwen/arena", "maxRoundsPerAgent": 50, "timeoutSeconds": 600 } }
설정설명기본값
arena.worktreeBaseDirArena worktree의 기본 디렉토리~/.qwen/arena
arena.maxRoundsPerAgent에이전트당 최대 추론 라운드50
arena.timeoutSeconds각 에이전트의 타임아웃 (초)600

Best practices

서로 보완하는 모델 선택

Arena는 의미 있게 다른 강점을 가진 모델을 비교할 때 가장 가치가 있습니다. 예를 들어:

/arena --models qwen3.5-plus,glm-5,kimi-k2.5 "Optimize the database query layer"

동일한 모델 패밀리의 세 버전을 비교하는 것은 프로바이더 간 비교보다 적은 인사이트를 제공합니다.

자체 포함 작업 유지

Arena 에이전트는 통신 없이 독립적으로 작동합니다. 작업은 대화 없이 프롬프트에서 완전히 설명할 수 있어야 합니다:

좋은 예: “Refactor the payment module to use the strategy pattern. Update all tests.”

효과적이지 않은 예: “Let’s discuss how to improve the payment module” — 이는 대화가 유리하며 단일 세션에 더 적합합니다.

에이전트 수 제한

최대 5개의 에이전트가 동시에 실행될 수 있습니다. 실제로는 2-3개의 에이전트가 비교 가치와 리소스 비용의 최적 균형을 제공합니다. 더 많은 에이전트는 다음을 의미합니다:

  • 더 높은 토큰 비용 (각 에이전트가 자체 컨텍스트 창을 가짐)
  • 더 긴 총 실행 시간
  • 더 많은 비교할 결과

2-3개로 시작하고 비교 가치가 정당화될 때만 확장합니다.

영향력 높은 결정에 Arena 사용

Arena는 실행 stakes가 여러 모델을 실행할 정당성이 있을 때 빛을 발합니다:

  • 새 모듈의 아키텍처 선택
  • 복잡한 리팩토링에 대한 접근 방식 선택
  • 중요한 버그 수정을 여러 각도에서 검증

변수 이름 변경이나 설정 파일 업데이트와 같은 일반적인 변경에는 단일 세션이 더 빠르고 저렴합니다.

Troubleshooting

에이전트가 시작되지 않는 경우

  • --models의 각 모델이 유효한 API 자격 증명으로 올바르게 구성되어 있는지 확인합니다
  • 작업 디렉토리가 Git 저장소인지 확인합니다 (worktree는 Git이 필요합니다)
  • worktree 기본 디렉토리에 대한 쓰기 권한이 있는지 확인합니다 (기본값: ~/.qwen/arena/)

Worktree 생성이 실패하는 경우

  • git worktree list를 실행하여 이전 세션의 오래된 worktree를 확인합니다
  • git worktree prune으로 오래된 worktree를 정리합니다
  • Git 버전이 worktree를 지원하는지 확인합니다 (git --version, Git 2.5+ 필요)

에이전트가 너무 오래 걸리는 경우

  • 타임아웃을 늘립니다: 설정에서 arena.timeoutSeconds를 조정합니다
  • 작업 복잡도를 줄입니다 — Arena 작업은 집중적이고 잘 정의되어야 합니다
  • 에이전트가 너무 많은 라운드를 소비하는 경우 arena.maxRoundsPerAgent를 낮춥니다

승자 적용이 실패하는 경우

  • 메인 작업 디렉토리에서 충돌할 수 있는 커밋되지 않은 변경 사항을 확인합니다
  • diff는 패치로 적용됩니다 — 세션 중 작업 디렉토리가 변경된 경우 병합 충돌이 발생할 수 있습니다

Limitations

Agent Arena는 실험적 기능입니다. 현재 제한사항:

  • In-process 모드만 지원: tmux 또는 iTerm2를 통한 분할 창 디스플레이는 아직 사용할 수 없습니다. 모든 에이전트가 탭 전환이 가능한 단일 터미널 창에서 실행됩니다.
  • 선택 전 diff 미리보기 없음: 각 에이전트의 대화 히스토리를 볼 수 있지만, 승자를 선택하기 전에 해결책을 나란히 비교할 수 있는 통합 diff 뷰어는 없습니다.
  • Worktree 유지 없음: Worktree는 선택 후 항상 정리됩니다. 추가 검토를 위해 보존하는 옵션은 없습니다.
  • 세션 재개 없음: Arena 세션은 종료 후 재개할 수 없습니다. 세션 중에 터미널을 닫으면 worktree가 디스크에 남아 있으며 git worktree prune을 통해 수동으로 정리해야 합니다.
  • 최대 5개 에이전트: 동시 에이전트의 하드 제한 5개는 변경할 수 없습니다.
  • Git 저장소 필수: Arena는 worktree 격리를 위해 Git 저장소가 필요합니다. Git이 아닌 디렉토리에서는 사용할 수 없습니다.

Comparison with other multi-agent modes

Agent Arena는 Qwen Code의 여러 계획된 멀티 에이전트 모드 중 하나입니다. Agent TeamAgent Swarm은 아직 구현되지 않았습니다. 아래 표는 참고를 위한 의도된 설명을 나타냅니다.

Agent ArenaAgent Team (계획 중)Agent Swarm (계획 중)
목표경쟁: 동일한 작업의 최적 해결책 찾기협업: 서로 다른 측면을 함께 처리배치 병렬: 대량 작업을 위한 워커를 동적으로 생성
에이전트사전 구성된 모델이 독립적으로 경쟁팀원이 할당된 역할로 협업워커가 즉시 생성되고 완료 시 소멸
통신에이전트 간 통신 없음직접적인 피어 투 피어 메시징단방향: 부모가 결과 집계
격리완전: 분리된 Git worktree공유 작업 목록을 가진 독립 세션워커당 경량의 일시적 컨텍스트
출력워크스페이스에 적용되는 하나의 선택된 해결책여러 관점에서 합성된 결과병렬 처리에서 집계된 결과
최적 사용벤치마킹, 모델 접근 방식 간 선택리서치, 복잡한 협업, 크로스 레이어 작업배치 작업, 데이터 처리, map-reduce 작업

Next steps

병렬 및 위임 작업과 관련된 접근 방식을 탐색해 보세요:

  • 경량 위임: 서브에이전트는 세션 내에서 집중적인 하위 작업을 처리합니다. 모델 비교가 필요하지 않을 때 더 적합합니다.
  • 수동 병렬 세션: Git worktree 를 사용하여 별도의 터미널에서 여러 Qwen Code 세션을 직접 실행하면 완전한 수동 제어가 가능합니다.
Last updated on