구글 에이전트 백서 정리
1. 에이전트(Agent)의 정의
핵심 개념: 에이전트는 목표를 달성하기 위해 외부 세계를 관찰하고 도구를 활용해 행동하는 자율적인 애플리케이션.
특징:
독립적인 판단과 행동 가능.
논리적 추론과 외부 정보 접근을 결합하여 실행.
2. 에이전트의 구성 요소
모델:
언어 모델(LM)을 중심으로 의사결정을 담당.
ReAct, Chain-of-Thought(CoT), Tree-of-Thoughts(ToT) 등의 논리 프레임워크를 사용.
도구:
API, 데이터 저장소 등 외부 세계와 상호작용을 가능하게 함.
예: Google Flights API를 통한 실시간 항공 정보 검색.
오케스트레이션 레이어:
정보 입력 → 내부 추론 → 실행 → 반복 과정 (agent loop)을 조율.
에이전트의 목표 달성을 위한 지속적 작업을 지원.
3. 에이전트와 모델의 차이
모델 | 에이전트 |
---|---|
훈련 데이터에 국한된 지식 | 외부 도구를 통해 지식 확장 |
단일 추론/예측 수행 | 다회차 추론 및 지속적 맥락 관리 가능 |
도구와 로직 계층 없음 | 도구와 고유 논리 계층 포함 |
4. 도구의 유형과 활용
확장(Extensions):
에이전트와 API 간의 표준화된 인터페이스 제공.
예: Google Flights API를 활용한 항공편 예약.
함수(Functions):
클라이언트 측에서 API 호출을 처리하도록 설계된 코드 블록.
에이전트는 함수 이름과 매개변수만 생성.
데이터 저장소(Data Stores):
벡터 데이터베이스를 통해 동적이고 최신 데이터를 제공.
Retrieval Augmented Generation(RAG) 구조 활용.
5. 추론 프레임워크
ReAct: 사용자 쿼리에 대한 추론과 행동을 결합.
Chain-of-Thought(CoT): 중간 단계를 통해 논리적 추론 지원.
Tree-of-Thoughts(ToT): 여러 경로를 탐색하며 문제 해결.
6. 실제 활용 예시
LangChain 기반 구현:
도구(예: SerpAPI, Google Places API)와 결합하여 다단계 쿼리를 처리.
Python 코드로 간단히 구현 가능.
7. Vertex AI와의 통합
Google의 Vertex AI 플랫폼을 사용하면 에이전트를 더 쉽게 배포 및 유지관리 가능.
주요 기능:
목표 및 작업 정의.
평가, 디버깅, 성능 개선 도구 제공.
8. 미래 전망
강화 학습과 에이전트 체이닝:
여러 전문 에이전트를 결합하여 더 복잡한 문제를 해결.
개발 전략:
반복적 실험과 세부 조정 필요.