멀티에이전트 과제에서 채팅이 실제로 필요한지 확인하고 싶어, AgentWorld를 가볍게 실험할 수 있는 시뮬레이터를 만들었습니다. 처음 만든 9개 과제는 공유 문서만으로도 많이 풀렸습니다. 그래서 과제 생성기에 "정보 은닉 정도"를 넣었고, 정보가 각자의 개인 브리핑으로 옮겨갈수록 채팅 횟수와 채팅 차단 시 성공률 차이가 함께 커지는 모습을 관찰했습니다. 표본이 작아 일반화보다는 과제 설계에 관한 초기 결과로 봐 주세요.
- 이 저장소: GitHub - sinkytiger/agentworld-lite: Unofficial lightweight testbed for multi-agent LLM collaboration: AgentWorld's CCE metric + AutoGym-style blueprint-first task generation. Runs on Claude or free Ollama models. · GitHub
- 공식 AgentWorld 저장소: GitHub - openagents-org/agentworld · GitHub
- 논문: AgentWorld (arXiv:2609.31590), AutoGym (arXiv:2609.22592)
배경
AgentWorld는 MMORPG 안에서 LLM 에이전트 3~20명이 역할을 나눠 맡고 채팅만으로 협업하는 벤치마크입니다. 성공률과 함께 CCE(Causal Collaboration Effectiveness) 라는 지표를 제안하는데, 팀이 한 행동 중 실제로 성공에 이어진 행동의 비율을 인과 그래프로 계산합니다.
공식 환경은 게임 서버를 구성해야 합니다. 그래서 과제 설계와 소통 효과를 빠르게 바꿔 가며 실험할 수 있도록, pip만으로 돌아가는 별도의 작은 격자 시뮬레이터를 만들었습니다. 원 논문의 수치와는 직접 비교할 수 없습니다.
과제 생성기는 AutoGym의 아이디어를 빌렸습니다. 과제를 먼저 만들고 풀리는지 나중에 확인하는 대신, 해답 경로를 먼저 정하고 거기서 과제를 만듭니다. 다만 원 논문은 LLM으로 넓은 유효 해답 공간을 정의하고 난이도 조절과 성능에 따른 생성 분포 갱신까지 하는 반면, 여기서는 레시피 그래프에서 정답 경로 하나를 프로그램으로 짜는 단순한 형태입니다.
결과 1: 직접 만든 과제에서는 채팅이 결과를 거의 바꾸지 않았습니다
과제 9개 × 시드 3개(같은 과제를 세 번 반복)입니다. 정답 시나리오는 결정적이라 한 번만 돌렸습니다.
| 시스템 | 설정 | 성공 | 판당 채팅 |
|---|---|---|---|
| 정답 시나리오 | 기본 | 9/9 | 0.6 |
| gemma4:cloud | 기본 | 26/27 | 3.2 |
| gemma4:cloud | 채팅 금지 | 20/27 | 0 |
| llama3.2:3b | 기본 | 0/27 | 47.3 |
| 랜덤 행동 | 기본 | 0/27 | 7.3 |
채팅을 막아 손해를 본 과제는 셋뿐이었습니다. 수정 발판(채팅 금지 시 0/3), 지팡이 재료 인계(1/3), 코인 모으기(1/3)입니다. 모든 과제가 계획을 적은 공유 문서를 함께 주기 때문에, 이 실험은 "공유 문서 위에 채팅이 더해 주는 효과"를 잰 셈입니다. 원 논문에서도 채팅을 막으면 성공률이 크게 낮아졌지만, 환경이 달라 수치를 나란히 놓을 수는 없습니다.
결과 2: 정보를 개인 브리핑으로 옮기자 채팅이 필요해졌습니다
자동 생성 과제 17개 × 시드 3개, 모델은 gemma4:cloud입니다.
| 정보 은닉 | 과제 수 | 채팅 허용 | 채팅 금지 | 판당 채팅 (허용 시) |
|---|---|---|---|---|
| low | 5 | 15/15 | 15/15 | 0.0 |
| mid | 5 | 15/15 | 12/15 | 1.9 |
| high | 5 | 15/15 | 12/15 | 2.5 |
| max | 2 | 4/6 | 0/6 | 9.3 |
low 과제에서는 모델이 메시지를 한 번도 보내지 않고 모두 풀었습니다. 정보가 개인 브리핑으로 옮겨 갈수록 모델이 스스로 메시지를 늘렸고, 채팅을 막았을 때의 손해도 커졌습니다. max는 고유 과제가 2개뿐이라 특히 조심해서 봐야 합니다.
결과 3: 둘 다 성공했을 때는 채팅이 있으면 헛수고가 적었습니다
채팅 허용·금지가 모두 성공한 같은 과제·시드 20쌍만 비교했습니다. 18쌍에서 채팅이 있을 때 CCE가 더 높았고(평균 0.580 대 0.498), 라운드(10.2 대 11.2)와 실패한 행동(0.5% 대 3.7%)도 적었습니다.
관찰: 3B 로컬 모델
llama3.2:3b는 0/27이었고, 2,658번 행동하는 동안 동료에게 아이템을 건넨 횟수가 0회였습니다. 행동의 48%가 채팅이었고, 그중 82.5%는 앞서 보낸 메시지와 문장까지 같은 반복이었습니다(문장 완전 중복률로, 논문의 실패 유형 분류와는 다른 지표입니다). 한 에피소드에서는 두 에이전트가 도끼를 달라는 메시지를 28번 보내는 동안, 도끼를 가진 유일한 에이전트는 나무를 한 번도 베지 않았습니다.
다만 채집은 33번 성공했지만 제작은 한 번도 못 했기 때문에, 문제가 협업 능력인지 기본 과제 수행인지는 아직 분리하지 못했습니다. "이 설정에서 협업 행동으로 이어지지 않았다" 정도가 정확한 표현입니다.
CCE 판정자에 대해
API 없이 도는 규칙 기반 판정과 LLM 판정(논문 절차)을 같은 성공 에피소드 46개에 돌려 보니, 행동 1,853개 중 80.9%에서 일치했습니다(κ 0.62). 저비용 탐색 지표로 가능성은 보였지만, LLM 판정이 기여로 더 많이 세는 경향이 있고 생존 과제에서는 두 판정의 CCE가 크게 달랐습니다. 논문의 사람 판정 검증과는 판정자·표본·집계 방식이 달라서, 규칙 판정에 기대려면 사람 판정 표본으로 추가 검증이 필요합니다.
들어 있는 것
- 64×48 격자 RPG 시뮬레이터와 고수준 도구 13개 (이동, 공격, 채집, 제작, 아이템 전달, 채팅 등, 논문 설명을 바탕으로 독자 구성)
- 논문의 8개 카테고리를 다루는 과제 9개 (정답 시나리오 포함)
- CCE / 에이전트별 기여도: 논문 방식의 LLM 판정 + 규칙 기반 판정
- 청사진 우선 과제 생성기: 정답 시나리오를 시뮬레이터에서 실제로 돌려 통과한 과제만 저장 (수율 약 93%, LLM 호출 없음)
- 백엔드: Claude API, Ollama 로컬·클라우드 모델(무료)
해보기
git clone https://github.com/sinkytiger/agentworld-lite
cd agentworld-lite
pip install -e ".[dev]"
python -m agentworld_lite validate
# 무료 모델로 실행 (Ollama 설치 후)
ollama signin # 클라우드 모델 gemma4:cloud 사용 시. 로컬 모델이면 ollama pull llama3.2:3b
python -m agentworld_lite run --agent llm --provider ollama --model gemma4:cloud --only t01_magic_staff --out runs/try --verbose
API 키가 없어도 validate와 정답·랜덤 에이전트 실행, 과제 자동 생성(gen)은 모두 돌아갑니다.
실험 조건과 한계
- 비공식 구현이고 환경 규모가 훨씬 작습니다. 논문과 비교 가능한 수치가 필요하면 공식 저장소를 써 주세요.
- 모델·랜덤 실행은 시드 7·8·9입니다. gemma4:cloud의 시드 7은 모델 샘플링 시드를 고정하기 전에 실행했습니다. 정답 시나리오는 1회 실행입니다.
- 실험한 모델이 두 개뿐이고, 생성 과제는 은닉 단계별 고유 과제가 2~5개라 표본이 작습니다.
- 개발에는 Claude Code(AI 코딩 도구)를 활용했습니다. 설계·검증 과정은 저장소 문서와 테스트(91개)에 남겨 두었습니다.
다른 모델 결과나 "이런 과제로 소통 효과를 재 보면 좋겠다"는 의견을 PR이나 댓글로 주시면 반영하겠습니다.