본문 바로가기

Agent

The Landscape of Emerging AI Agent Architectures for Reasoning, Planning, and Tool Calling: A Survey

■ 복잡한 목표를 달성하기 위해 중요한 세 가지 능력, 추론(reasoning), 계획(planning), 그리고 도구 실행(tool execution) 능력에 초점을 두고 여러 AI agents을 비교 및 분석한다.

■ 이 서베이의 목적은 크게 세 가지이다: (1) 기존 AI agents이 가진 현재 능력과 한계가 무엇인지 (2) 이러한 시스템들이 실제로 작동하는 모습을 관찰하여 얻은 인사이트를 공유하는 것 (3) 향후 더 나은 AI agent를 만들기 위해 고려해야 할 설계 포인트 제안 

■ single-agent와 multi-agent architectures을 살펴보고, design choices에 있어 핵심적인 패턴과 차이점을 분석하여 주어진 목표를 달성하는 데 어떤 영향을 주는지 비교한다.  

[2404.11584] The Landscape of Emerging AI Agent Architectures for Reasoning, Planning, and Tool Calling: A Survey

 

The Landscape of Emerging AI Agent Architectures for Reasoning, Planning, and Tool Calling: A Survey

This survey paper examines the recent advancements in AI agent implementations, with a focus on their ability to achieve complex goals that require enhanced reasoning, planning, and tool execution capabilities. The primary objectives of this work are to a)

arxiv.org

 

1. Introduction

■ 기존의 zero-shot prompting은 사용자가 텍스트를 입력하면, 모델이 바로 그에 대한 답을 내는 구조이다. 반면, 에이전트는 훨씬 더 복잡한 상호작용과 오케스트레이션을 수행한다.  

■ 에이전트는 주어진 목표를 완수하기 위해 모델에 내재된 reasoning capabilities을 적극적으로 활용하는 planning, loops, reflection 및 기타 제어 구조를 사용한다.  

■ tools, plugins, function calling을 활용할 수 있는 능력이 결합되면, 에이전트는 훨씬 더 범용적인 작업을 수행할 수 있게 된다. 

■ 당시 이 분야의 쟁점은 "single-agent와 multi-agent 시스템 중 어느 것이 더 적합한가"였다. 

■ single agent architectures은 풀어야 할 문제가 명확하거나 다른 에이전트 페르소나나 사용자의 피드백이 굳이 필요하지 않을 때 탁월한 성능을 발휘하는 반면, multi-agent architectures는 협업이 필요하거나, 여러 경로로 문제를 풀어야 할 때 더욱 강력한 성능을 발휘하는 경향이 있다.  


1.1 Taxonomy

Agents

■ AI 에이전트는 여러 번의 반복에 걸쳐 목표를 실행하기 위해 plan을 세우고 actions을 취한다. 

■ AI 에이전트 아키텍처는 크게 single agent와 multiple agent로 나뉜다. 

■ 에이전트는 보통 세 가지를 갖는다. 하나는 persona이고, 둘째는 목표를 완수하는 데 도움이 될 다양한 tools, 셋째는 필요에 따라 포함되는 memory이다. memory를 포함하고 있으면 단순한 메시지나 프롬프트의 범위를 벗어난 정보를 저장하고 불러올 수 있다.  

■ 논문은 "에이전트가 brain, perception, action으로 구성된다"고 정의하는 기준을 따른다. 이러한 구성 요소들은 에이전트가 환경을 이해하고, 추론하며, 행동하기 위한 최소한의 필수 요소이다.  

Agent Persona

■ 에이전트 페르소나는 에이전트가 맡아야 할 역할이나 성격, 지시사항들을 뜻한다. 에이전트가 사용할 수 있는 모든 tools에 대한 설명도 페르소나에 포함된다.  

■ 페르소나를 통해 에이전트는 자신의 역할, 부여받은 tools을 왜 써야 하는지, 그리고 이를 효과적으로 활용하는 방법을 인지하게 된다. 

■ 이런 페르소나 설정이 실제로 모델의 행동에 영향을 주며(예: 소셜 미디어 게시물 작성), 서로 다른 여러 개의 페르소나를 활용하는 방식이 단순한 CoT prompting보다 더 좋은 결과를 달성할 수 있음을 보여준 연구들이 있다.  

Tools

■ 에이전트의 맥락에서 tool은 에이전트가 직접 호출할 수 있는 모든 functions을 의미한다. tool을 통해 에이전트가 외부 데이터 소스(즉, 외부 세계)와 상호작용할 수 있다. 

■ 에이전트 페르소나와 그에 연결된 tools의 대표적인 예로는 "professional contract writer"가 있다. 

■ 이 writer에게는 자신의 역할과 수행해야 할 작업의 종류를 설명하는 페르소나가 부여된다. 그리고 문서에 주석 추가, 기존 문서 읽기, 최종 초안을 이메일로 전송 등과 관련된 tools이 주어진다.  

Single Agent Architectures

■ 이 아키텍처들은 단 하나의 LM에 의해 작동된다. 하나의 LM을 갖는 에이전트가 reasoning, planning, tool execution을 혼자 수행하는 구조이다. 에이전트에게는 시스템 프롬프트와 작업을 완료하는 데 필요한 모든 tools이 주어진다. 

■ single agent 구조에선 다른 AI 에이전트로부터 피드백을 받는 메커니즘은 없지만, 사람의 피드백은 들어갈 수 있다.  

Multi-Agent Architectures

■ 이 아키텍처들은 두 개 이상의 에이전트가 존재하며, 각 에이전트는 동일한 LM을 사용하거나 서로 다른 여러 LM들을 활용할 수 있다.  

■ 이 구조의 경우 에이전트들은 모두 동일한 tools에 접근할 수도 있고, 각자 다른 tools을 가질 수도 있다. 

■ 그리고 보통 각 에이전트는 고유한 자신만의 페르소나를 가지며, 역할 분담을 하거나 협업하게 된다. 

■ 논문에서는 multi-agent를 다시 vertical과 horizontal 구조로 나눈다. vertical과 horizontal은 한 스펙트럼의 양극단을 나타낼 뿐이며, 기존 아키텍처의 대다수는 이 둘 사이의 어딘가에 위치한다.  

Vertical Architectures

■ 이 구조에서는 한 에이전트가 "리더 역할"을 수행하고 다른 에이전트들이 그 리더에게 보고하는 "부하 역할"을 수행하는, 즉 위계가 있는 구조이다.  

■ 아키텍처 설계에 따라, 보고하는 부하 에이전트들은 오직 리더 에이전트하고만 독대할 수도 있고, 리더가 존재하되 모든 에이전트들 사이에는 공유되는 대화방이 정의될 수도 있다.  

■ vertical architecture의 가장 큰 특징은 "리더 에이전트의 존재와 "협업하는 에이전트들 간의 명확한 분업"이다.  

Horizontal Architectures

■ horizontal architecture는 수평적인 구조이다. 즉, 모든 에이전트가 동등한 위치에서 하나의 그룹 대화에 참여한다. 

■ 에이전트 간의 소통은 모든 에이전트가 서로의 메시지를 볼 수 있는 공유 스레드에서 발생한다. 

■ 또한 에이전트들은 리더 에이전트에게 업무를 할당받을 필요 없이, 자발적으로 특정 작업을 완료하거나 tools을 호출할 수 있다.  

■ 이러한 horizontal architecture는 일반적으로 협업, 피드백, 그리고 그룹 토론이 작업의 전반적인 성공에 결정적인 역할을 하는 tasks에 주로 사용된다.  



2. Key Considerations for Effective Agents


2.1 Overview

에이전트의 목적은 LM의 능력을 확장해서 현실 세계의 문제를 해결하는 것이다. 그러므로 에이전트는 본 적 없는 새로운 tasks에서도 훌륭한 성과를 낼 수 있게 해주는 robust한 problem-solving capabilities이 필수적이다.  

■ 현실의 문제를 효과적으로 해결하기 위해 에이전트는 외부 환경과 상호작용하는 tools을 호출하는 능력뿐만 아니라 추론(reason)'하고 '계획(plan)'하는 능력까지 완벽히 갖추어야 한다.  

■ 이 섹션에서는 reasoning, planning, 그리고 tool calling이 에이전트의 성공에 얼마나 중요한지 설명한다.  


2.2 The Importance of Reasoning and Planning

■ 사람이 결정을 내리고, 문제를 해결하며, 세계를 이해하는 데 reasoning이 필요하듯이, AI 에이전트도 복잡한 환경에서 상호작용하고, 자율적인 결정을 내리며, 광범위한 tasks에서 인간을 보조하려면 reasoning ability가 반드시 필요하다.  

■ 행동(acting)과 추론(reasoning)의 시너지는 새로운 task를 빠르게 학습할 수 있게 도와주며, 처음 접하는 상황이나 정보의 불확실성 속에서도 굳건한 의사결정이나 추론을 가능하게 만든다. 

■ 또한 에이전트가 새롭게 학습한 정보나 피드백을 바탕으로 자신의 plans을 유동적으로 조정하기 위해서는 반드시 reasoning ability가 필요하다.  

■ reasoning skills이 부족한 에이전트는 간단한 acting에 대해서도, 사용자의 쿼리를 잘못 이해하거나, 맥락을 무시하고 문자 그대로의 해석에만 기반하여 응답을 생성하거나, 여러 단계를 거쳐 발생하는 파급 효과를 전혀 고려하지 못하는 실수를 범할 수 있다.  

■ planning은 강력한 reasoning abilities을 요구하며, 대표적인 방법들은 다음과 같다: task decomposition, multi-plan selection, external module-aided planning, reflection and refinement, memory-augmented planning  

■ 이러한 접근법들은 모델이 하나의 task를 여러 sub tasks 분해하거나, 생성된 수많은 옵션 중 하나의 plan을 선택하거나, external plan을 활용하거나, 새로운 정보를 바탕으로 이전 plan을 수정하거나, 외부 정보를 끌어와 더 나은 plan을 수립할 수 있도록 해준다.  

■ 대부분의 에이전트들은 어떤 actions이 실행되기 전에 이러한 테크닉들 중 하나 이상을 호출하여 plan을 수립하는 "planning step"을 가지고 있다.  
- 예를 들어 PLaG(Plan Like a Graph)는 plans을 directed graphs로 표현하여, 서로 연관이 없는 여러 단계들을 병렬로 동시에 실행한다. 이는 비동기적 실행의 이점을 얻을 수 있는, 수많은 독립적인 subtasks이 포함된 문제를 풀 때, 다른 방법들보다 비약적인 성능 향상을 달성할 수 있다.  


2.3 The Importance of Effective Tool Calling

■ 에이전트가 갖는 이점 중 하나는, 여러 tools을 호출하여 복잡한 문제를 해결할 수 있다는 점이다. 이러한 tools은 에이전트가 외부 데이터 소스와 상호작용하고, 기존 API를 통해 정보를 보내거나 받아오는 등 수 많은 일을 할 수 있게 해준다. 

■ 광범위한 tool calling이 필요한 문제들은 대개 복잡한 reasoning을 요구하는 문제들과 밀접하게 맞물려 있다. 

■ single-agent와 multi-agent architectures 모두, reasoning과 tool calling steps을 적절히 활용함으로써 challenging tasks을 해결하는 데 사용될 수 있다. 

■ 이전의 많은 연구들은 문제들을 효과적으로 정확하게 완료하기 위해 reasoning, memory, reflection을 여러 번 반복하는 과정을 거친다.  

■ 그리고 일부 연구들은 거대한 하나의 문제를 여러 개의 작은 subproblems로 나눈 다음, 적절한 tools을 사용하여 각각을 순차적으로 해결하는 방식을 사용한다.  

■ 거대한 문제를 작은 subproblems로 분해하는 것이 복잡한 task를 해결하는 데 효과적이지만, subproblems이 많아지고 실행 순서가 길어지는 경우 single agent는 그 긴 흐름을 끝까지 안정적으로 수행하는 데 어려움을 겪는 것을 보여준 연구들이 있다.  

■ 반면, multi-agent는 개별 에이전트들이 각자 subproblems을 나누어 작업할 수 있기 때문에, 병렬 작업 처리의 문제와 robustness 면에서 유리하다.  

■ 많은 multi-agent들은 먼저 복잡한 문제를 여러 개의 작은 tasks로 분해하는 것부터 시작한다. 그런 다음, 각 에이전트는 자신에게 주어진 독립적인 tools을 사용하여 각각 할당받은 task를 독립적으로 해결해 나간다.   



3. Single Agent Architectures


3.1 Overview

■ 이 섹션에서는 ReAct, RAISE, Reflexion, AutoGPT + P, LATS 같은 방법들을 single agent methods의 예시로 든다. 

■ 이 방법들의 공통점은 어떤 action을 취하기 전에, 먼저 문제에 대해 깊이 reasoning하는 단계가 따로 있다는 점이다.  


3.2 KeyThemes

■ 에이전트의 성공적인 목표 달성이 planning과 self-correction 능력에 달려 있음을 보여주는 연구들이 있다. 

■ 스스로 평가하고 효과적인 계획을 생성하는 능력이 없다면, single agent는 endless execution loop에 갇혀 주어진 task를 영원히 완수하지 못하거나 사용자의 기대에 전혀 못 미치는 엉뚱한 결과를 반환할 수 있다.  

■ single agent architectures은 복잡한 협업이 필요하거나 다른 에이전트의 피드백이 필요하지 않고, 직관적인 function calling만이 요구되는 task를 수행할 때 유용하다. 


3.3 Examples

ReAct

■ ReAct (Reason + Act)에서 에이전트는 먼저 주어진 task에 대한 thought을 작성하고, 그 thought을 바탕으로 action을 수행한 뒤, action의 결과를 관찰한다. 이 과정은 task가 완전히 끝날 때까지 반복될 수 있다.  

■ 다양한 자연어 및 의사결정 tasks에 ReAct를 적용했을 때, zero-shot prompting에 비해 훨씬 더 향상된 효과를 입증했다. 

■ 그리고 모델이 고민한 전체 사고 과정이 투명하게 기록되기 때문에 인간과의 interoperability와 trustworthiness을 크게 높여준다. HotpotQA 데이터셋으로 평가했을 때, ReAct는 CoT보다 낮은 환각을 보였다.  

■ ReAct도 한계가 없는 것은 아니다. reasoning, observation, 그리고 action을 서로 엮는 것이 모델의 trustworthiness을 높여주긴 하지만, 때때로 모델은 똑같은 생각과 행동만을 반복 생성할 수 있기 때문이다.  

■ 루프를 빠져나오기 위한 참신하고 새로운 생각을 전혀 창조해 내지 못할 수 있으므로, task가 실행되는 중간에 human feedback을 넣을 수 있다면, 실제 현실 시나리오에서 그 효과와 applicability가 훨씬 더 높아질 수 있다. 

RAISE

■ RAISE는 기존 ReAct 위에 인간의 short-term 및 long-term memory 구조를 본뜬 memory 메커니즘을 추가하여 구축되었다.  

■ 이러한 메모리들을 추가함으로써, RAISE는 훨씬 더 긴 대화 속에서도 문맥을 잃지 않고 유지하는 에이전트의 능력을 극적으로 향상시켰다.  

■ 그리고 RAISE 논문에서는 더 작은 파라미터의 모델을 사용하더라도 모델을 직접 파인튜닝하는 것이 특정 task에 있어 최고의 성능을 도출해 낸다는 점을 강조한다.  

■ RAISE는 효율성과 결과 품질 측면에서 ReAct를 능가했지만, 몇 가지 치명적인 문제점이 존재한다.

■ 첫째, RAISE는 고도로 복잡한 논리를 이해하는 데 어려움을 겪는다. 이는 여러 시나리오에서 그 유용성을 제한한다.  

■ 게다가 RAISE 에이전트들은 자신에게 부여된 역할이나 지식과 관련하여 종종 환각을 일으켰다. 
- 예를 들어, 역할이 명확히 정의되지 않은 영업 사원 에이전트는 자신의 내면에 잠재된 파이썬 코딩 능력을 그대로 유지하고 있어, 본인의 영업 업무에 집중하는 대신 갑자기 파이썬 코드를 작성하기 시작할 수 있다.  

■ 이 에이전트들은 사용자에게 오해의 소지가 있거나 완전히 잘못된 정보를 제공할 위험이 있다. 이 문제는 모델을 파인튜닝함으로써 어느 정도 해결되긴 했지만, RAISE 저자들은 환각 문제가 근본적인 한계임을 명확히 강조했다.  

Reflexion

■ Reflexion은 언어적 피드백을 통해 self-reflection을 수행하는 single-agent이다. 

■ success state, current trajectory, persistent memory와 같은 지표들을 활용함으로써, Reflexion은 LLM evaluator를 통해 에이전트에게 피드백을 제공한다.  

■ 이는 결과적으로 CoT나 ReAct와 비교했을 때, 획기적으로 줄여줄 뿐만 아니라 성공률을 크게 향상시켰다.  

■ Reflexion의 가장 근본적인 한계는 최적이 아닌 local minima solutions에 빠지기 쉽다는 것이다. 

■ 그리고 long-term memory를 위해 외부 데이터베이스를 사용하는 대신, sliding window 방식을 사용한다. 그래서 long-term memory의 절대적인 용량이 LM의 최대 컨텍스트 길이(즉, 한 번에 처리할 수 있는 최대 길이)에 의해 제한된다.  

AUTOGPT + P

■ AutoGPT+P는 로봇 같은 물리적 환경에서의 plan을 다룬다. 먼저 현장의 이미지를 감지하고, 그 정보를 바탕으로 어떤 tool을 사용할지 정한다.  

■ Plan Tool, Partial Plan Tool, Suggest Alternative Tool, Explore Tool이라는 네 가지 옵션 중 어느 tool을 사용할지 선택한다.  

■ 이런 tools은 로봇이 단순히 목표를 완료하기 위한 전체 계획을 짜는 것뿐만 아니라, 낯선 환경을 탐험하고, 가설을 세우며, 불확실한 상황에서도 임시 계획을 일부 생성할 수 있게 만들어준다.  

■ 중요한 점은 LLM 혼자 계획을 모두 수립하는 것이 아니라, LLM은 거시적인 목표와 단계를 나눠 제시하고, PDDL(Planning Domain Definition Language)을 사용하여 실제 계획의 실행하는 planner 곁에서 보조를 맞춘다.  

■ 이렇게 LLM의 거시적인 계획 능력과 planner의 능력을 결합함으로써, 이 접근법은 순수하게 LM에만 의존하던 기존의 로봇 계획 방법들을 비약적으로 능가하는 성과를 이뤄냈다.  

■ AutoGPT+P의 단점은 tool 선택의 정확도가 편차가 커서 상황에 전혀 맞지 않은 tool이 호출되거나 끝없는 루프에 빠지는 것이다. 그리고 실행 중에 사용자와 상호작용해 수정하거나 중단하기 어렵다는 한계도 있다. 

LATS

■ 기존의 다른 트리 기반 방법론과 비교했을 때, LATS는 성능을 극적으로 끌어올리는 "self-reflection reasoning step"을 구현해 냈다는 점이 다르다.  

■ 에이전트가 어떤 행동을 취하면 환경으로부터 온 피드백은 물론, 언어 모델 자체가 제공하는 피드백을 동시에 사용하여 추론 과정에 치명적인 오류가 있었는지 판단하고 새로운 대안을 제안한다.  

■ 이러한 self-reflect 능력과 탐색 알고리즘의 결합은 LATS가 다양한 tasks에서 뛰어난 성능을 달성하게 만들었다. 

■ 그러나 내부 알고리즘의 complexity와 매 노드마다 수반되는 reflection steps로 인해, LATS는 다른 single-agent methods에 비해 막대한 computational resources을 소모하며 task를 완료하는 데 훨씬 더 긴 시간이 걸린다는 단점이 있다.  

■ 또한, LATS 논문에서는 단순한 QA 벤치마크만을 사용했기 때문에, 실제로 여러 tools을 복합적으로 호출해야 하거나 복잡한 추론이 요구되는 현실 시나리오에서는 아직 그 한계가 검증되지 않았다.  



4. Multi Agent Architectures


4.1 KeyThemes

■ multi-agent의 가장 큰 장점은 역할 분담(즉, 분업)과 다양한 에이전트 페르소나들로부터 오는 유용한 피드백이다. 

■ 많은 multi-agent들은 계획(planning), 실행(execution), 평가(evaluation) 단계별로, 에이전트 팀을 동적으로 구성하고 재조직한다.  

■ 이러한 동적 재조직은 특정 task에 가장 특화된 전문 에이전트들이 투입되고, 해당 에이전트들이 임무가 끝나 더 이상 필요하지 않을 때는 즉시 팀에서 제거하기 때문에, 높은 정확도와 목표 도달에 걸리는 시간을 비약적으로 단축할 수 있다.  

■ 매우 효과적인 multi-agent architectures이 가지는 특징들은 다음과 같다: (1) 에이전트 팀 내의 명확한 리더십 (2) 동적인 팀 구성 (3) 팀원 간의 효과적인 정보 공유 체계 


4.2 Examples

Embodied LLM Agents Learn to Cooperate in Organized Teams

■ 리더 에이전트의 존재가 에이전트 팀의 전반적인 성능에 큰 영향을 준다는 것을 보여준 연구가 있다. 

■ 이 연구는 리더 에이전트를 통한 수직적 구성 요소를 포함함과 동시에, 에이전트들이 리더뿐만 아니라 동료 에이전트들과도 자유롭게 대화할 수 있는 수평적 구성 요소도 함께 가지고 있다.  

■ 체계적으로 조직된 리더가 있는 에이전트 팀이 리더가 없는 팀보다 거의 10% 더 빠르게 작업을 완료했다. 

■ 리더가 없는 팀의 경우, 에이전트들이 전체 대화의 50%를 서로에게 명령을 내리는 데 허비하며, 나머지 시간만을 정보 공유나 요청에 분배한다는 사실을 발견했다.  

■ 반대로 지정된 리더가 있는 팀에서는, 리더가 방향을 제시하여 다른 팀원들이 서로 불필요한 명령을 멈추고 정보를 교환하고 요청하는 데 전념할 수 있었다. 

■ 이 연구 결과는 에이전트 팀의 리더가 AI가 아닌 실제 사람일 때 조직이 가장 효과적으로 작동함을 시사한다.  

■ 그리고 이 논문은 계획을 생성하고, 성과를 평가하며, 피드백을 제공하고, 팀을 재조직하기 위한 "criticize-reflect" step을 도입하는 것의 중요성을 강조한다.  

■ 리더십이 고정되지 않고 상황에 따라 교대되는 동적 팀 구조가 평균적으로 가장 짧은 작업 완료 시간과 가장 낮은 통신 비용을 기록하며 가장 좋은 성능을 보였다.  

■ 즉, 강력한 리더십과 동적인 팀 구조는 추론하고, 계획하며, 작업을 효과적으로 수행하는 팀 전체의 능력을 극대화한다.  

DyLAN

■ DyLAN(Dynamic LLM-Agent Network) 프레임워크는 복잡한 추론이나 코드 생성 같은 tasks을 위해 각 라운드에서 어떤 에이전트가 얼마나 기여했는지 평가하고, 최고의 성과를 낸 에이전트들만 다음 라운드에 계속 참여시킨다.  

■ 이 방식은 지정된 리더가 없고 에이전트들이 서로 자유롭게 정보를 공유하므로, 본질적으로 수평적인 성격을 띠고 있다. 

■ DyLAN은 산술 및 일반적인 추론 능력을 측정하는 다양한 벤치마크에서 향상된 성능을 보여주었다. 이는 동적 팀 구성이 미치는 영향을 보여주며, 각 에이전트의 기여도를 끊임없이 재평가하고 순위를 매기는 것이 주어진 task를 완료하는 데 훨씬 더 최적화된 에이전트 팀을 구성할 수 있음을 보여준다.  

AgentVerse

■ AgentVerse는 multi-agents의 협업을 명확한 단계들로 나누는 방식이 중요하다는 것을 보여준다. 

■ AgentVerse는 task execution을 위해 4개의 단계를 거친다: recruitment, collaborative decision making, independent action execution, evaluation 

■ 이 전체 과정은 목표가 달성될 때까지 반복될 수 있다. 각 단계를 이렇게 엄격하게 분리함으로써, AgentVerse는 에이전트 팀이 혼란 없이 훨씬 더 효과적으로 추론하고, 토론하며, 실행할 수 있도록 체계적으로 운영한다. 

■ 예를 들어, recruitment 단계에서는 목표를 향한 현재의 진행 상황에 따라 불필요한 에이전트를 팀에서 제거하거나 필요한 스킬을 가진 새로운 에이전트를 추가로 영입할 수 있다. 이를 통해 문제 해결의 특정 단계마다 항상 가장 적합한 에이전트들만이 참여하도록 보장할 수 있다.  

■ 이 논문에서는 경영 컨설팅과 같이 창의적이고 유기적인 협업이 필요한 작업에는 수평적 팀 구조가, 정확한 tool calling을 위해 명확한 책임 소재가 요구되는 작업에는 수직적 팀 구조가 적합함을 보여준다.  

MetaGPT

■ 많은 multi-agent architectures은 하나의 문제를 두고 협력할 때, 에이전트들이 서로 대화를 나눌 수 있도록 허용한다.  

■ 그러나 이러한 대화 기능은 종종 에이전트들 사이에 팀 목표 달성에는 전혀 도움이 되지 않는 불필요한 수다를 유발하여 중요한 정보가 묻힐 수 있다.  

■ MetaGPT에서는 에이전트들이 자유 대화 대신 문서나 다이어그램과 같이 구조화된 outputs만을 생성하도록 강제함으로써 에이전트 간의 비생산적인 잡담 문제를 해결했다.  

■ 그리고 MetaGPT는 정보 공유를 위해 "publish-subscribe" 메커니즘을 도입했다. 모든 정보는 한곳에 공유되지만, 각 에이전트는 자신의 임무와 직접적으로 관련된 정보만을 선별하여 읽는다.  

■ 이 구조 덕분에 전반적인 실행 과정이 간소화되었으며, 에이전트들 사이의 불필요한 대화를 획기적으로 줄일 수 있었다. 

■ HumanEval 및 MBPP 벤치마크에서 single-agent architectures과 비교했을 때, MetaGPT의 multi-agent architecture는 다른 모델들을 능가하는 결과를 보여주었다.  



5. Discussion and Observations


5.1 Overview

■ 지금까지 살펴본 여러 에이전트 패턴들은 세부 구현은 달라도, 대체로 "plan → act → evaluate" 과정을 기반으로, 문제를 반복적으로 해결해 나가는 흐름을 따르고 있다. 

■ 그리고 single-agent와 multi-agent 모두 복잡한 목표 수행에서 꽤 강한 성능을 보이며, 아키텍처의 형태와 무관하게 clear한 feedback, task decomposition, iterative refinement, 그리고 role definition이 공통적으로 성능을 극적으로 향상시킨다.  


5.2 KeyThemes

Typical Conditions for Selecting a Single vs Multi-Agent Architecture

■ 저자들은 single-agent는 사용할 tools이 매우 좁게 정의되어 있고, 처리 과정이 명확한 tasks에 더 적합하다고 본다. 

■ single-agent는 단 하나의 에이전트와 하나의 tools 집합만 정의하면 되기 때문에 구현도 더 쉽고, 다른 에이전트로부터 잘못된 피드백이나 잡담 때문에 방해받지 않는다는 장점이 있다.  

■ 그러나 single-agent의 reasoning 및 refinement 능력이 약하다면, 끝없는 execution loop에 갇혀 목표를 향해 나아가지 못하고 실패할 위험이 크다.  

■ multi-agent architectures은 다양한 페르소나로부터 오는 다각적인 피드백이 유용한 tasks에 매우 적합하다. 
- 예를 들어 문서를 작성하는 task의 경우, 한 에이전트가 작성한 특정 섹션에 대해 다른 에이전트가 피드백을 제공하는 multi-agent architecture의 장점이 두드러질 수 있다. 

■ 본질적으로 multi-agent는 아키텍처가 더 복잡하기 때문에, 종종 에이전트들 간의 대화 관리와 명확한 리더십이 존재할 때 가장 큰 이점을 얻는다. 

■ single-agent와 multi-agent는 서로 다른 역량을 지니고 있지만, 에이전트에게 제공된 프롬프트가 충분히 강력하고 정교하다면, "반드시 multi-agent가 reasoning에 더 좋은 것은 아니다"라고 주장한 연구가 있다.  

■ 이는 단순히 "얼마나 고도의 추론 능력이 필요한가"를 기준으로 single-/multi-agent를 선택할 것이 아니라, use case가 가진 더 넓은 문맥과 본질적 특성을 바탕으로 시스템 구조를 결정해야 함을 시사한다.  

Agents and Asynchronous Task Execution

■ single agent도 여러 개의 비동기 호출을 시작할 수는 있지만, 그 호출들은 서로 다른 독립적인 의사결정 주체가 관리하는 것이 아니다. 결국 하나의 에이전트가 순차적으로 계획하고 다음 단계를 정해야 한다.  

■ 반면 multi-agent는 각 에이전트가 완전히 독립적으로 작동할 수 있어, 더 자연스러운 분업과 병렬 처리가 가능하다. 

Impact of Feedback and Human Oversight on Agent Systems

■ 복잡한 문제는 처음부터 완벽하게 푸는 경우가 드물기 때문에, 초안 같은 임시 해결책을 먼저 내놓은 다음 스스로 비판하고 수정하는 iterative feedback and refinement 과정은 필수적이다.  

■ 이것이 필수인 이유는, LM은 응답 초반에 특정 방향으로 기울기 시작하면 그 방향으로 계속 전개되어, 결국 원래 도달해야 할 목표에서 벗어나는 snowball effect를 일으킬 수 있기 때문이다. 

■ 피드백 시스템을 도입하면, 에이전트가 이탈된 경로를 조기에 수정하고 올바른 목표에 도달할 가능성을 높일 수 있다. 

■ 그리고 피드백 시스템에 인간의 검토를 포함시키면, 에이전트의 응답을 인간의 기대치와 훨씬 더 밀접하게 일치시킴으로써 결과물의 품질을 향상시키고, 에이전트가 문제 해결을 위해 비효율적이거나 완전히 잘못된 접근 방식으로 파고들 잠재적 위험을 완화해 준다.  

■ 이전 연구들을 보면, 에이전트 아키텍처에 인간의 검증과 피드백 과정을 포함시키는 것이, 확실히 더 신뢰할 수 있고 믿을 수 있는 결과를 산출한다.  

■ 다만 여기서도 주의점이 있는데, LM은 종종 사용자나 다른 모델의 의견을 그대로 반영하려는 경향이 있다. 즉, 잘못된 피드백도 그대로 받아들일 위험이 있다. 이 문제는 정교한 프롬프팅을 통해 완화시킬 수 있다. 

Challenges with Group Conversations and Information Sharing

■ multi-agent가 가진 또 다른 난제는 에이전트들 사이에 메시지를 얼마나 지능적으로 공유할 수 있는가에 있다. 

■ single-agent는 혼자 일하니 상대적으로 당면한 task에만 집중하기 쉽다. 반면, multi-agent는 서로 인사하거나 쓸데없는 말을 주고받는 식의 불필요한 대화가 생기기 쉽다.  

■ multi-agent system에서 발생하는 이러한 불필요한 대화는 에이전트가 효과적으로 추론하고 올바른 tools을 실행하는 능력을 손상시키며, 궁극적으로 에이전트들을 본업에서 산만하게 만들어 팀의 전체 효율성이 떨어질 수 있다.  

■ 특히 모든 메시지가 모두에게 보이는 horizontal 구조에서 이런 불필요한 대화가 심하게 나타난다. 

■ 메시지를 선별적으로 subscribing하게 하거나 filtering하는 시스템을 도입하면, 각 에이전트가 자신의 작업과 관련된 정보만 수신하도록 보장함으로써 multi-agent의 성능을 끌어올릴 수 있다.  

■ vertical 구조의 경우, 에이전트의 스킬에 따라 task가 명확하게 분할되는 경향이 있어, 역할 분담이 비교적 명확하다.  

■ 대신 리더 에이전트가 필요한 핵심 정보를 부하 에이전트들에게 제대로 전달하지 못하면 문제가 생긴다. 이러한 소통의 실패는 팀 전체에 혼란을 초래하거나 결과물에 환각을 유발할 수 있다. 

■ 이 문제를 해결하기 위한 한 가지 접근법은, 에이전트들이 서로 문맥에 맞는 적절한 상호작용을 할 수 있도록 시스템 프롬프트 내에 각 에이전트의 정보 접근 권한에 대한 정보를 명시적으로 포함시키는 것이다.  

Impact of Role Definition and Dynamic Teams

■ single 및 multi-agent architectures 모두 명확하게 역할을 정의해야 한다. 

■ single-agent에서 페르소나와 역할 정의는, 에이전트가 주어진 task에만 집중하고, 올바른 tools만을 실행하며, 자신의 능력에 벗어난 영역에서 환각을 일으키는 것을 최소화하는 데 도움이 된다. 

■ multi-agent에서의 역할 정의는 각 에이전트가 전체 팀 안에서 자신이 정확히 무엇을 책임지고 있는지 인지하게 하며, 자신의 능력이나 범위를 벗어나는 업무를 떠맡지 않도록 통제한다. 

■ 여기에 리더까지 명확하면 작업 배분이 더 매끄러워진며, multi-agent 팀의 성과를 전반적으로 크게 끌어올린다.  

■ 그리고, 각 에이전트에게 비생산적인 소통에 참여하지 말라고 프롬프트 상에 명시적으로 지시하면, 과도한 잡담을 최소화할 수 있다. 

■ 필요에 따라 에이전트들을 시스템에 투입하고 제거하는 동적 팀 구성 또한 매우 효과적이다. 이는 특정 라운드의 업무에 가장 적합한 최적의 인재들로만 구성되도록 보장한다.  


5.3 Summary 

■ single-agent와 multi-agent 모두 복잡한 추론과 도구 실행이 필요한 과제에서 충분히 강한 성능을 보일 수 있다. 

■ 단, single-agent는 명확히 정의된 페르소나와 tool set이 주어지고, human feedback을 받을 기회가 있으며, 목표를 향해 반복적으로 수정해 나갈 수 있는 능력이 주어졌을 때 탁월하게 작동한다. 

■ multi-agent 팀을 만들 때는 다음의 핵심 요소 중 최소 하나 이상을 갖춘 아키텍처를 사용하는 것이 유리하다: 명확한 리더의 존재, 뚜렷이 정의된 계획 단계 및 새로운 정보 습득 시 계획을 수정할 기회, 지능적인 메시지 필터링(잡담 방지), 그리고 현재의 sub-task에 정확히 들어맞는 스킬을 가진 에이전트들로 구성된 동적 팀 



6. Limitations of Current Research and Considerations for Future Research


6.1 Overview

평가 방법, 시스템의 신뢰성, 그리고 각 에이전트를 구동하는 LM로부터 물려받은 문제들과 관련하여 여전히 몇 가지 난제들이 존재한다.  


6.2 Challenges with Agent Evaluation

■ LLM은 비교적 널리 쓰이는 표준 benchmarks이 있지만, 에이전트는 평가 기준이 제각각이라서 서로 다른 에이전트들을 같은 기준으로 공정하게 비교하기가 어려워진다.  

■ 게다가 에이전트 전용 벤치마크의 상당수는 연구자들이 직접 만든 복잡한 evaluation set을 포함하고 있으며, 그 결과도 수작업으로 채점된다.  

■ 이런 평가는 방법론을 개발하는 당사자가 평가 문제를 출제하고 채점까지 도맡기 때문에 평가에 편향이 들어갈 위험성이 매우 크다.  

■ 또한 에이전트들은 모델 자체의 변동성, 환경의 변화, 문제 상태의 가변성 때문에 여러 번의 시도에 걸쳐 일관된 답변을 생성하는 데 종종 어려움을 겪는다.  


6.3 Impact of Data Contamination and Static Benchmarks

■ 최근 연구들은 모델의 학습 데이터 내에 data contamination이 존재함을 시사하고 있다. 이는 벤치마크 질문의 단어나 구조를 조금만 변형해도 모델의 성능이 떨어지는 결과를 통해 뒷받침된다. 즉, 일반화 성능에 대한 의구심이 존재한다.  

■ 그리고 기존 벤치마크는 한 번 만들어지면 대부분 내용이 변하지 않기 때문에, 모델의 진화하는 역량을 따라잡지 못하고 있음을 발견한 연구도 있다.  

■ 이 문제를 해결하기 위해 등장한 아이디어가 dynamic benchmarks이다. 또 사용자 환경이나 특정 use case에 맞춰 entirely synthetic benchmark를 AI가 생성하자는 시도도 등장했다.  

■ 그러나 사람이 덜 개입하고 자동 생성에 더 의존하는 것은, 정답의 정확성이나 문제 자체의 타당성이 흔들릴 수 있다.  


6.4 Benchmark Scope and Transferability

■ MMLU나 GSM8K 같은 대표적인 LM 벤치마크들은 외부 도구 호출 없이 단 한 번의 시도만으로 해결되도록 설계되어 있다.  

■ 이러한 벤치마크들은 LLM의 지식이나 추론 능력을 측정하는 데는 유용하지만, 여러 단계를 거쳐 깊이 추론하거나 외부 정보에 접근하는 능력을 전혀 고려하지 않기 때문에 에이전트의 능력을 평가하기에는 부족하다. 

■ StrategyQA 벤치마크는 여러 단계에 걸친 모델의 추론 능력을 평가함으로써 이 점을 어느 정도 개선하긴 했지만, 답변이 오직 Yes/No로만 제한된다는 한계가 있다.  

■ 학습 데이터의 범위를 넘어 외부 도구의 조작이 수반되는 tasks에 대해 에이전트의 성능과 일반화 능력을 훨씬 더 잘 평가할 수 있는 측정 기준이 필요하다.  

■ AgentBench와 같은 일부 에이전트 특화 벤치마크들은 웹 브라우징, 비디오 게임 등 매우 다양하고 이질적인 환경에서 LM-based agents을 평가한다.  

■ 이는 에이전트가 주어진 작업을 달성하기 위해 추론하고, 계획하며, 도구를 호출함으로써 '새로운 환경에 얼마나 잘 적응(일반화)할 수 있는지'를 더 잘 보여준다.  

■ AgentBench 및 SmartPlay와 같은 벤치마크들은 에이전트의 성공률, 인간의 응답과의 출력 유사성, 그리고 전반적인 효율성을 정량적으로 평가하도록 설계된 객관적인 평가 지표를 도입했다.  

■ 이런 객관적 지표들이 시스템의 전반적인 신뢰성과 정확성을 이해하는 데 필수적이긴 하지만, 객관적 지표만으로는 충분하지 않다.  

■ 왜냐하면 실제로는 도구를 얼마나 효율적으로 사용했는지, 계획이 얼마나 견고했는지, 실수를 얼마나 잘 복구하는지 같은 요소도 중요하기 때문이다.  

■ 그러나 이런 요소는 점수화하기 어렵고, 결국 human expert에 의한 평가를 반드시 필요로 하며, 이는 LLM-as-judge에 비해 막대한 비용과 시간을 소모하게 만든다.  


6.5 Real-world Applicability

■ 기존 벤치마크의 상당수는 논리 퍼즐이나 게임 같은 환경에서의 에이전트 추론 능력에 초점을 맞추고 있다.  

■ 그러나 이런 tasks에서 에이전트가 우수한 성능을 보였다고 해서, 현실의 복잡한 문제(노이즈가 많고, 주제 범위도 훨씬 넓고, 상황도 덜 정형화되어 있는 문제들)도 잘 푼다고 보장할 수는 없다.  


6.6 Bias and Fairness in Agent Systems

■ 에이전트들이 LLM보다 덜 견고하고, 더 해로운 행동을 하거나, 교묘하게 유해 콘텐츠를 생성을 만들 수 있음을 입증한 연구가 있다. 이 연구에서는 LLM agents이 모델에 내재된 사회적 편향을 그대로 따르려는 경향을 발견했다. 

■ 저자들은 이러한 LLM-based agents의 편향을 제대로 평가하려면, 최종 검증 단계에 반드시 인간의 평가가 필수적으로 포함되어야 한다고 주장한다.