2025. 2. 7. 12:49ㆍLLM
2024년 9월에 게재된 Agent Whitepaper를 보며, 정리한 내용입니다.
👉 원문: Agents
추론, 논리 및 외부 정보 접근 기능이 생성형 AI 모델과 결합된 "에이전트" 개념
Introduction
✅ 인간은 복잡한 패턴 인식 작업에 탁월함
✅ 하지만, 사전 지식 보완하기 위해 책 찾아보거나, 구글에 검색하거나, 계산기 활용하는 등 다양한 도구에 의존하는 경우 많음
✅ 생성형 AI 모델도 인간과 마친가지로 도구 사용해 실시간 정보에 접근하거나 실제 행동을 수행하도록 학습될 수 있음
✅ 예를 들어, AI 모델이 데이터베이스 검색 도구 활용하면 고객의 구매 내역과 같은 특정 정보에 접근해 맞춤형 쇼핑 추천하거나 or API 호출로 이메일 대신 보내고 금융 거래 처리할 수도 있음
✅ 이를 위해 AI는 단순 정보 제공을 넘어, 작업을 스스로 계획하고 실행하는 능력이 필요
✅ 여기서 AI는 단순한 도구가 아닌 '에이전트'로 발전되며, 더욱 강력한 역할 수행할 수 있음
✅ 해당 백서(Whitepaper)에서는 생성형 AI의 가능성과 확장된 기능 자세히 다루고 있음
What is an agent
✅ 가장 기본적인 형태의 생성형 AI 에이전트는 세상을 관찰하고, 주어진 도구를 활용해 목표를 달성하는 애플리케이션으로 정의할 수 있음
✅ 이 에이전트는 자율적이며, 달성 목표/목적이 주어지면 사람의 개입 없이도 독립적으로 행동할 수 있음
✅ 또한, 목표 이루기 위해 능동적으로 대처하며, 명확한 지침 없이도 스스로 다음에 해야 할 작업 추론해 실행할 수 있음
✅ AI에서 에이전트 개념은 매우 일반적이고 강력하지만, 이 백서에서는 현재 생성형 AI 모델이 구축할 수 있는 특정 유형의 에이전트에 초점 맞추고 있음
✅ 에이전트의 내부 작동 방식 이해하려면, 면저 에이전트의 행동, 작업, 의사 결정 이끄는 핵심 구성 요소 살펴봐야 함
✅ 이러한 구성 요소들의 조합을 인지 아키텍처(cognitive architecture)라고 하며, 다양한 방식으로 조합해 여러 형태의 아키텍처 만들 수 있음
✅ 핵심 기능을 기준으로 보면, 에이전트의 인지 아키텍처는 3가지 필수 구성 요소로 이루어지며, 이를 그림 1에서 확인할 수 있음
The Models
✅ 에이전트 관점에서 모델은 에이전트 프로세스의 중심적인 의사 결정 역할 수행하는 언어 모델(LM: Language Model) 의미
✅ 단일 또는 여러 개의 언어 모델일 수 있으며, 크기(소형/대형)와 관계없이 ReAct, Chain-of-Thought, Tree-of Thoughts와 같은 추론 및 논리적 사고 프레임워크 따를 수 있는 모델이면 사용 가능함
✅ 모델은 범용(general-purpose), 멀티모달(multimodal) 또는 특정 에이전트 아키텍처의 요구에 맞춰 미세 조정(fine-tuing)된 형태일 수도 있음
✅ 최적의 결과 얻기 위해서는 최종 애플리케이션의 목적에 가장 적합한 모델 선택하고, 인지 아키텍처에서 사용할 도구와 연관된 데이터 패턴으로 학습된 모델 선택하면 더욱 효과적
✅ 다만, 모델 자체는 특정 에이전트의 설정(예시: 도구 선택, 오케스트레이션 및 추론 방식 등)에 맞춰 사전 학습되지 않음
✅ 하지만, 에이전트가 수행할 작업을 보다 정밀하게 최적화하려면, 모델에게 특정 도구 활용하는 방식이나 다양한 상황에서의 추론 과정 담긴 예제들 제공해 추가적인 조정할 수 있음
The Tools
✅ 기반 모델(파운데이션 모델)은 텍스트와 이미지 생성하는 뛰어난 능력 갖추고 있지만, 외부 세계와 직접 상호작용할 수 없는 제약 가짐
✅ 이러한 한계 극복하는 것이 바로 도구(Tools)
✅ 도구는 에이전트가 외부 데이터 및 서비스와 상호작용할 수 있도록 지원하며, 기본 모델만으로는 할 수 없는 더 광범위한 작업 수행할 수 있도록 해줌
✅ 도구는 다양한 형태와 복잡성 가지지만, 일반적으로 GET, POST, PATCH, DELETE와 같은 웹 API 방식에 맞춰 설계됨
✅ 예를 들어, 도구 활용하면 데이터베이스의 고객 정보 업데이트하거나, 날씨 데이터를 가져와 여행 추천에 반영하는 작업 수행 가능
✅ 도구 통해 에이전트는 실시간 정보 접근하고 처리할 수 있으며, 이를 기반으로 검색 증강 생성(RAG: Retrieval-Augmented Generation)과 같은 특화 서비스 지원할 수 있음
✅ 이러한 기능 확정은 기반 모델이 단독으로 수행할 수 있는 범위 뛰어넘게 만들어 줌
✅ 도구의 핵심은 에이전트의 내부 능력과 외부 세계를 연결해 더 넓은 가능성 열어준다는 것
The orchestration Layer
✅ 에이전트가 정보 수집하고, 내부 추론 수행한 뒤, 그 결과를 다음 행동이나 결정에 반영하는 순환적 과정 의미
✅ 이 과정은 에이전트가 목표 달성하거나 특정 종료 지점에 도달할 때까지 반복됨
✅ 복잡도는 에이전트 유형과 수행 작업에 따라 크게 달라질 수 있음
✅ 단순한 규칙 기반 계산에서부터 복잡한 경우에는 논리적 추론을 연쇄 수행, 추가적인 머신러닝 알고리즘 혹은 확률적 추론 기법 적용하기도 함
Agents vs Models
✅ 에이전트 vs 모델의 차이를 간단하게 표로 정리함
구분 | 모델 | 에이전트 |
지식 범위 | 학습 데이터 내 정보로 제한 | 도구 활용해 외부 지식 활용 가능 |
추론 방식 | 사용자 입력 쿼리에 대한 단일 추론/예측 수행 세션 히스토리 및 컨텍스트 관리 없음(이전 대화 기억 못함) |
사용자 입력 쿼리에 대한 세션 히스토리 관리해 멀티턴 추론/예측 가능 (멀티턴? 1개 유저 입력 커리에 대한 에이전트 답변 1개가 1번의 Turn) |
도구 활용 | 도구 사용 불가능 | 도구가 에이전트 아키텍처에 구현됨 |
로직 레이어 | 로직 레이어 없어 유저가 간단한 질문/프롬프트 추론 프레임워크(CoT, ReAct 등) 사용해 모델 예측 도와줌 |
CoT, ReAct와 같은 추론 프레임워크 활용 랭체인과 같은 내재된 에이전트 프레임워크 사용 |
Cognitive Architectures: How Agents operate
✅ 에이전트의 동작 과정 설명하기 위해 아래 셰프 예시 활용
✅ 바쁜 주방에서 셰프의 목표는 맛있는 요리를 손님에게 대접하는 것
✅ 목표(맛있는 요리) 달성 위해 셰프는 계획, 실행, 조정의 과정 반복
(계획) 손님 주문 확인하고, 식자재 창고와 냉장고에 있는 재료 점검
(실행) 확보된 재료 정보 바탕으로 어떤 요리 만들 수 있는지, 어떻게 재료 조합할 수 있는지 고민
(조정) 재료 썰고, 양념 만들고, 고기 구워 실제 요리 만듦
✅ 이 과정에서 셰프는 재료가 부족하거나, 손님의 피드백이 들어오면 즉각 계획을 수정
✅ 또한, 이전에 만든 요리의 결과 참고해 다음 요리 준비하는 방식도 점진적으로 개선해 나감
✅ 이처럼 셰프가 수집된 정보 바탕으로 계획 세우고, 실행에 옮긴 뒤 필요한 조정을 거치는 과정은 셰프가 손님에게 맛있는 요리 대접(목표) 달성하기 위해 사용하는 인지 아키텍처로 볼 수 있음
✅ 셰프가 위의 과정을 반복해 목표를 달성하듯, 에이전트도 정보를 반복적으로 처리하고, 합리적인 결정을 내리며 이전 결과를 바탕으로 다음 행동 조정해 최종 목표에 도달할 수 있음
✅ 에이전트 인지 아키텍처의 핵심에는 오케스트레이션 레이어가 있으며, 이는 메모리, 상태, 추론, 계획 담당
✅ 오케스트레이션 레이어는 빠르게 진화하는 프롬프트 엔지니어링과 관련 프레임워크 사용해 추론과 계획을 가이드해 에이전트가 환경에 효과적으로 상호 작용하고 작업 완료하도록 지원
✅ 언어 모델에 대한 프롬프트 엔지니어링 프레임워크 및 작업 계획 분야 연구는 빠르게 발전하고 있으며, 다양한 접근 방식 제시
✅ 2024년 9월 해당 글 작성 시기 기준, 주요 프레임워크와 추론 기법은 다음과 같음
ReAct
언어 모델이 사용자 질문에 대해 논리적으로 사고하고 적절한 행동 수행할 수 있도록 유도하는 프롬프트 엔지니어링 프레임워크맥락 내 예시 유무에 관계없이 적용할 수 있으며, SOTA보다 우수한 성능 보이며 LLM의 신뢰성 향상시킴
Chain-of-Thought(CoT)
중간 단계 추론을 통해 모델의 논리적 사고 능력 향상시키는 하는 프롬프트 엔지니어링 프레임워크
CoT에는 다양한 하위 기법이 있으며, 자기 일관성(Self-Consistency), 능동적 프롬프트(Active-Prompt), 멀티모달 CoT(멀티모달 CoT) 등 각각의 기법이 특정 응용 분야에 따라 강점과 약점 지님
Tree-of-Thoughts(ToT)
탐색이나 전략적 예측이 필요한 작업에 적합한 프롬프트 엔지니어링 프레임워크
CoT 기법을 확장한 방식으로, 언어 모델이 다양한 사고 과정 탐색하면서 문제 해결을 위한 중간 단계 설정할 수 있도록 함
체계적이고 효과적인 문제 해결이 가능함
✅에이전트는 위에서 소개한 추론 기법(ReAct, CoT, ToT 등)을 활용하거나, 다양한 방법 조합해 사용자의 요청에 가장 적절한 다음 행동 결정할 수 있음
✅ 예를 들어, 특정 에이전트가 ReAct 프레임워크 사용해 올바른 행동과 도구 선택하도록 프로그래밍되었다고 가정
✅ 에이전트의 동작 과정은 다음과 같이 진행됨
1️⃣ 사용자가 에이전트에게 질의 전달(user query)
2️⃣ 에이전트는 ReAct 시퀀스 시작
3️⃣ 에이전트는 언어 모델에 프롬프트 전달하고, 다음 ReAct 단계와 이에 따른 출력 생성해 달라고 함. 아래는 결과몰
👉 a. 질문(Question): 사용자가 입력한 질의를 프롬프트와 함께 제공
👉 b. 생각(Thought): 언어 모델이 다음에 수행해야 할 작업
👉 c. 행동(Action): 모델이 다음에 취할 행동
- 이 단계에서 적절한 도구 선택할 수 있음
- 예를 들어, 가능한 행동 옵션이 항공권 검색(Flights), 일반 검색(Search), 코드 실행(Code), 선택 없음(None)이라면,
- Flights, Search, Code는 모델이 사용할 수 있는 특정 도구 의미
- None은 도구 선택하지 않고, 모델 자체적으로 해결한다는 의미
👉 d. 행동 입력(Action input): 모델이 선택한 도구에 제공할 입력값 설정(해당하는 경우)
👉 e. 관찰(Observation): 실행한 행동 및 입력값에 따른 결과 확인
- 이 과정(생각 -> 행동 -> 행동 입력 -> 관찰)은 필요에 따라 여러 번 반복(N회 사행 가능)
👉 f. 최종 답변(Final answer): 사용자의 원래 질문에 대한 최종 답변 생성
4️⃣ ReAct 루프가 종료되고, 에이전트가 최종 답변을 사용자에게 제공
✅ 그림 2에서 처럼, 유저의 입력 쿼리("Austin에서 Zurich까지 비행기 예약해 줘.")에 대해 모델, 도구, 에이전트 구성이 함께 작동해 사용자의 원래 질문에 대해 근거 있는 간결한 답변 제공
✅ 기본적으로 모델은 기존 학습된 지식을 기반으로 답변 생성할 수 있지만, 때로는 부정확한 정보 만들어내는 환각(hallucination) 현상 발생할 수도 있음
✅ 그러나, 이 경우, 모델은 단순히 추측하는 대신 "Flights" 도구 활용해 실시간 외부 정보 검색함
✅ 이렇게 수집된 추가 정보를 모델에 제공함으로써, 신뢰할 수 있는 데이터 기반으로 보다 정확한 답변 생성해 사용자에게 요약된 정보 전달함
✅ 다움 부분에서는 에이전트가 최신 데이터 활용하는 방식 살펴볼 예정
'LLM' 카테고리의 다른 글
[Anthropic] LLM의 사고 과정 따라가보기(Tracing the thoughts of a LLM) (2) | 2025.03.31 |
---|---|
[구글] 에이전트 백서(Agent Whitepaper) 2편 - 도구: 외부 세계와 연결 (2) | 2025.02.10 |
LLM 정확도 최적화 위한 멘탈 모델(작성중) (4) | 2024.09.12 |
딥러닝 GPU 추천(작성중) (5) | 2024.08.28 |
LLM 서비스하는데 필요한 GPU 메모리 계산하기 (8) | 2024.08.26 |