[번역] 구글: 에이전트(Agents) 백서
서론
인간은 복잡한 패턴을 인식하는 데 뛰어난 능력을 보입니다. 그러나 결론을 내리기 전에 책이나 인터넷 검색, 계산기 같은 툴들을 활용해 기존 지식을 보완하곤 합니다. 생성형 AI 모델 역시 인간처럼 실시간 정보에 접근하거나 실제 행동을 제안하기 위해 툴 사용법을 학습할 수 있습니다.
예를 들어, 모델이 데이터베이스 검색 툴을 활용해 고객의 구매 기록 같은 구체적인 정보에 접근함으로써 맞춤형 상품을 추천할 수 있습니다.
또한 사용자의 요청에 따라 동료에게 이메일을 보내거나 금융 거래를 처리하기 위해 다양한 API를 호출할 수도 있습니다. 이를 위해서는 모델이 외부 툴에 대한 접근 권한을 가질 뿐만 아니라, 모든 작업을 자율적으로 계획하고 실행할 수 있는 능력이 필요합니다.
이처럼 생성형 AI 모델의 추론, 논리, 외부 정보 접근이 결합된 개념이 바로 에이전트입니다. 즉, 생성형 AI 모델의 독립적 기능을 넘어서는 프로그램을 의미하죠. 이 백서에서는 이러한 측면들을 더 자세히 살펴보고자 합니다.
에이전트란 무엇인가?
가장 기본적인 의미에서 생성형 AI 에이전트는 주변 환경을 관찰하고 가용한 툴들을 활용해 목표를 달성하고자 하는 응용 프로그램이라 할 수 있습니다. 에이전트는 자율성을 지니며, 특히 달성해야 할 적절한 목표나 목적이 주어졌을 때 인간의 개입 없이도 독자적으로 행동할 수 있습니다. 또한 에이전트는 목표 달성을 위해 능동적인 접근 방식을 취할 수 있습니다.
인간의 구체적인 지시가 없더라도, 에이전트는 궁극적인 목표 달성을 위해 다음 단계를 스스로 판단할 수 있습니다. AI 분야에서 에이전트의 개념은 매우 포괄적이고 강력하지만, 이 백서는 발간 시점에 생성형 AI 모델이 구현할 수 있는 특정 유형의 에이전트들에 초점을 맞추고 있습니다.
에이전트의 작동 방식을 이해하기 위해, 먼저 에이전트의 행동, 동작, 의사결정을 이끄는 핵심 구성요소들을 소개하겠습니다. 이러한 구성요소들의 조합은 인지 아키텍처로 설명될 수 있으며, 이 구성요소들을 다양하게 조합하여 여러 아키텍처를 구현할 수 있습니다. 핵심 기능에 초점을 맞추면, 그림 1과 같이 에이전트의 인지 아키텍처에는 세 가지 필수 구성요소가 있습니다.
모델
에이전트 관점에서 모델이란 에이전트 프로세스의 중심 의사결정자 역할을 하는 언어 모델(LM)을 의미합니다. 에이전트가 사용하는 모델은 크기와 관계없이(대형/소형) 하나 또는 여러 개의 LM이 될 수 있으며, 리액트(ReAct), 체인오브솟(Chain-of-Thought), 트리오브솟(Tree-of-Thoughts)과 같은 지시 기반 추론 및 논리 프레임워크를 따를 수 있습니다. 모델은 특정 에이전트 아키텍처의 필요에 따라 범용, 멀티모달 또는 미세 조정된 형태를 취할 수 있습니다.
실제로 최상의 결과를 얻기 위해서는 원하는 최종 애플리케이션에 가장 적합하고, 가능하다면 인지 아키텍처에서 사용하고자 하는 툴들과 관련된 데이터로 학습된 모델을 활용해야 합니다.
일반적으로 모델은 에이전트의 특정 구성(즉, 툴 선택, 오케스트레이션/추론 설정)으로 학습되지 않는다는 점을 유의해야 합니다. 다만 다양한 맥락에서 특정 툴이나 추론 단계를 사용하는 에이전트의 예시를 제공함으로써, 에이전트의 작업 수행 능력을 향상시킬 수 있습니다.
툴
파운데이션 모델은 텍스트와 이미지 생성에서 놀라운 성능을 보여주지만, 외부 세계와 상호작용하는 능력은 제한적입니다. 툴은 이러한 한계를 극복하여 에이전트가 외부 데이터 및 서비스와 상호작용할 수 있게 해주며, 파운데이션 모델만으로는 불가능한 더 폭넓은 행동을 가능하게 합니다...
도구는 다양한 형태와 복잡성을 가질 수 있지만, 일반적으로 GET, POST, PATCH, DELETE와 같은 일반적인 웹 API 메소드와 유사합니다.
예를 들어, 툴을 통해 데이터베이스의 고객 정보를 업데이트하거나 에이전트의 여행 추천에 영향을 미치는 날씨 데이터를 가져올 수 있습니다. 툴을 활용하면 에이전트가 실제 세계의 정보에 접근하고 처리할 수 있어, 검색 증강 생성(RAG)과 같은 더 전문화된 시스템을 지원할 수 있습니다.
이는 기초 모델 자체의 능력을 크게 확장시킵니다. 툴에 대해서는 뒤에서 더 자세히 설명하겠지만, 가장 중요한 점은 툴이 에이전트의 내부 능력과 외부 세계를 연결하여 더 넓은 가능성을 제공한다는 것입니다.
오케스트레이션 레이어
오케스트레이션 레이어는 에이전트가 정보를 입력받고, 내부적으로 추론을 수행하며, 이를 바탕으로 다음 행동이나 결정을 내리는 순환적 프로세스를 의미합니다. 일반적으로 이 순환은 에이전트가 목표를 달성하거나 중단점에 도달할 때까지 계속됩니다. 오케스트레이션 레이어의 복잡성은 에이전트와 수행하는 작업에 따라 크게 달라질 수 있습니다.
일부 순환은 단순한 결정 규칙에 따른 계산일 수 있고, 또 다른 것들은 연쇄 논리를 포함하거나, 추가적인 머신러닝 알고리즘을 활용하거나, 다른 확률적 추론 기법을 구현할 수 있습니다. 인지 아키텍처 섹션에서 에이전트 오케스트레이션 레이어의 구체적인 구현 방법에 대해 더 자세히 다룰 예정입니다.
에이전트 vs. 모델
아래 테이블은 에이전트와 모델의 차이를 더 명확히 이해하기 위한 비교표입니다: