요즘IT
위시켓
최근 검색어
전체 삭제
최근 검색어가 없습니다.

이 글을 읽기 전에 이전 글 <10분 만에 RAG 이해하기>를 먼저 읽고 오면 이해에 큰 도움이 됩니다.

회원가입을 하면 원하는 문장을
저장할 수 있어요!

다음

회원가입을 하면
성장에 도움이 되는 콘텐츠를
스크랩할 수 있어요!

확인

개발

10분 만에 AI 에이전트 이해하기

년차,
어떤 스킬
,
어떤 직무
독자들이 봤을까요?
어떤 독자들이 봤는지 궁금하다면?
로그인

이 글을 읽기 전에 이전 글 <10분 만에 RAG 이해하기>를 먼저 읽고 오면 이해에 큰 도움이 됩니다.


0. 에이전트 정의

뭔가 자꾸 복잡해지는 느낌입니다. LLM, 쿼리, 프롬프트, RAG, 랭체인, 추론(Reasoning)과 같은, 2~3년 전까지만 해도 ‘이게 말이야, 당나귀야’ 하던 단어가 우리 생활에 들어오더니, 이젠 걷잡을 수 없이 하루가 다르게 기술이 달려 나가고 있습니다. 전설적인 미래학자 토플러는 “세상이 우리가 준비한 속도보다 더 빠르게 변화할 때 미래 충격이 시작된다”고 설명합니다. 이럴 때 우리는 대응하기보다는 반응하고, 너무 많은 새로운 것에 직면하면 종종 문을 닫습니다.

 

요즘 기술업계에서 가장 핫한 단어는 아마도 AI 에이전트일 겁니다. 2024년에 들어오더니 ‘AI 에이전트’라는 단어가 여기저기에서 들립니다. 지금까지 들었던 에이전트는 영화에서나 나오는 FBI/CIA 에이전트 정도가 다였는데 말입니다. 그렇다고 미리 쫄 필요는 없겠지요. 지금부터 여러분이 저와 딱 10분간만 함께 하면, 그 후에는 AI 에이전트에 대해 잘 이해할 수 있습니다.

 

많은 분이 아시는 것처럼 저는 프랑스 파리에 삽니다. 세상 어떤 도시보다도 관광객이 많이 오는 도시죠. 여행객들을 나이에 따라 보면, 요즘 세대는 여행을 즐기는 패턴도 다양하고 독립적인 경향이 강합니다. 좀 나이가 드신 분들은 이런 여행보다는 여행사가 준비한 패키지여행을 많이 하죠. 패키지여행을 하면 마음은 편할 수 있습니다. 내가 하지 않아도 숙소 예약, 식당 선택, 목적지로의 이동 등이 모두 알아서 진행되거든요. 이렇게 할 수 있는 것은 우리가 원하는 관광을 여행사가 다 알아서 해 주기 때문입니다.

 

왜 뜬금없이 여행사 이야기냐고요? 여행사를 영어로 뭐라고 하죠? 맞습니다. 바로 Travel Agency라고 합니다. 에이전트들이 모여서 활동하는 곳이 에이전시가 되겠죠. 

 

즉, 에이전트란 우리가 원하는 여러 가지 일을 대행하여 처리해 주는 사람이나 기구 혹은 시스템을 말합니다.

 

그림 1. 여행사는 에이전트로서 우리가 여행에 필요한 여러 가지 일을 대행합니다. <출처: 작가>

 

그럼 AI 에이전트란 무엇일까요? 또 무슨 일을 어떻게 할까요?

 

이에 대한 설명을 시작하려면 생성형 AI 분야에서 일어나고 있는 중요한 요구와 그에 따른 변화를 살펴봐야 합니다.


1. 리퀘스트의 진화

가장 중요한 변화는 ‘모놀리틱(monolithic) 모델’에서 ‘복합(Compound) AI 시스템’으로의 진화입니다.

 

챗GPT가 처음 세상에 등장했을 때는 이거 하나면 다 될 줄 알았습니다. 그런데 며칠 지나면서 바로 알게 되었죠. 모놀리틱 모델의 지식은 학습된 데이터뿐만 아니라, 언제 그 데이터를 학습했냐는 시기에 제한된다는 사실이죠. 이것은 결국 이 모델이 세상에 대해 무엇을 알고 있는지, 어떤 종류의 작업을 해결할 수 있는지에 제한을 가진다는 뜻입니다. 시스템 디자인상 모델이 뭉뚱그려진 한 덩어리다 보니 새로운 분야나 새로운 지식으로 업데이트하기도 어렵고 비용도 비싸게 들겠죠.

 

그림 2. 모놀리틱 모델에서 모듈화된 컴파운드 AI 시스템으로의 진화는 당연합니다. <출처: 작가>

 

여기까지는 위에서 안내한 <10분 만에 RAG 이해하기>를 읽은 분은 쉽게 이해했을 겁니다. 맞습니다. 그래서 RAG라는 것이 나온 것이기도 하지요.

 

오늘은 다른 예를 들어서 설명을 해 보겠습니다.

 

저는 곧 런던의 ‘해리포터 스튜디오’를 다녀올 예정입니다. 그래서 4일 정도 휴가를 다녀올 수는 있을지, 그리고 (비가 자주 오는 런던을 생각하여) 그 기간에 우산을 준비하는 것이 좋은지, 혹시 햇빛이 난다면 선블록을 얼마나 준비해야 하는지 질문하려고 합니다.

 

 

2. 모놀리틱 모델과 컴파운드 시스템

첫 번째 모놀리틱 덩어리 모델은 당연히 이 질문에 대답을 내놓을 수 없습니다. 

 

제가 누구인지 안다고 해도 제 휴가 일수는 회사 시스템에만 있을 뿐 그것이 LLM이 학습할 대상으로서의 데이터는 아니겠지요. 그런 프라이버시 데이터는 공개 대상이 아니므로 학습한 적이 없을 것입니다. 또, 정보에 액세스할 수 없기 때문에 이 답변이 부정확할 것이라는 것은 누구나 예상할 수 있습니다. 모놀리틱 LLM 모델은 이미 여러분이 챗GPT나 클로드(Claude)를 사용해 보아 알듯, 문서를 요약하는 데 도움이 되고, 이메일이나 다양한 보고서의 초안을 작성하는 정도에만 유용합니다.

 

따라서 이 문제를 해결하기 위한 시스템을 설계하려면 LLM 모델에 휴가 정보가 저장된 HR 시스템에 대한 액세스 권한을 부여해야 합니다. 그런 후에야 동일한 요청 쿼리(프롬프트)가 LLM에 입력되었을 때, 그림의 오른쪽과 같이 동작을 합니다.

 

그림 3. 모놀리틱 모델과 컴파운드 시스템의 컨트롤 로직 <출처: 작가>

 

차이점은 모델이 바로 답변을 생성을 하는 것이 아닌 검색 쿼리를 생성하고, 그 검색 쿼리로 제 휴가 정보가 저장된 HR 시스템에 접근할 수 있는 것입니다. 그 후에 데이터베이스에서 “15일의 휴가 일수 보유”라는 정보를 가져오면 다시 모델에 들어가서 “김영욱 님은 오늘 날짜 기준, 15일의 휴가 일수가 있습니다”라는 문장을 생성할 수 있습니다. 이렇게 컴파운드 AI 시스템 설계의 원칙을 적용하면 특정 문제를 더 잘 해결할 수 있음을 알 수 있습니다.

 

“시스템”이라는 용어를 좀 이해해 볼까요? 시스템이란 말은 여러 구성 요소가 있다는 것을 의미합니다. 따라서 시스템은 본질적으로 모듈화되어 있죠. 그 안에는 대규모 언어 모델, 이미지 생성형 모델뿐만 아니라 그 주위에 올 여러 구성 요소도 있습니다. 다른 도구와 결합할 수도 있습니다. 

 

따라서 문제 해결 방법에 적합한 시스템 접근 방식은 원하는 작업을 세분화하고 이를 해결할 수 있는 적절한 구성 요소를 선택하는 것입니다. 문제에 따라 레고처럼 조합해서 해결하는 방법이죠. 그리고 이것은 모놀리틱 모델을 튜닝하여 해결하는 것보다 더 쉽고 확장성 있게 문제를 본질적으로 해결할 수 있는 방법입니다.

 

이때, 가장 인기 있고 일반적으로 사용되는 컴파운드 AI 시스템 중 하나가 바로 검색 증강 생성(RAG)입니다.

 

 

3. 제어 로직 (Control Logic)

그림 3에서 처음 쿼리를 받아 답을 낼 때까지, 화살표 방향에 해당하는 경로(path)를 제어 로직(control logic)이라고 합니다.

 

제어 로직에는 두 가지가 있습니다. 여러분들 모두 이미 아시는 것들이에요.

 

그림 4. 컨트롤 로직의 차이 <출처: 작가>

 

왼쪽의 제어 로직은 지금까지 AI 기반이 아닌, 작성한 상황이나 이벤트가 생겼을 때 어떻게 처리할지 인간이 정한 룰 기반(rule-based) 프로그램을 모두 포함합니다. 이 로직의 장점은 프로그램을 수행하면 주저함 없이 실행한다는 점입니다. 시스템이 빠르게 프로그래밍이 된 대로 행동하고, 내가 준 지침에서 벗어나지 말라고 말하는 것입니다. 이벤트를 만나면 하란 대로 하고, 모르면 예외로 처리해 버리면 그만입니다. 그래서 ThinkFAST 방식이라고도 합니다.

 

컴파운드 AI 시스템의 로직을 제어하는 또 다른 방법은 대규모 언어 모델이 이를 담당하는 것입니다. 이것은 대규모 언어 모델의 추론 능력이 엄청나게 향상되었기 때문에 가능한 일입니다. 오늘의 주인공 ‘AI 에이전트’는 어디에 들어올까요? 대규모 언어 모델에 복잡한 문제를 입력(쿼리, 프롬프트)하면 이를 세분화하여 해결 방법을 제시하도록 유도할 수 있습니다. 즉, 천천히 생각하도록(ThinkSLOW) 시스템을 디자인하는 것입니다. 그러면 계획을 세우고, 계획의 각 부분을 실행하고, 어디에서 동작을 하지 않는지 확인하고, 다시 계획을 다시 조정해야 하는지 반복 확인합니다.

 

복잡한 질문을 던졌을 때 머릿속에 떠오르는 첫 번째 대답만 하면 답이 틀릴 가능성이 높을 것입니다. 그러나 문제를 세분화하고, 문제의 어떤 부분을 해결하기 위해 외부의 도움이 필요한지 파악한 다음, 시간을 들여 문제를 해결하면 정답 확률이 더 높아질 것이라는 이치와 같습니다.

 

여기까지는 전혀 어렵지 않죠? 거의 다 왔습니다.

 

 

4. AI 에이전트의 구성 요소

이제 AI 에이전트의 구성 요소를 세분화해 보겠습니다.

 

첫 번째 기능은 추론(Reasoning) 능력입니다.

 

이것은 LLM 모델을 문제 해결의 핵심에 두는 것입니다. AI 에이전트는 모델에게 계획을 세우고 그 과정에서 프로세스의 각 단계에 대해 추론하라는 메시지를 줍니다.

 

두 번째는 에이전트의 행동(Act) 능력입니다.

 

이것은 외부 프로그램을 통해 이루어집니다. 프로그램의 외부 요소를 툴이라고 하며, 모델은 주어진 질문에 대한 솔루션을 가장 잘 실행하기 위해 언제, 어떻게 툴을 호출할지 정의할 수 있습니다. 툴은 웹/데이터베이스 검색, 계산, 코드, API 등 기본적으로 모델에 액세스 권한을 부여하려는 모든 외부 프로그램이 될 수 있습니다.

 

세 번째는 메모리에 액세스(Access Memory)하는 능력입니다. 

 

여기서 ‘메모리’라는 용어는 LLM이 갖고 있는 내부 로그라고 이해하면 됩니다. 이런 커뮤니케이션 기록을 통해 훨씬 더 개인화된 경험을 제공할 수 있습니다.

 

그림 5. AI 에이전트의 구성 요소 <출처: 작가>

 

에이전트를 구성하는 방식에 대해 이야기해 볼까요?

 

가장 많이 쓰이는 방식 중 하나는 LLM 에이전트의 능력, 추론의 앞 두 글자 ‘Re’와 행동 능력 ‘Act’를 결합한 ReAct를 사용하는 것입니다. 이제 AI 에이전트를 구성하는 방식, ReAct와 메타에서 만든 프론트엔드용 자바스크립프 라이브러리, React가 헷갈리지 않죠? 

 

좀 더 구체적으로 설명해 보겠습니다.

 

ReAct 에이전트를 구성하면 어떻게 동작하는지 아래 그림을 한번 볼까요?

 

<출처: 작가>

 

우선 모델에 입력되는 사용자 쿼리가 있죠. 이어 가장 먼저 떠오르는 답변을 제공하지 말라는 지침이 주어집니다. 요구를 쪼개고 나누고 하며 천천히 작업을 계획(Reasoning)합니다. 그러고 난 후, 그에 맞는 외부 도구로 행동(Act)합니다. 이때 잘못된 답을 받거나 오류가 발생했을 수도 있습니다. 이를 관찰(Observe)합니다. 그 결과로 질문에 대한 답이 맞는지, 아니면 계획을 반복해서 다른 방식으로 해결해야 하는지 결정합니다. 최종 답을 얻을 때까지요.

 

자, 이젠 제 처음 질문으로 돌아가 볼까요?

 

저는 곧 런던의 ‘해리포터 스튜디오’를 다녀올 예정입니다. 그래서 4일 정도 휴가를 다녀올 수는 있을지, 그리고 (비가 자주 오는 런던을 생각하여) 그 기간에 우산을 준비하는 것이 좋은지, 혹시 햇빛이 난다면 선블록을 얼마나 준비해야 하는지 질문하려고 합니다.

 

이것은 사실 매우 복잡한 문제입니다. 계획해야 할 것이 많습니다.

 

제일 먼저 해야 할 일은 남은 휴가 일수가 얼마나 될지 알아내는 것입니다. 사내의 HR 시스템에서 가져올 수도 있지만, 메모리에서 검색할 수 있는 정보일 수도 있습니다. 전에도 이 질문을 했으니까요.

 

두 번째로는 런던의 날씨 정보를 확인해야 합니다. 런던의 이번 주 일기 예보를 살펴보고 예상 평균 일조 시간이 얼마인지 알아볼 수 있을 것입니다.

 

세 번째는 공중 보건 웹사이트를 방문하여 햇볕에 노출되는 시간당 자외선 차단제 권장량을 알아보는 것입니다. 그리고 계산으로 머무는 4일간을 위해 얼마나 많은 자외선 차단제를 가져가야 하는지 확인해야 합니다.

 

그런데 사실 이것뿐이 아니죠. 해리포터 스튜디오까지는 어떻게 가는지, 지금 현재 티켓팅은 가능한지, 몇 시에 출발할 수 있는지, 이런 꼬리에 꼬리를 무는 질문이 가능할 겁니다. 공식 웹사이트와 여러 가지 교통을 알아보기도 해야 할 테구요.

 

꽤 복잡하죠. 하지만 이런 컴파운드 시스템이 강력한 점은, 문제를 해결하기 위한 모듈화가 되어 있기에 탐색할 수 있는 경로가 무한대로 확장 가능하다는 것입니다. 그래서 훨씬 더 복잡한 문제도 해결할 수 있을 겁니다.


마치며

이렇게 컴파운드 AI 시스템은 앞으로도 계속 발전하며 더 똑똑한 에이전트 기술의 밑거름이 될 것입니다. 하지만 이런 컴파운드 AI 시스템이 자율성은 좋을지언정 항상 효율적인 것은 아닙니다. 인간이 지금까지 만들어온 프로그램화된 룰 기반 방식이 오히려 잘 정의된 문제해결 방법에선 훨씬 효율적일 것입니다.

 

특히 생산성이 가장 중요한 지표인 제조 공정에서는 프로그래밍 방식을 사용하는 것이 훨씬 효율적입니다. 여기에 컴파운드 AI 시스템을 적용하면 불필요한 반복이 발생할 수 있겠지요.

 

그에 반해 소스코드 문제를 독립적으로 해결하고, 세계 각국의 다양한 고객 요청을 처리하는 복잡한 작업을 수행해야 하는 경우라면, 시스템에서 모든 경로를 일일이 구성하기엔 너무 많은 노력이 필요합니다. 그 때문에 이 부분에서는 AI 에이전트 접근 방식이 도움이 될 수 있습니다.

 

아직은 AI 에이전트의 초기 단계입니다. 하지만 정확한 문제 정의를 시작으로 워크프로세스 시스템의 모듈 구성 디자인을 잘 결합한 조직이 좋은 결과를 얻는 것은 당연하겠죠?

 

이 글이 여러분에게 도움이 되었기를 바랍니다. 늘 새로운 지식과 기술에 시간과 열정을 쏟는 여러분들을 응원합니다!

 

<원문>

10분 만에 AI 에이전트(agent) 이해하기
 

요즘IT의 모든 콘텐츠는 저작권법의 보호를 받는 바, 무단 전재와 복사, 배포 등을 금합니다.

좋아요

댓글

공유

공유

댓글 0
작가
65
명 알림 받는 중

작가 홈

작가
65
명 알림 받는 중
대학에서 컴퓨터 공학을 전공한 덕택에, 한국내에서 일본 후지쯔 Fujitsu 컴퓨터 소프트웨어 회사에 근무하면서 첨단 기술을 다룰 수 있는 행운을 가졌으며, 그 덕에 프랑스 파리로 이주한지 23년째로 현재 SAP 에서 프로덕트/프로그램 매니저로 즐겁고 행복하게 하루 하루를 지냅니다. 바스키아, 모네, 세잔을 좋아하고 고호가 살던 마을 산책하기를 취미로 합니다.

좋아요

댓글

스크랩

공유

공유

요즘IT가 PICK한 뉴스레터를 매주 목요일에 만나보세요

요즘IT가 PICK한 뉴스레터를
매주 목요일에 만나보세요

뉴스레터를 구독하려면 동의가 필요합니다.
https://auth.wishket.com/login