요즘 Agent(이하 에이전트)에 관심이 많은데 우연히 Google의 Agent라는 문서를 뒤늦게 접하게 되어 리뷰를 남겨본다.
- 문서 링크: https://www.kaggle.com/whitepaper-agents
단순히 질문에 답하는 AI가 아니라, 외부 데이터를 가져와서 스스로 행동하고 목표를 달성한다는 에이전트의 개념과 용어를 정립한 문서이다.
에이전트란 무엇일까?
에이전트는 그냥 단순한 챗봇이 아니라, 자율적으로 판단하고 행동하는 프로그램이다.
여기서 중요한 점은 이게 단순히 사용자 질문에 답하는 걸 넘어 외부 도구를 사용해서 실시간 데이터를 가져온다는 점이다.
예를 들어, "내일 서울 날씨 알려줘"라는 쿼리에 에이전트는 날씨 API를 호출해서 실시간으로 최신 정보를 가져와 답변을 함.
에이전트의 주요 구성 요소
본 문서에서 설명한 에이전트의 구성 요소는 세 가지로 나뉜다.
- 모델(Model): 추론과 판단을 수행하는 AI의 두뇌
- 도구(Tools): 에이전트가 외부 시스템과 상호작용할 때 사용하는 API 또는 데이터베이스
- 오케스트레이션 계층(Orchestration Layer): 정보를 수집하고 다음 행동을 결정하는 프로세스
이 중에서 가장 강조된 것은 역시 도구(Tools)이다.
모델 자체가 아무리 똑똑해도, 외부 데이터를 가져올 수 있는 도구가 없다면 에이전트로서의 기능이 제한되기 때문.
에이전트와 일반 모델의 차이점
다음은 에이전트와 일반 모델의 주요 차이점을 정리한 표다.
일반 모델 | 에이전트 |
훈련 데이터에 의존 | 실시간 데이터와 외부 도구 활용 |
단일 예측 수행 | 다단계 추론 및 작업 수행 |
세션 관리 기능 부족 | 사용자와의 대화 기록을 바탕으로 문맥 이해 |
외부 도구 사용 불가 | 다양한 도구와의 통합 가능 |
일반 모델은 단순히 질문에 대한 답변을 생성하는 데 그치지만, 에이전트는 외부 데이터베이스에 접근해 최신 정보를 기반으로 답변을 생성할 수 있다.
에이전트가 사용하는 도구
에이전트가 도구를 활용하는 방법을 아래 세 가지로 제안하였다.
- 확장 기능(Extensions): API를 통해 외부 데이터를 가져오는 기능
- 함수 호출(Functions): 클라이언트 측에서 함수를 호출하고 결과를 처리하는 방식
- 데이터 스토어(Data Stores): 구조화된 데이터나 비구조화된 데이터를 저장하고 검색할 수 있는 저장소
글에서는 모든 것을 에이전트에게 맡기는 확장 기능 보다는 클라이언트가 어느 정도 제어권을 가지고 있는 함수 호출을 추천하는 느낌이었다.
더불어 데이터 스토어의 효율성에 대해 많은 부분을 할애하였다.
프롬프트 엔지니어링: 에이전트의 추론 방식
에이전트가 더 복잡한 문제를 해결하기 위해 사용하는 프롬프트 엔지니어링(Prompt Engineering) 도 제안되었다.
- ReAct (Reasoning + Action): 에이전트가 사용자 질문에 대해 논리적으로 사고하고 행동을 실행하도록 돕는 방식
- Chain-of-Thought (CoT): 문제를 여러 단계로 나누어 사고하는 방식
- Tree-of-Thought (ToT): 다양한 사고 과정을 탐색하며 최적의 해결책을 찾는 방식
정리
용어가 정립되어 있는 문서라 아주 편하게, 만족스럽게 볼 수 있었다.
그 밖에 문서 내에 자세한 use case와 더불어 샘플 코드까지 제공한 것이 인상적이었다.
외부 데이터를 활용해서 더 복잡한 작업을 수행할 수 있는 에이전트의 잠재력을 느낄 수 있었다.
개인적으로는 Retrieval Augmented Generation (RAG)이 많이 언급되어 한 번 자세히 공부해봐야겠다는 필요성을 느꼈다.
여러 에이전트들이 상호작용을 하는 시스템들도 리뷰를 해보겠다.
'인공지능 공부' 카테고리의 다른 글
내 컴퓨터에서 Deep research 무료로 돌리기 (0) | 2025.02.14 |
---|---|
AI Engineering 책의 저자와의 질답 요약 (2) | 2025.02.11 |
구글의 에이전트(Agent) 백서 리뷰 (0) | 2025.01.27 |
LLM에서의 data signature (데이터 서명) (0) | 2025.01.06 |