구글이 2024년 9월에 에이전트(Agent)에 대한 개념을 정립하기 위해 발표한 백서를 요약 정리해보고자 한다.
https://www.kaggle.com/whitepaper-agents
사람이 어떤 일을 할 때에는 다양한 도구를 사용하여 사전 정보를 얻고 그것을 기반으로 판단한다.
생성형 AI에도 이런 접근법을 제공할 수 있다.
요청된 업무를 수행하기 위해 정보에 접근하는 것 뿐 아니라 사용자의 요구에 맞는 방식으로 정보를 추출할 수 있어야 한다.
백서 전반적으로 언급되는 요소는 다음 세 가지이다.
- 정보를 얻어야 함, 이를 위해 외부 도구를 사용할 수 있음
- 얻은 정보를 바탕으로 추론을 하고 계획을 함
- 일을 계획한대로 실행함
기존 Generative AI model와의 차별점은 판단, 평가 외에 실제 수행의 개념이 들어간다는 것이다.
에이전트는 환경을 관찰하고 도구를 이용해 환경과 상호작용을 하며 목표를 이루는 자동화 어플리케이션으로 정의된다.
이 목표를 이루기 위해 에이전트는 사람의 개입 없이 자동으로, 주도적으로 행동할 수 있다.
이는 사람이 제안한 목표가 없는 경우 에이전트가 스스로 목표를 이루기 위한 행동들을 결정할 수 있다는 의미이다.
아래 그림은 에이전트를 구성하는 컴포넌트들이다.

모델
에이전트의 범위에서 '모델'은 의사 결정을 내리는 LLM 모델을 의미한다.
어떤 종류의 LLM 모델도 활용될 수 있다.
여기에서 추론 및 논리 프레임웍(reasoning and logic framework)의 개념이 나오는데, ReAct, Chain-of-Thought, Tree-of-Thought가 그것이다.
이상적으로 최적의 결과를 위해선 LLM 모델은 활용될 도구에서 사용할 타깃 분야의 데이터로 학습되어야 한다.
하지만 일반적으로는 도구의 종류, 도구의 역할과 사용 순서, 어떤 추론 프레임웍을 사용하는지와 관계없이 학습된다.
나중에 에이전트가 보여줘야 하는 결과에 대한 예시를 제공함으로써 모델을 더 정교하게 학습시킬 수 있다.
도구
모델이 외부 세계와 상호작용하기 위해 REST API, 센서 스트림 등 다양한 도구들이 존재한다.
이런 도구를 통해 모델은 최신의, 실세계의 정보를 활용할 수 있게 된다.
여기에 Retrieval augmented generation (RAG)와 같은 특화 시스템이 제공되면 모델은 기초 모델을 훨씬 뛰어넘는 성능을 보인다.
오케스트레이션
에이전트가 어떻게 정보를 받고, 판단을 내리고, 판단을 기반으로 다음 행동을 결정하는 주기적 프로세스를 오케스트레이션 계층에서 다룬다.
이 주기는 에이전트가 목표에 도달하거나 멈춰야 할 상황이 오면 종료된다.
앞에서 언급한 에이전트가 정보 획득, 추론, 행동을 구현하는 방법으로 인지 프레임웍(cognitive framework)이 언급된다.
인지프레임웍은 정보 처리, 판단, 이전 결과를 리뷰하여 다음 행동 수정을 반복하며 목표에 도달하는 방법론이다.
ReAct, Chain-of-Thought (CoT), 및 Tree-of-Thoughts (ToT)가 있으나 백서에서는 주로 ReAct에 대해서만 언급이 되어있다.
개념 | 작동 원리 | 장점 | |
ReAct (Reasoning + Acting) | 언어 모델이 단순히 답변을 생성하는 데서 벗어나 추론 과정을 통해 문제를 이해하고, 실질적인 행동을 취할 수 있는 방법을 제공 | Thought Process Strategy: 언어 모델이 사용자 입력을 받은 뒤, 스스로 생각의 과정을 단계별로 기록(추론)하면서 다음에 수행해야 할 행동을 결정. In-context Learning: 맥락 예제 없이도 동작 가능하며, 필요하면 in-context examples를 활용해 더 나은 성능을 발휘. Action: 추론이 끝나면, 결과적으로 행동(예: 추가 정보 요청, 계산, API 호출 등)을 취함. |
Human Interoperability: ReAct는 모델의 행동이 인간의 사고방식을 모방하도록 설계되어 사용자 신뢰성 향상. Performance: 여러 최신 기술(SOTA) 기반 모델들보다 우수한 성능을 보이며, 특히 문제 해결 과정에서 명확성을 제공. |
Chain-of-Thought (CoT) | 언어 모델이 중간 단계의 추론 과정을 명시적으로 설명하며 답변을 생성하도록 설계된 프레임웍 | Intermediate Steps: 단계를 세분화하여 문제를 논리적으로 풀어나감. Self-consistency: 다양한 추론 경로를 생성한 뒤 가장 일관성 있는 결과를 선택. Active Prompting: 문제를 보다 구체화하여, 모델의 추론 방향을 명확히 설정. Multimodal CoT: 텍스트뿐만 아니라 이미지, 숫자 데이터 등 다양한 입력을 함께 처리. |
Reasoning 강화: 단순히 정답을 예측하는 대신, 왜 그 결과가 도출되었는지 논리적 설명을 제공. |
Tree-of-Thoughts (ToT) | CoT의 확장판으로, 단일 추론 경로가 아닌 여러 경로를 탐색할 수 있도록 설계된 프레임웍 | Exploration and Lookahead: 각 단계에서 다양한 옵션을 탐색한 뒤, 다음 단계에서 어떤 경로가 최선인지 전략적으로 선택. Generalized CoT: CoT에서 단일 체인 형태로 이어지는 추론 과정을 트리 구조로 확장. Intermediate Steps: 여러 가지 중간 단계를 평가하고 최적의 결과를 선택. |
복잡한 문제 해결: 전략적 사고와 탐색이 필요한 문제(예: 게임, 시뮬레이션, 계획 수립)에 적합. 결과 최적화: 모델이 탐색 공간에서 최적의 답변을 찾도록 지원. |

그림 2는 ReAct의 예제인데, 모델이 Flights tool을 사용함으로써 신뢰도가 높은 실제 데이터를 기반으로 답변을 내리는 과정을 볼 수 있다.
도구를 활용하는 방법
확장(extensions), 함수 호출(function calling), 데이터 스토어(data store) 총 세 가지가 언급되었다.
앞의 두 가지는 외부 API를 호출하는 방식에 중점을 뒀다면 후자는 다양한 데이터의 형식에 대응하기 위한 전략에 가깝다.
확장과 함수 호출은 에이전트와 외부 API 호출 사이에 일종의 통역가로써 사용자의 서술형 문장을 API 스펙에 맞는 함수 호출 형태로 번역하여 호출하는 기능을 공통적으로 갖고 있다.
하지만 확장은 에이전트가 통제권을 갖고 있고 함수 호출은 클라이언트, 또는 사용자가 실행 중인 어플리케이션이 통제권을 갖고 있다.

당연히 보안, 인증, API 호출 순서 제어, API 호출을 위한 전처리 (예: 필터링 설정), API 실행 제외함으로써 에이전트 개발 용이로 인해 함수 호출을 훨씬 더 좋은 방법으로 소개한다.
데이터 스토어는 학습 데이터와는 달리 지속적으로 변화하는 형태의 실세계 데이터를 상대해야하는 에이전트를 위해 제공되는 개념으로, 일반적으로 벡터 데이터베이스로써 구현이 된다.
Retrieval Augmented Generation(RAG)는 데이터 스토어를 활용함으로써 대규모 언어 모델(LLM)이 학습 데이터에 포함시키지 못한 정보를 다룰 수 있도록 하는 프레임웍이다.
이를 통해 최신 데이터를 저장하고 검색할 수 있어, 에이전트가 시의성 있는 정보를 제공할 수 있다.
데이터 스토어에서 검색된 정보를 에이전트의 입력 프롬프트로 제공하여 모델이 도메인에 맞게 더 구체적으고 관련성 높은 답변을 생성하도록 한다.

위 그림을 예시를 들어 따라가보자.
1. 사용자가 에이전트에 질문이나 요청을 입력: “What are the key features of Maritime Service Registry (MSR)?”
2. 입력된 사용자 쿼리를 고차원 벡터로 변환(embedding): [-0.12, 0.34, -0.56, ....]과 같은 벡터
3. 벡터 데이터베이스에서 검색 - 검색 결과 예시:
[
{
“content”: “The Maritime Service Registry (MSR) is a platform where maritime stakeholders can register and discover services.“,
“source”: “service_overview.txt”
},
{
“content”: “MSR allows users to search for services using parameters like provider, service type, and geographical coverage.“,
“source”: “search_guide.txt”
}
]
4. 에이전트가 결과와 쿼리 조합 처리 - 쿼리와 검색된 데이터를 프롬프트에 조합하여 모델이 맥락을 이해하고 응답을 생성하도록 유도:
User query: What are the key features of Maritime Service Registry (MSR)?
Retrieved context:
1. The Maritime Service Registry (MSR) is a platform where maritime stakeholders can register and discover services.
2. MSR allows users to search for services using parameters like provider, service type, and geographical coverage.
5. 최종 응답 생성:
“The Maritime Service Registry (MSR) is a platform for maritime stakeholders to register and discover services. Key features include the ability to search for services using criteria such as provider, service type, and geographical coverage.”
백서는 구글 자사 서비스를 이용한 에이전트의 구현 예제들로 마무리된다.
이 글을 보면서 조금 무서웠던 부분은 아무래도 사람의 개입 없이 에이전트가 스스로 중간 단계를 계획하고 실행할 수 있다는 점이었다.
사람의 개입이 에이전트 성능 하락의 가장 명확한 이유이니 이를 막을 명분도 없다.
'인공지능 공부' 카테고리의 다른 글
내 컴퓨터에서 Deep research 무료로 돌리기 (0) | 2025.02.14 |
---|---|
AI Engineering 책의 저자와의 질답 요약 (2) | 2025.02.11 |
Google Agent white paper 리뷰 (1) | 2025.01.06 |
LLM에서의 data signature (데이터 서명) (0) | 2025.01.06 |