https://arxiv.org/pdf/2308.11432
도입
자율 에이전트에 대한 오랜 연구 진행
기존 연구 : 제한된 지식을 바탕으로 고립된 환경에서 에이전트를 훈련하는데 초점
=> 이는 인간의 학습과정과 크게 다르기 때문에 의사결정이 어려움
최근 LLM의 발전으로 에이전트 연구의 증가
이러한 연구들을 살펴보고 전체적인 관점에서 LLM 기반 자율 에이전트에 대한 체계적인 리뷰를 제공
LLM 기반의 자율 에이전트의 구축 방식을 논의하며, 기존 연구의 상당 부분을 포괄할 수 있는 통합된 프레임워크를 제시한다.
다양한 응용 분야를 살펴보며 마지막으로 에이전트 평가 방식 살펴보기
서론
자율 에이전트느 일반 인공지능 AGI를 달성하기 위한 유망한 접근법으로 여겨져 왔다.
일반 인공지능이란, 에이전트가 자발적인 계획과 행동을 통해 스스로 목표를 달성할 수 있는 능력을 의미한다.
기존 연구들에서는 에이전트가 제한적이고 고립된 환경에서 휴리스틱한 정책함수에 따라 행동했다고 가정
이러한 방식은 인간의 학습 과정과의 차이와 한계 발생
LLM 발전으로 LLM을 중심 제어자로 활용하여 인간과 유사한 의사결정 능력을 갖춘 자율 에이전트를 개발하려는 연구 분야가 급속히 성장
강화학습 기반 에이전트와 비교 시 LLM 기반의 에이전트는 보다 포괄적인 내부 지식을 갖추며
특정 도메인 데이터로 훈련하지 않아도 정보에 기반한 행동 가능
자연어 인터페이스를 통해 인간과 상호작용도 가능해 유연성과 설명 가능성도 제공
유망한 모델들은 기억력과 계획 능력과 같은 인간의 역량을 LLM에게 부여하여
에이전트가 인간처럼 행동하고 다양한 작업을 효과적으로 수행하도록 한다.
=> 이 분야에 대한 포괄적 요약이 향후 연구에 큰 의미가 있다고 생각
세 가지 핵심 분야의 조사
1. 구축 : LLM의 성능을 보다 효과적으로 활용하기 위해 에이전트의 아키텍쳐를 어떻게 설계할 것인지
=> 하드웨어적 토대 구축
2. 응용 : 에이전트가 다앙한 작업을 성공적으로 수행할 수 있도록 역량을 부여하고 증진하는 방법이 무엇인지
=> 소프트웨어적 자원을 에이전트에게 제공
3. 평가 : LLM 기반 자율 에이전트를 평가하는 전략에 대해 심도 있게 논의
2. LLM 기반 자율 에이전트 구축
LLM이 지닌 인간과 유사한 역량을 활용하여 다양한 작업을 효과적으로 수행할 것으로 기대
이러한 목표를 달성하기 위해 크게 2가지 핵심적인 측면이 고려
1. 어떤 아키텍쳐를 설계해야 LLM을 보다 효율적으로 활용 할 수 있을 것인가?
2. 설계된 아키텍쳐를 기반으로 에이전트가 특정 작업을 수행하기 위한 역량을 어떻게 획득할 것인가?
1번은 프레임워크로 2번은 LLM 파인튜닝 여부에 따라 분류하고 요약
아키텍쳐 설계는 네트워크 구조를 정의하는 것에 해당하며, 역량 획득은 네트워크의 파라미터를 학습하는 과정에 비유할 수 있다.
2.1 에이전트 아키텍쳐 설계
최근 LLM의 발전 => QA 형식으로 광범위 작업을 효과적 수행하는 잠재력을 보여줌
자율에이전트 구축 작업은 단순한 질의응답 방식을 넘어섬
인간과 함께 환경을 인지하고 진화해야 하기 때문에
=> LLM 역량 증대를 위해 다양한 모듈 개발
=> 프레임워크로 제시하면 프로파일링, 메모리, 계획, 행동 모듈로 구성되어 있음
-프로파일링은 에이전트의 수행 역할 정의
-메모리 및 계획 모듈은 에이전트를 동적인 환경에 위치시켜 과거 행동을 회상하고 미래 행동을 계획
-행동 모듈은 에이전트의 결정을 구체적인 결과로 변환하는 역할을 담당
프로파일링 모듈은 메모리 모듈과 계획 모듈에 영향을 미치며, 이 세가지 모듈이 함께
행동 모듈에 영향을 미침
2.1.1
프로파일링 모듈
자율 에이전트는 일반적으로 특정한 역할을 맡아 작업을 수행
프로파일링 모듈의 목적은 이러한 에이전트의 역할 프로파일링을 정의
일반적으로 LLM의 행동을 유도하기 위해 프롬프트에 반영
프로파일은 일반적으로 기본적인 인구통계적 정보와 더불어 심리적 정보 및 사회적 정보를 포함
일반적으로 3가지 프로파일링 방식 사용
1. 수작업 방식 : 연구자가 직접 수동 지정 ( 유연하다는 장점과 수 가 많아지면 노동 집약적이라는 단점 )
2. LLM 기반 자동 생성 방식 : LLM을 사용하여 프로파일 자동 생성, 프로파일 생성 규칙을 만들고 속성 명시한 후 추가 생성
(시간과 노력을 단축할 수 있다는 장점과 세부적인 통제가 어려워 일관성 감소 단점 존재)
3. 데이터셋 정렬 방식 : 실제 세계에서 프로파일을 얻는 방식
실제 인간의 정보를 프롬프트로 정리 후 이를 에이전트 프로파일로 활용
실제 모집단의 특성을 정확히 반영하여 에이전트 행동이 보다 현실적이고 의미 있게 만든다는 장점
=> 유기적 조합 필요
2.1.2 메모리 모듈
환경으로부터 인지한 정보 저장, 미래 행동 결정 => 일관성과 합리적, 효율적 행동 가능
메모리 구조
인지과학( 감각, 단기 ,장기 기억)
단기는 트랜스포머의 context window에 포함되는 정보와 같이 비유
장기는 빠르게 검색 가능한 외부 벡터 저장소와 유사
< 자주 사용되는 메모리 구조 2가지 >
통합 메모리 : 단기기억만 묘사, 인 컨텍스트 러닝=> 기억 정보를 직접 프롬프트에 작성
- RLP : 대화형 에이전트
-SayPlan : 작업계획 그패르 및 환경 피드백
-CALYPSO, DEPS : 게임 기반 에이전트 ( 구현이 쉽지만 전체 기억 통합에 한계 )
하이브리드 메모리 : 장기와 단기 모두 모델링
- 생성형 에이전트 : 현재 상황은 단기에 과거는 장기에 저장
-agentSims : 프롬프트를 단기, 백터 DB를 장기기억으로
-GITM : 단기기억은 현재 경로, 장기기억은 성공적인 계획 요약을 저장
-reflexion, SCM,... : 장기+단기 메모리 결합 구조 채택
< 메모리 형식 >
자연어 : 직접 자연어로 표현하여 유연하고 의미 풍부, 인간 친화적
임베딩 : 메모리 정보를 벡터로 인코딩하여 빠른 검색이 가능 효율성이 높음
데이터베이스 : SQL을 활용해 메모리 조작
구조화 리스트 : 계층 구조 등을 메모리로 표현
< 메모리 연산 >
에이전트가 환경과 상호작용하며 정보를 저장 활용하는 과정은 3가지 연산으로 구분
1. 읽기 : 과거 정보 중 유의미한 내용을 추출하여 행동에 반영 [ 최근성, 관련성,중요도 ]
2. 쓰기 : 환경에서 인지한 정보 저장 [ 중복처리, 용량 초과 처리 문제점 존재 ]
3. 반영 : 경험을 요약하고 추상화
메모리 모듈은 LLM과 달리 에이전트가 동적인 환경에서 학습하고 적응하기 위한 핵심이며 이는 다음 계획 부분과 연결
2.1.3 계획 모듈
복잡한 업무 => 하위 작업으로 분해 후 순차적으로 해결하는 경향 존재
에이전트에게 이러한 인간의 능력을 부여하는 것을 목표
=> 에이전트가 계획 과정에서 피드백을 받을 수 있는지 여부를 기준으로 기존 연구들을 분류하고 자세히 소개
1. 피드백 없는 계획
에이전트가 행동을 취한 후에도 향후 행동에 영향을 줄 수 있는 피드백을 받지 않는 구조
- 단일 경로 추론 : 작업을 여러 중간 단계로 나누고 순차적으로 이어지는 방식
COT : 복잡한 문제를 해결하기 위해서 추론 단계를 프롬프트에 삽입하여,LLM이 단게별 계획을 수립하도록 유도
Zero-Shot-COT : step-by-step 같은 유도 문장을 통해 LLM이 추론 과정을 스스로 생성하도록 함
reprompting : 각 단계가 전제 조건을 만족하는 지 검사, 불만족 시 에러 메세지를 추가하여 계획 수정
reWoo : 계획과 관찰을 분리하여 개별적 생성 후 결합하여 결과 도출
swiftsage : 인간의 이중 처리 이론에 착안하여 빠른 응답과 심층 계획 결합
- 다중 경로 추론 : 추론 단계를 트리 구조로 구성 각 중간 단계에서 다양한 경로를 탐색
cot-sc : 가장 빈도가 높은 응답을 선택
ToT(tree of thought) : 트리 구조를 통해 중간 사고를 생성하여 최종 계획 도출
Got(graph ~) : 그래프 구조로 확장
Aot(algorithms ) : 알고리즘 예시를 프롬프트에 삽입하여 추론 강화
LMZSP, RAP : 다양한 경로를 생성 후 MCTS 기반 탐색 수행
- 외부 플래너 : LLM 단독이 아닌 외부 플래너를 활용
+P : LLM이 문제를 PDDL 형식으로 변환 => 외부 플래너가 해법 생성 => LLM이 자연어로 변환
+ DP : LLM이 고수준 계획 수립 후 외부 플래너는 저수준 실행 계획 수립
2. 피드백 기반 계획
인간처럼 반복적으로 피드백을 반영하여 계획을 수정할 수 있는 구조가 요구
- 환경 피드백 : 관찰값을 받아 다음 행동에 반영
ReAct : 사고-행동-관찰 구조로 계획을 구성 (검색결과, 실행 오류 등)
- 인간 피드백 : 사람과 상호작용으로 인간의 가치와 선호에 맞는 계획 수립하도록 유도
- 모델 피드백 : 에이전트 혹은 사전학습된 모델이 내부적으로 피드백을 생성
Self-Refine : 출력 => 피드백 => 개선 단계를 반복하여 성능 향상
Selfcheck : 추론 과정 자체를 검토하고 비교하여 오류 수정
InterAct : 여러 LLM을 보조 역할로 활용
ChatCot : 에이전트가 실행한 행동을 평가자 역할의 LLM이 구체적을 피드백 제공
2.1.4 행동 모듈
에이전트의 결정을 구체적 결과로 변환하는 역할을 하며 아키텍쳐에서 가장 하위단계
외부환경과 소통하며 4가지 측면에서 설명한다.
1. 행동 목표 : 에이전트는 무엇을 달성하고자 하는가?
2. 행동 생성 : 행동은 어떻게 생성되는가?
3. 행동 공간 : 어떤 행동이 가능한가?
4. 행동 영향 : 행동의 결과는 무엇인가?
1,2 는 행동 이전 3은 행동 중 4는 행동 이후에 해당한다.
행동 목표 : 다양한 목적을 위해 에이전트 수행
- 작업 수행 : 목표를 가진 작업을 완수하기 위한 행동 ( 만들기 , 기능완성 )
- 의사 소통 : 다른 에이전트나 사람과 정보를 공유하거나 협업을 위한 행동
- 환경 탐색 : 미지의 환경 탐색 새로운 자원이나 기술 습득 ( 환경 피드백 바탕으로 행동 개선 )
행동 생성 방식 : 일반 LLM은 입출력이 직접 연결 에이전트는 다양한 전략을 활용하여 활동 생성
- 기억 기반 행동 : 현재 업무에 관련된 기억을 검색해 행동 유도
- 사전 기반 행동 : 사전 생성된 계획에 따라 행동을 수행
행동 공간 : 에이전트가 취할 수 잇는 모든 가능한 행동들의 집합을 의미하며 크게 2가지로 나뉨
외부 도구 활용
- API 호출 , DB/지식 베이스 , 외부 모델 호출
내부 지식 기반 행동
- 계획 능력 : CoT, voyager 등에서 복잡한 작업 분해
- 대화 능력 : RLP 등에서 인간 유사한 상호작용
- 상식 이해 : 고차원적 개념 이해
에이전트 역량 획득 [ Agent Capability Acquisition ]
LLM 기반 아키텍쳐 설계는 LLM의 능력을 최대한 활용하여 인간 수준으로 업무 수행 가능에 중점
에이전트의 하드웨어에 해당
=> 역할 특화 능력, 기술, 경험이라는 소프트웨어 자원 부족으로 한계
이러한 자원 확보LLM 파인튜닝 여부에 따라 2가지 분류
1. 파인튜닝 기반 역량 획득 : 가장 전통적인 방식 , 데이터셋은 사람의 주석과 LLM이 생성한 데이터, 실제 환경 데이터셋
2. 비파인튜닝 기반 역량 획득 ; 기존 머신러닝 시대에는 모델 역량이 파라미터 학습에 의해 결정되었으나, LLM 시대에는 프롬프트
엔지니어링과 메커니즘 설계 등 새로운 전략들이 활용된다.
프롬프트 엔지니어링
- CoT , ToT : 추론 과정을 예시로 프롬프트에 삽입하여 추론 능력 강화
-
'Agent' 카테고리의 다른 글
| 에이전트와 백엔드의 서비스 로직 차이 (0) | 2025.10.03 |
|---|---|
| [논문 리뷰] MAO-ARAG: Multi-Agent Orchestration for Adaptive Retrieval-AugmentedGeneration (6) | 2025.08.07 |
| SOP-AGENT: EMPOWER GENERAL PURPOSE AIAGENT WITH DOMAIN-SPECIFIC SOPS (0) | 2025.07.11 |
| [논문 리뷰] REAC T: SYNERGIZING REASONING AND ACTING INLANGUAGE MODELS (0) | 2025.07.10 |