Paper Review

(NeurIPS'23) CAMEL: Communicative Agents for “Mind”Exploration of Large Language Model Society

해맑은리트리버 2026. 6. 15. 21:28

LLM은 혼자보다 함께 일할 때 더 똑똑해질까?

대형 언어 모델은 이미 복잡한 질문에 답하고, 코드를 작성하고, 문서를 요약하고, 계획을 세울 수 있다. 하지만 실제로 사용해보면 한 가지 한계가 분명하다. 모델이 좋은 답을 내기 위해서는 사람이 계속 좋은 프롬프트를 제공해야 한다는 점이다.

 

복잡한 작업일수록 이 문제는 더 커진다. 예를 들어 “주식 거래 봇을 만들어줘”라는 요청은 너무 막연하다. 어떤 데이터를 사용할지, 어떤 전략을 쓸지, 어떤 언어로 구현할지, 리스크 관리는 어떻게 할지 등 수많은 세부 결정이 필요하다. 결국 사용자는 모델에게 계속 질문하고, 지시하고, 수정 요청을 해야 한다.

 

CAMEL 논문은 바로 이 지점에서 출발한다.

사람이 계속 대화를 이끌지 않아도, AI 에이전트들이 서로 역할을 나누어 협력하면 복잡한 작업을 해결할 수 있지 않을까?

핵심 아이디어

CAMEL은 Communicative Agents for “Mind” Exploration of Large Language Model Society의 약자다. 이름에서 알 수 있듯이, 이 논문은 하나의 LLM이 아니라 여러 LLM 기반 에이전트가 서로 대화하며 문제를 해결하는 구조에 관심을 둔다.

Figure 1: CAMEL Role-Playing Framework

 

논문이 제안하는 핵심 방식은 Role-playing framework다. 여기에는 보통 세 가지 요소가 등장한다.

 

첫째, 인간 사용자는 막연한 아이디어와 역할을 제공한다. 예를 들어 “주식 거래 봇을 만들고 싶다”는 아이디어와 “Python Programmer”, “Stock Trader” 같은 역할을 지정한다.

 

둘째, Task Specifier가 이 아이디어를 더 구체적인 작업으로 바꾼다. 단순히 “거래 봇 만들기”가 아니라 “소셜 미디어 감성 분석을 활용해 특정 주식에 대한 긍정·부정 의견을 모니터링하고, 그 결과에 따라 거래를 실행하는 봇 만들기”처럼 세부화한다.

 

셋째, AI User와 AI Assistant가 대화한다. AI User는 작업을 완성하기 위해 필요한 지시를 하나씩 내리고, AI Assistant는 그 지시에 대한 구체적인 해결책을 제시한다. 즉, 한 에이전트는 계획자처럼 행동하고, 다른 에이전트는 실행자처럼 행동한다.

 

이 구조의 중요한 점은 사람이 모든 단계를 직접 지시하지 않아도 된다는 것이다. 사람은 초기 아이디어와 역할만 제공하고, 이후 세부적인 작업 분해와 실행은 에이전트 간 대화로 진행된다.

Inception Prompting

CAMEL에서 가장 흥미로운 부분 중 하나는 Inception Prompting이다. 이는 대화가 시작되기 전에 각 에이전트에게 역할, 규칙, 제약 조건, 종료 조건을 강하게 주입하는 방식이다.

 

예를 들어 AI Assistant에게는 “너는 Python Programmer이고, 상대는 Stock Trader다. 절대 역할을 바꾸지 마라. 상대에게 지시하지 마라. 항상 Solution으로 답하고 마지막에는 Next request를 붙여라” 같은 규칙이 주어진다.

 

반대로 AI User에게는 “너는 Stock Trader이고, 상대는 Python Programmer다. 너는 항상 지시를 내려야 한다. 한 번에 하나의 instruction만 제공하라. 작업이 끝났다고 판단되면 CAMEL_TASK_DONE이라는 토큰만 출력하라”는 식의 규칙이 주어진다.

 

이런 프롬프트 설계는 단순한 형식 맞추기가 아니다. 멀티에이전트 대화에서는 역할이 흐려지기 쉽고, 대화가 엉뚱한 방향으로 흘러가기 쉽다. 따라서 CAMEL은 시작 단계에서 대화의 프로토콜을 강하게 고정한다.

Critic-In-The-Loop

에이전트 둘이 자율적으로 협력하는 것만으로는 항상 사용자의 의도에 맞는 결과가 나온다고 보장할 수 없다.

 

특히 다음과 같은 상황이 존재한다.

  • 여러 해결책이 가능한 경우
  • 사용자가 특정 방향을 선호하는 경우
  • 에이전트가 잘못된 방향으로 탐색하는 경우

이를 해결하기 위해 CAMEL은 Critic-In-The-Loop라는 개념을 제안한다.

Figure 18: Critic Tree Search

Critic은

  • 제안된 해결책을 평가하고
  • 여러 후보 중 하나를 선택하며
  • 필요하면 피드백을 제공한다.

논문은 이를 Monte-Carlo Tree Search(MCTS)에서 영감을 받은 구조라고 설명한다.

일반적인 MCTS에서는 탐색 과정에서 여러 경로를 확장한 후 가장 유망한 경로를 선택한다.

CAMEL에서는 Critic이 그 선택자 역할을 수행한다.

왜 멀티에이전트 협력은 어려운가?

논문은 CAMEL을 실험하면서 여러 문제를 발견했다.

Figure 7: Challenges in Role-Playing

 

가장 대표적인 문제는 role flipping이다. 원래는 AI User가 지시하고 AI Assistant가 답해야 하는데, 어느 순간 Assistant가 User에게 지시하기 시작하는 현상이다. 대화의 역할 구조가 무너지면 작업 진행도 흐트러진다.

 

두 번째는 assistant가 user의 지시를 그대로 반복하는 문제다. 겉으로는 대화가 진행되는 것처럼 보이지만 실제로는 아무런 해결이 일어나지 않는다.

 

세 번째는 flake replies다. 예를 들어 “제가 이 작업을 수행하겠습니다”라고 말하지만 실제 코드나 절차, 분석은 제공하지 않는 답변이다. 이는 작업 해결 관점에서는 무의미하다.

 

네 번째는 infinite loop다. 두 에이전트가 “감사합니다”, “천만에요”, “다음에 또 도와드리겠습니다” 같은 말을 반복하며 종료하지 못하는 현상이다.

 

이 문제들은 LLM 기반 에이전트를 단순히 여러 개 붙인다고 협력이 자동으로 생기지는 않는다는 점을 보여준다. 협력을 가능하게 하려면 역할, 규칙, 종료 조건, 실패 조건을 명확하게 설계해야 한다.

CAMEL이 만든 데이터셋

CAMEL의 또 다른 기여는 대화형 데이터셋 생성이다. 논문은 AI Society, Code, Math, Science 등의 데이터셋을 생성했다.

특히 AI Society 데이터셋은 50개의 assistant role, 50개의 user role, 각 역할 조합당 10개의 task를 생성해 총 25,000개의 대화를 만든다. 이는 단순 질의응답 데이터가 아니라, 역할 기반 협력 대화 데이터라는 점에서 의미가 있다.

 

Code 데이터셋은 프로그래밍 작업 해결에 초점을 맞추고, Math와 Science는 문제-해결 쌍을 생성해 모델의 능력 발현을 관찰하는 데 사용된다. 또한 Misalignment 데이터셋은 자율 에이전트 시스템이 악의적 목적에 사용될 가능성을 탐색하기 위해 만들어졌다.

실험 결과

논문은 CAMEL의 대화 기반 솔루션과 gpt-3.5-turbo의 단발성 답변을 비교했다.

 

AI Society 데이터셋에 대한 인간 평가에서는 CAMEL 솔루션이 76.3%의 비율로 더 낫다고 평가됐다. gpt-3.5-turbo 단발 답변이 이긴 경우는 10.4%, 비긴 경우는 13.3%였다.

 

GPT-4 평가에서도 비슷한 결과가 나왔다. AI Society에서는 CAMEL이 73%, Code에서는 76%의 승률을 보였다. 즉, 여러 턴에 걸쳐 역할 기반으로 문제를 분해하고 해결하는 방식이 한 번에 답을 생성하는 방식보다 더 나은 결과를 낼 수 있음을 보여준다.

또한 CAMEL 데이터셋으로 LLaMA-7B를 파인튜닝했을 때 HumanEval과 HumanEval+ 코드 생성 벤치마크에서도 기존 LLaMA-7B와 Vicuna-7B보다 더 좋은 성능을 보였다. 이는 에이전트 간 협력 대화 데이터가 모델 학습에도 유용할 수 있음을 시사한다.

인사이트

CAMEL 논문의 가장 큰 인사이트는 LLM을 “혼자 답하는 모델”이 아니라 “역할을 가진 협력자들의 사회”로 바라본다는 점이다.

 

기존의 프롬프트 엔지니어링은 주로 사용자가 모델에게 어떻게 질문할 것인가에 집중했다. 반면 CAMEL은 모델끼리 서로 프롬프트를 주고받게 만든다. AI User가 다음 지시를 생성하고, AI Assistant가 이를 해결하면서 작업이 단계적으로 진행된다.

 

이 관점은 앞으로의 AI 시스템 설계에 중요한 힌트를 준다. 복잡한 문제 해결에서는 하나의 거대한 모델이 모든 것을 한 번에 처리하는 방식보다, 여러 역할을 가진 에이전트가 계획·실행·검토·수정 과정을 나누는 방식이 더 효과적일 수 있다.

다만 이 접근이 완벽한 것은 아니다. 논문의 평가는 상당 부분 GPT-4 평가에 의존하고 있으며, 생성된 해결책이 실제 환경에서 얼마나 잘 작동하는지는 별도의 검증이 필요하다. 특히 코드나 의사결정 작업은 “그럴듯한 답변”과 “실제로 실행 가능한 해결책” 사이에 차이가 있을 수 있다.

또한 자율 에이전트가 많아질수록 정렬 문제도 중요해진다. 에이전트들이 사용자의 의도에서 벗어나거나, 악의적 목표를 향해 협력할 가능성도 배제할 수 없다. 논문이 Misalignment 데이터셋을 따로 다룬 것도 이 위험을 의식했기 때문이다.

마무리

이 논문은 역할 부여, 대화 프로토콜, 종료 조건, 데이터 생성 파이프라인을 통해 LLM 에이전트 사회를 실험 가능한 형태로 만들었다. 멀티에이전트 협력의 출발점을 이해하는 자료로, 에이전트 기반 시스템을 구축할 때 참고하거나 뼈대로 활용할 수 있는 프레임워크로서 의미가 있다.

 

GitHub - camel-ai/camel: 🐫 CAMEL: The first and the best multi-agent framework. Finding the Scaling Law of Agents. https://ww

🐫 CAMEL: The first and the best multi-agent framework. Finding the Scaling Law of Agents. https://www.camel-ai.org - camel-ai/camel

github.com