■ chat-based language models의 발전으로 complex task-solving 능력이 크게 향상되었지만, 그 성과가 여전히 인간의 입력에 크게 의존하며, 이는 까다롭고 시간도 많이 소요될 수 있다.
■ 논문에서는 인간이 계속 개입하지 않아도, 여러 communicative agent가 자율적으로 협력하여 과제를 수행할 수 있는가에 초점을 둔다. 이를 위해 저자들은 role-playing이라는 새로운 communicative agent framework를 제안한다.
[2303.17760] CAMEL: Communicative Agents for "Mind" Exploration of Large Language Model Society
CAMEL: Communicative Agents for "Mind" Exploration of Large Language Model Society
The rapid advancement of chat-based language models has led to remarkable progress in complex task-solving. However, their success heavily relies on human input to guide the conversation, which can be challenging and time-consuming. This paper explores the
arxiv.org
1. Introduction
■ chat-based LLM은 complex task-solving에서 큰 진전을 이루었지만, 이러한 성공은 대화를 올바른 방향으로 이끌기 위한 인간의 개입에 크게 의존하고 있다.
■ 이러한 의존성 때문에 사용자는 자신의 의도와 에이전트의 피드백을 고려하면서, 적절하고 정확한 프롬프트를 입력해 대화를 올바른 방향으로 이끌어야 한다.
■ 이는 까다롭고, 시간이 많이 소요되며, 때로는 불가능할 수도 있다. 특정 지식 도메인에 대한 효과적인 프롬프트를 작성하려면, 해당 도메인에 대한 깊은 이해와 전문성이 필요한 경우가 많다.
- 예를 들어 트레이딩 지식이 없는 사람이 트레이딩 애플리케이션을 만들도록 chat agent를 유도하는 프롬프트를 설계하기가 매우 어렵다.
■ 이러한 문제의식은 인간 개입을 최소화하거나 대체할 수 있는 자율적인 communicative agent를 어떻게 만들 수 있는가로 이어진다.
■ 저자들은 여러 에이전트가 서로 어떻게 상호작용하는지를 이해하는 것이 중요하다고 본다. 협력하는지, 경쟁하는지, 어떤 방식으로 역할을 나누는지 같은 에이전트 간 상호작용은 전체 AI 시스템의 성공 여부를 좌우할 수 있기 때문이다.
■ 그러나 여러 에이전트에게 자율 협력을 맡기면 다양한 문제가 발생한다. 예를 들어 role flipping, instructions을 그대로 반복만 하는 문제, 무의미한 응답, 그리고 메시지의 무한 루프 등이 있다.
■ 그러므로 단순히 여러 에이전트를 붙여 놓는 것만으로는 충분하지 않으며, 에이전트를 인간의 의도와 정렬시키고, 효과적으로 협력하도록 유도할 방법이 필요하다.
■ 이 문제에 대해 저자들은, 에이전트 간의 협력을 자동화하는 "role-playing"이라는 cooperative agent framework를 제안한다.
■ 이 방식은 자율적으로 에이전트들을 task completion 방향으로 이끌기 위해 inception prompting과 함께 role-playing을 사용한다. 여기서 중요한 점은, 인간이 처음부터 세부 지시를 계속 제공할 필요는 없고, 초기의 preliminary idea만 주면 된다는 것이다.
■ 또한 자들은 role-playing이 단지 task를 해결하는 방법일 뿐 아니라, chat agent의 행동과 능력을 연구하기 위한 conversational data 생성 방법으로도 중요하다고 설명한다
■ role-playing을 이용하면 task completion을 위해 chat agent들끼리 서로 소통하게 하고, 그 대화를 기록하여 agent의 행동과 능력을 분석할 수 있다.
■ 저자들은 cooperative role-playing scenarios를 고려하여 task-oriented이고 instruction-following하는 large conversational datasets인 AI Society와 Code를 구축하였다.
■ 또한 LLM 능력의 emergence를 연구하기 위해 프레임워크를 사용하여 single-turn question-answer datasets인 Math와 Science를 수집했다.
■ 더 나아가, 정렬되지 않은 자율 에이전트 시스템의 잠재적 위험을 확인하기 위해, 가능한 악의적 애플리케이션의 시뮬레이션인 Misalignment dataset도 구축하였다.
■ 이러한 데이터셋들은 conversational language model의 행동과 능력을 연구하는 데 유용한 실험 자원이 된다.
2. Methodology
■ 논문에서는 communicative agents를 연구하되, 서로 공통의 관심사를 공유하는 cooperative settings에 초점을 맞춘다. 즉, 경쟁적인 상황이 아니라, 여러 에이전트가 같은 목표를 향해 함께 움직이는 내용을 다룬다.
■ 특히 시작 시점에 preliminary idea가 주어지는 assistant-user scenario를 고려한다.
2.1 Role-playing Framework

■ CAMEL ( Cooperative Role-playing Communication) 프레임워크의 role-playing approach 핵심은 서로 다른 역할을 맡은 상태에서 에이전트들이 상호작용한다는 점이다. (Fig 1)
■ 구체적으로, 하나의 AI assistant와 하나의 AI user가 참여하는 task-oriented role-playing에 중점을 둔다.
■ human user가 preliminary idea와 role을 배정하면, task-specifier agent가 그 아이디어를 구체화하기 위해 상세한 설명을 제공한다.
■ 이후 AI assistant와 AI user는 AI user가 task가 완료되었다고 판단할 때까지 multi-turn 대화를 통해 상호작용을 계속한다.
■ 이때 AI user는 AI assistant에게 instructions을 내리고 task completion 방향으로 이끄는 역할을 담당한다. 반면, AI assistant는 AI user의 instructions을 따르고 특정 solutions을 응답하는 역할을 맡는다.
Human Input and Task Specifying
■ role-playing session은 인간이 제공한 아이디어와 선택한 roles을 바탕으로 시작된다.
■ Fig 1은 인간이 주식 시장을 위한 트레이딩 봇을 개발하겠다는 preliminary idea를 가지고 있다. 인간은 이 아이디어를 실현시킬 수 있는 지식을 가지고 있을 수도 있고 없을 수도 있다. 이 아이디어를 구현할 수 있는 roles만 지정하면 된다.
■ 예를 들어, Python Programmer는 Stock Trader와 협력하여 주식 시장 트레이딩 봇을 개발한다는 아이디어를 실현할 수 있다.
■ idea와 roles이 결정되면, task specifier agent는 입력된 idea를 바탕으로 AI Assistant role이 AI user role과 함께 완료할 수 있는 specific task를 브레인스토밍한다.
■ 예를 들어 "주식 시장 트레이딩 봇 개발"이라는 막연한 아이디어는, task specifier agent를 거쳐 "특정 주식에 대한 긍정적 또는 부정적 댓글을 모니터링하고 sentiment analysis 결과를 기반으로 거래를 실행하는 sentiment analysis tool을 가진 트레이딩 봇을 개발하라"처럼 훨씬 더 명시적인 task로 구체화된다.
■ 저자들이 task specifier를 도입한 이유는, conversational agent는 일반적으로 task를 수행하기 위해 구체적인 task prompt를 필요로 한다. 그런데 이런 prompt를 비전문가가 직접 작성하는 것은 어렵고 시간도 많이 걸릴 수 있기 때문이다.
■ 그래서 CAMEL에서는 task specifier agent가 그 역할을 인간 대신 수행한다.
■ 참고로, AI society와 Code scenarios도 인간에 의존하는 대신 LLM을 프롬프팅하여 roles과 ideas을 자동으로 생성했다. Math 및 Science datasets의 경우에는 LLM을 프롬프팅하여 problem topics, subtopics, 그리고 problems을 자동으로 생성했다.
AI Assistant-User Role Assignment
■ task specification 이후, task를 완료하기 위해 user agent와 assistant agent에게 각각 AI assistant role과 AI user role이 할당된다. 실제 구현에서는 각 에이전트에게 자신의 역할이 명시된 system message가 전달된다.
■ assistant의 system prompt/message \( \mathcal{P}_A \), 그리고 user의 것을 \( \mathcal{P}_U \)라고 하자. system messages은 대화가 시작되기 전에 에이전트에게 전달된다.
■ \( \mathcal{F}_1 \)과 \( \mathcal{F}_2 \)를 large-scale auto-regressive LM이라고 하자. 이 모델들에 각각 system message가 전달되면 \( \mathcal{A} \leftarrow \mathcal{F}_1^{\mathcal{P}_A} \)와 \( \mathcal{U} \leftarrow \mathcal{F}_2^{\mathcal{P}_U} \)를 얻게 된다. \( \mathcal{A} \)와 \( \mathcal{U} \)는 각각 assistant agent와 user agent이다.
■ Fig 1 예시에서 AI assistant와 AI user는 role-playing session 초기에 각각 Python Programmer와 Stock Trader의 역할을 맡는다.
■ AI user는 task planner 역할을 수행하며, AI assistant가 실행할 수 있는 실행 가능한 steps을 결정하기 위해 interactive planning에 참여한다.
■ AI assistant는 task executor 역할을 수행하며, 솔루션을 제공하고, planned된 steps을 실행하고, AI user에게 응답을 제공한다.
■ 즉, CAMEL의 assistant-user 구조에는 계획을 세우는 에이전트와 그것을 실행하는 에이전트가 존재한다.
Conversation Towards Task-Solving
■ 역할 할당이 완료된 후, AI assistant \( \mathcal{A} \)와 AI user \( \mathcal{U} \)는 instruction-following 방식으로 협력하여 task를 수행한다.
■ AI assistant-user scenario에서 AI user는 instructions을 제공하고, AI assistant는 그 instructions을 충족하는 솔루션을 반환해야 한다.
■ time \( t \)에서 user의 instruction message를 \( I_t \), assistant의 솔루션을 \( S_t \)라고 하자. time \( t \)까지 획득한 conversational messages의 기록은 식 (1)과 같이 instruction–solution 쌍들의 집합이 된다.

■ next time step인 \( t + 1 \)에서 AI user \( \mathcal{U} \)는 \( t + 1 \) 시점 이전까지의 대화 기록 \( \mathcal{M}_t \)를 받아 식 (2)처럼 새로운 instruction \( I_{t+1} \)을 생성한다.

■ 생성된 instruction message \( I_{t+1} \)은 기존 메시지 집합 \( \mathcal{M}_t \)와 함께 AI assistant에게 전달된다. 그러면 AI assistant는 이에 대한 솔루션 \( S_{t+1} \)을 생성한다.

■ 이렇게 매 턴마다 user가 과거 상호작용을 참고해 다음 instruction을 설계하고, assistant가 그 instruction과 전체 대화 맥락을 고려해 응답하는 대화 루프가 구성된다.
■ 새롭게 생성된 \( (I_{t+1}, S_{t+1}) \) 쌍은 다음과 같이 \( \mathcal{M}_t \)에 추가되며, 그 결과로 업데이트된 \( \mathcal{M}_{t+1} \)을 얻을 수 있다.

■ 위의 수식들은 AI-AI communication scenarios뿐 아니라, human-AI communication이나 두 개 이상의 에이전트 사이의 communication으로도 쉽게 확장될 수 있다. message-passing graph를 사용하여 임의의 수의 에이전트 간의 communication을 모델링할 수 있다.
■ Fig 1의 예시에서 AI user가 대화를 통해 AI assistant에게 지시함으로써 sentiment analysis 및 stock trading에 필수적인 Python libraries 설치 및 import를 시작하는 것을 볼 수 있다. 연속적인 instruction-following을 통해 문제를 점진적으로 해결한다.
Critic-In-The-Loop
■ role-playing framework의 controllability를 높이기 위해, role-playing agents의 제안 중에서 하나를 선택하거나, 혹은 그들에게 피드백을 줄 수 있는 critic agent를 도입한다.

■ 이는 task-solving을 위한 tree-search와 유사한 의사결정을 가능하게 한다.

■ 실제 구현에서 이 critic은 AI agent일 수도 있고 human일 수도 있다. (Appendix)
2.2 Inception Prompting
■ CAMEL의 role-playing framework에서 prompt engineering이 핵심적인 부분이다.
■ 에이전트들이 자유롭게 협력하도록 할 경우, 앞서 살펴본 바와 같이 role flipping과 같은 문제가 발생할 수 있다. 이런 문제를 방지하고자, 대화가 시작되기 전에 역할이나 규칙 등을 충분히 잘 설정해 두어야 한다.
■ 그래서 CAMEL에서 prompt engineering은 task specification과 role assignment을 위해 role-playing이 시작되는 시점에서만 이루어진다.
- 대화가 시작되면 AI assistant와 AI user는 종료될 때까지 루프 내에서 자동으로 서로 프롬프팅한다.
■ 저자들은 이 테크닉을 Inception Prompting이라고 부른다. 초기 프롬프트 설계가 이후 전체 대화의 구조와 방향을 사실상 심어 놓기 때문이라고 이해할 수 있다.

■ Inception prompt는 세 개의 프롬프트로 구성된다: task specifier prompt \( \mathcal{P}_T \), assistant system prompt \( \mathcal{P}_A \), 그리고 user system prompt \( \mathcal{P}_U \)
■ 예를 들어 AI Society scenario의 inception prompt를 보면 (Fig 2는 AI Society role-playing을 위한 프롬프트들의 템플릿),
- task specifier prompt는 role-playing session에서의 AI assistant와 AI user의 역할에 대한 정보를 포함하고 있다.
- 그래서 assistant와 user의 역할을 고려할 수 있는 task specifier agent는 preliminary task/idea를 입력으로 받아 상상력을 사용하여 구체적인 task를 만들어 낼 수 있다.
- AI assistant system prompt \( \mathcal{P}_A \)와 AI user system prompt \( \mathcal{P}_U \)는 대체로 대칭적이며, 할당된 task와 roles, communication protocols, termination conditions, 그리고 원치 않는 행동을 방지하기 위한 제약조건이나 요구사항이 포함된다.
■ assistant와 user 역할을 위한 프롬프트 설계는 에이전트 간의 자율적인 협력을 달성하는 데 매우 중요하다. 에이전트가 인간의 의도와 정렬되어 행동하도록 만드는 프롬프트를 엔지니어링하는 것은 쉽지 않기 때문이다.
■ 단순히 역할만 부여하면 role flipping, instruction 반복 같은 문제가 발생하기 쉽기 때문에, Fig 2처럼 프롬프트 내부에 alignment 장치를 세심하게 넣어야 한다.
■ 참고로 Code scenario에 사용된 프롬프트는 AI society scenario와 비슷한 흐름을 따르지만, 프로그래밍 언어와 관련된 약간의 추가적인 엔지니어링이 적용된다. (Appendix)
Prompt Engineering
■ 아래는 AI assistant system prompt의 다양한 구성 요소들을 예시로 들어, CAMEL에서 자율적 협력이 가능하도록 만들기 위해 system prompt를 어떤 의도로 설계했는지에 대한 내용이다.
- (1) Never forget you are a <ASSISTANT_ROLE> and I am a <USER_ROLE>.
- 이는 역할 고정 장치로, assistant agent에게 역할을 할당하고, 동시에 user의 역할이 무엇인지도 함께 알려 준다.
- (2) Never flip roles! Never instruct me!
- 이는 더 직접적으로 role flipping 문제를 방지하기 위한 규칙이다.
- 논문에 따르면 실험에서 assistant가 갑자기 control을 쥐고 user에게 instructions을 내리며 user가 그 instructions을 따르는 등 assistant와 user의 역할이 전환되는 것을 관찰했다고 한다.
- (3) You must decline my instruction honestly if you cannot perform the instruction due to physical, moral, legal reasons or your capability and explain the reasons.
- 에이전트가 유해하거나, 거짓이거나, 불법적이거나, 오해의 소지가 있는 정보 생성을 금지하기 위한 것이다.
- (4) Unless I say the task is completed, you should always start with: Solution: . should be specific, and provide preferable implementations and examples for task-solving.
- assistant가 항상 일괸된 format으로 응답하도록 유도하고, 무의미한(애매하거나 불완전한) 응답을 방지하기 위해 사용한다.
- (5) Always end your solution with: Next request.
- assistant가 해결할 새로운 instruction을 요청함으로써 대화가 계속 진행되도록 보장하는 장치이다.
■ 저자들은 AI user system prompt는 가능한 한 assistant prompt와 대칭적으로 설계했다고 설명한다. 즉, 역할만 반대로 할당될 뿐, 전체적인 구조와 통제 원리는 유사하다.
- (1) You must instruct me ... to complete the task ONLY in the following two ways: 1. Instruct with a necessary input: ...; 2. Instruct without any input: ...
- 이는 전형적인 instruction-following 데이터 구조를 따르도록 하기 위한 설계이다.
- 이렇게 생성된 (instruction, solution) 쌍은 LLM fine-tuning 데이터로 활용하기 쉽다.
- (2) Keep giving me instructions and necessary inputs until you think the task is completed. When the task is completed, you must only reply with a single word .
- <CAMEL_TASK_DONE>이라는 end-of-task token을 도입했다. 이 토큰은 user가 task가 끝났다고 판단할 때 사용된다. 이를 통해 user가 만족했을 때 채팅이 종료되도록 보장할 수 있다.
- 즉, 이 토큰은 명시적인 종료 신호를 보내는 장치이다. 이 장치가 없으면 에이전트들은 서로 "thank you", "goodbye" 같은 말은 반복하면서 무한한 채팅 루프에 빠질 수 있다.
3. Experiments
■ 두 개의 gpt-3.5-turbo agent(논문에서는 이를 간단히 LLM agents라고 부름)를 실험에 사용하며, assistant-user 협력을 시뮬레이션하기 위해 inception prompt를 적용했다.
■ 저자들은 분석의 초점을 AI Society 설정에 두었으며, CAMEL AI Society 및 CAMEL Code 데이터셋이라는 이름의 conversational data와 CAMEL Math 및 CAMEL Science라는 이름의 problem-solution pairs data를 수집하고 그 품질을 분석 및 평가한다.
3.1 Role-Playing for AI Society
■ 저자들은 AI Society 데이터셋을 생성하기 위해, 일련의 단계를 따르는 확장 가능한 접근 방식을 개발했다.
■ 첫 단계에서는 LLM agent에게 assistant와 user 각각에 대해 가능한 역할 후보들을 생성하도록 프롬프팅한다. 이를 위해 역할을 이끌어내도록 설계된 프롬프트를 사용한다.
■ 다음 단계에서는 그렇게 생성된 assistant와 user의 역할 조합을 바탕으로, 두 역할이 협력해서 해결할 수 있는 task들을 생성하도록 LLM agent에게 요청한다.
■ 그리고 task specifier prompt를 LLM agent에게 전달하여 task를 더 구체적으로 만든다.
■ 이런 방식으로 만들어진 AI society 데이터셋은 50개의 assistant 역할, 50개의 user 역할을 다루며, 각 역할의 조합에 대해 10개의 tasks을 생성하여 총 25,000개의 대화를 포함하고 있다. (Appendix)
Challenges and Observations
■ 이렇게 생성된 데이터셋을 분석하는 과정에서 저자들이 발견한 네 가지 challenges은 다음과 같다.
- (1) Role Flipping: assistant와 user가 대화 도중 서로의 역할을 뒤바꾸는 현상으로, 보통 assistant가 user에게 commands나 instructions을 내리기 시작할 때 발생한다. role flipping을 방지하려면 assistant가 질문자가 되지 않도록 해야 한다.
- (2) Assistant Repeats Instruction: assistant가 user의 instructions을 해결하지 않고 그대로 반복하는 현상
- (3) Flake Replies: assistant가 "I will..." 같은 식으로 무의미한 응답을 하는 현상. 이러한 메시지는 assistant가 행동을 취하겠다고 약속만 하고 결국 실천에 옮기지 못하기 때문에, 결국 task-solving에 기여하지 못한다.
- (4) Infinite Loop of Messages: assistant와 user가 task를 진전시키지 못한 채, (때로는 에이전트들이 자신이 루프에 갇혀 있음을 인지하면서도) 서로 계속해서 감사를 표하거나 작별 인사를 하는 등 무의미한 대화의 무한 루프에 빠지는 경우를 말한다.
Termination Conditions
■ assistant와 user 간의 대화는 일관되고 정확한 데이터 생성을 보장하기 위해 specific format을 따르도록 설계되었다.
■ user와 assistant 모두 각자의 역할과 책임을 준수하도록, 필요한 경우 채팅을 강제 종료하는 특정 조건들이 설정되었다. 이 조건들은 다음과 같다.
- (1) User No Instruct: user가 3라운드 동안 assistant에게 instruct하지 않으면 대화가 종료된다.
- (2) Assistant Instruct: assistant가 user에게 instruction을 제공하면 이는 역할 역전되었음을 나타내며, 대화가 종료된다.
- (3) End of Task Token: user가 task가 해결되었다고 생각하면 task completion을 나타내기 위해 <CAMEL_TASK_DONE>을 출력해야 하며, 이 메시지가 수신되면 대화가 종료된다.
- (4) Assistant&User Token Limit: gpt-3.5-turbo 모델에 토큰 수 제한이 있다는 점을 고려하여, assistant 또는 user가 token limit에 도달하면 대화가 종료된다.
- (5) Maximum Number of Messages: 저자들은 생성되는 채팅의 비용을 통제하기 위해, 대화 메시지 수를 최대 40로 제한했다. 이 정도의 한도는 user와 assistant 간에 충분히 긴 대화를 보장하는 동시에, 생성 비용이 급증하는 것을 막기 위한 것이다.
- 비용은 대화의 길이에 따라 quadratically 형태로 증가하므로 한도를 설정하는 것이 필수적이다.
4. Evaluation
4.1 Agent Evaluation
■ CAMEL의 성능을 평가하기 위해, Human evaluation과 GPT4 evaluation라는 두 가지 유형의 평가를 수행한다.
■ 평가를 위해 AI Society dataset에서 100개의 tasks, Code dataset에서도 100개의 tasks을 무작위로 선택한다.
■ 그런 다음, GPT4 model을 사용하여 CAMEL의 conversation-based solution 내용을 요약하여, 하나의 최종 솔루션으로 정리한다.
- GPT4를 사용한 이유는 token limit가 더 커서 긴 대화를 요약하기에 적합했기 때문이라고 한다.
■ 이렇게 요약을 거치면 CAMEL의 솔루션이 원래 multi-turn conversation에서 나왔다는 사실이 형식상 드러나지 않게 되어, 동일한 task에 대해 다른 모델이 single-shot으로 생성한 솔루션과 비교할 수 있다.
Human Evaluation
■ 이 평가를 위해 CAMEL의 요약된 solution과 gpt-3.5-turbo의 single-shot solution을 인간 평가자들에게 제시하되, solution이 어느 모델에서 나온 것인지는 숨긴다.
■ 그리고 인간 평가자들에게 두 솔루션 중 어느 쪽이 더 우수한지, 혹은 둘이 비슷한지를 투표하도록 요청한다. 이 평가에서 총 453개의 응답을 수집했다.
■ 다만 human evaluation은 AI Society에 대해서만 수행되는데, 코드 평가의 경우 코드를 실행해 보지 않고서는 코드의 품질을 인간이 평가하는 것이 일반적으로 더 어렵기 때문이다.
GPT4 Evaluation
■ 각 task에 대해 Model 1 (CAMEL Agent solution) vs Model 2 (gpt-3.5-turbo single-shot solution)의 effectiveness를 평가하기 위해 GPT4 agent를 사용한다.
■ 구체적으로, GPT4 agent에게 두 솔루션 중 어떤 솔루션이 더 나은지 채점하고 결정하도록 프롬프팅한다.
Results

■ CAMEL 솔루션이 human evaluation과 GPT4 evaluation 모두에서 큰 격차로 gpt-3.5-turbo single-shot solution을 큰 차이로 능가한다.
4.2 GPT4 for ChatBot Evaluation
■ CAMEL framework가 단순히 다중 agent 협력으로 해법을 생성하는 데 그치지 않고, 그렇게 생성한 데이터셋이 실제 언어모델 학습에도 유용한가를 검증한다.
■ 저자들은 이를 위해 생성한 데이터셋을 기반으로 LLaMA 7B 모델을 점진적으로 fine-tuning한다. AI Society, Code, Math, Science처럼 서로 다른 성격의 데이터셋을 점진적으로 통합함으로써, fine-tuned model에서 도메인별 능력이 점차 발현되는 것을 기대한 것이다.
■ 처음에 모델이 human interactions과 societal dynamics을 배우도록, AI society 데이터셋에 대한 훈련으로 시작한다.
■ 그다음 Code 데이터셋을 추가하면, 모델은 프로그래밍 로직과 문법에 대한 이해를 얻게 되어 더 일관되고 실행 가능한 코드 조각을 생성할 수 있게 된다.
■ 이어서 Math 데이터셋을 포함하면, 복잡한 방정식 풀이, 추상 개념에 대한 추론, 정밀한 계산 능력이 강화된다.
■ 마지막으로 Science 데이터셋까지 더하면, 과학 이론, 경험적 관찰, 실험 방법론 같은 과학적 지식에 대한 이해가 넓어진다.

■ 모델은 20개의 AI Society 관련 task, 20개의 코딩 task, 20개의 수학 task, 60개의 과학 task에서 테스트된다. 평가 방식은 4.1을 따라 GPT4 agent를 사용한다.
■ 데이터셋을 추가할 때마다 도메인에서 성능이 대체로 향상되며(Table 2), 코드 데이터셋으로 학습했을 때 과학 능력이 향상되는 것과 같이, 일부 경우에는 다른 도메인에 대한 성능 향상으로 이어지는 경우가 있는데, 저자들은 Code 데이터셋 안에 특정 과학 영역의 문제를 해결하는 내용이 포함되어 있기 때문이라고 설명한다.
■ 유사하게, AI Society에는 "프로그래머"의 역할이 포함되어 있어 코딩 관련 대화가 포함되어 있기 때문에 AI Society에 대한 학습이 코딩 능력을 향상시켰다고 주장한다.
4.3 HumanEval(+)

■ CAMEL model(fine-tuned LLaMA-7B)이 coding task-solving 능력 향샹에도 도움이 되는지, 즉 CAMEL로 생성한 데이터가 도움이 되는지 평가하기 위해 CAMEL model을 HumanEval과 HumanEval+ 벤치마크에서 평가한다.
■ Table 3에서 볼 수 있듯이, CAMEL model은 LLaMA-7B뿐만 아니라 Vicuna-7B도 큰 격차로 능가한다.
■ 이러한 결과는 coding-related tasks을 처리하는 모델의 능력을 향상시키는 데 있어, CAMEL framework를 통해 생성된 데이터셋이 해당 능력을 강화하는 데 중요한 역할을 했다고 해석할 수 있다.
'Agent' 카테고리의 다른 글
| [Generative Agents] Interactive Simulacra of Human Behavior (0) | 2026.05.09 |
|---|---|
| [AutoGen] Enabling Next-Gen LLM Applications via Multi-Agent Conversation (0) | 2026.05.05 |
| [Reflexion] Language Agents with Verbal Reinforcement Learning (0) | 2026.04.29 |
| [MemGPT] Towards LLMs as Operating Systems (0) | 2026.04.27 |
| [τ-bench] A Benchmark for Tool-Agent-User Interaction in Real-World Domains (0) | 2026.04.25 |