비즈니스

뤼튼이 바라보는 AI Agent

Writer : 뤼튼 Machine Learning Engineer 케빈

2024. 03. 12 (화) 16:26 | 최종 업데이트 2024. 03. 19 (화) 11:31

Introduction


“요즘 운동화 하나 살까 말까 고민중인데, 잘 나가는 운동화 추천해 줘!”

다들 한 번쯤 이런 생각 해본 적 있으신가요?
직접 검색하고 찾는 시간을 들이지 않더라도 인공지능이 알아서 요즘 잘 나가는 운동화를 추천해 주는 그런 상상 말이죠.

ChatGPT와 GPT-4의 등장으로 사용자의 요청 사항을 이해하는 것과 추천된 상품을 기반으로 답변을 생성하는 것은 그렇게 어려운 일이 아니게 되었고, 상품 검색 API 또는 검색 엔진과의 결합을 통해 이 문제를 해결할 수 있습니다.

하지만 정말 를 잘 알고, 를 잘 이해하는 상황 속에서 추천할 수 있을까요?

사실 위 질문은 최근 저의 가장 큰 고민 중 하나입니다. 유튜브 알고리즘을 통해 접했던 운동화도 눈에 아른거리고, 검색했다가 캡쳐해 둔 운동화도 눈에 아른거립니다.
이러한 일련의 고민을 인공지능이 캐치해 실제 구매까지 이뤄지도록 할 수 있을까요? 

뤼튼은 그러한 AI Agent를 만들어보고자 합니다.
뤼튼을 만드는 뤼튼테크놀로지스는 ‘더 나은 삶을 향한 AGI 기술’이라는 비전을 바탕으로 AI를 더 잘 활용하기 위한 여러 시도 및 사내 AI 기술 내재화에 힘쓰고 있습니다. 우리가 생각하는 AI Agent를 만들기 위한 여러 가지 시도를 해왔고, 프로덕션까지 적용되는 여러 사이클을 돌아왔습니다.

오늘은 뤼튼에서 바라보고 있는 Agent의 모습은 어떤 모습인지와 지금까지 뤼튼 제품 내에서 시도하였던 AI Agent의 흔적들을 하나씩 소개해 드리고자 합니다.

AI Autonomous Agent


Autonomous Agent는 자율적으로 행동할 수 있는 시스템을 말합니다. 구체적으로, 주어진 환경 내에서 자율적으로 감지하고 행동하며, 이를 통해 설계된 목표 또는 작업을 실행하는 시스템을 일컫습니다.

GPT-3의 등장 이후, 언어 모델은 단순히 텍스트를 생성하는 모델로 바라보는 것은 일편적인 시각이 되었습니다.

수행하고자 하는 작업에 대한 설명과 몇 개의 예제만으로도 이를 수행할 수 있는 능력(In-context learning)이 있다는 것이 발견되었고, 이는 ChatGPT와 GPT-4로 발전하면서 몇 개의 예제도 필요 없게 되었습니다.

그뿐만 아니라, 스스로 생각하거나 추론하는 방식으로 기존에 풀기 어려웠던 문제도 풀 수 있게 되면서 LLM(Large Language Model)은 현재 Autonomous Agent의 핵심 컨트롤러로 사용되고 있습니다.

AI Autonomous Agent의 구조는 다음과 같으며,  대표적인 구성요소 3가지를 살펴보겠습니다.

LLM 기반의 Autonomous Agent의 시스템 구조 (출처: lilianweng.github.io)

① Planning = 주어진 task를 수행하기 위하여 계획을 세우는 과정

② Memory = task 수행에 필요한 정보를 불러오거나 후속 task 수행에 필요할 정보를 저장하는 과정

③ Tool Use = task를 수행하기 위해 필요한 툴을 결정하는 과정

Planning은 LLM이 스스로 생각하거나 추론하는 능력을 가장 잘 활용하고 있는 단계입니다. 크게 task를 작게 쪼개는 subgoal decomposition 기반의 방식과 세운 계획에 대해 스스로 검증하고 수정하는 reflection and refinement 기반의 방식이 있습니다.

Memory는 LLM에 직접 전달되는 context와 직결된 In-context learning 관점에서의 short-term memory와 외부 데이터와의 연결을 도와주는 벡터 스토어 기반의 long-term memory가 존재합니다. long-term memory의 경우, 어떻게 정보를 잘 가져올 것인지에 대한 retrieval 방식 역시 중요한 주제로 다뤄지고 있습니다.

마지막으로 Tool Use에서는 기존 LLM의 한계점을 극복할 수 있는 검색과 같은 툴이 존재하기도 하고, 코드를 실행하거나 파일에 작성하는 등 직접 Action까지 이루어지는 툴이 있기도 합니다.

각 구성 요소에 대한 이해와 어떻게 구성 요소의 문제를 해결해 나갈 것인지에 따라 Autonomous Agent의 모습은 달라질 것입니다.

뤼튼의 AI Agent


뤼튼에서는 AI Agent에 다가가기 위해 수많은 툴을 맥락에 맞추어 연결해 주는 것에 우선 집중하고 있습니다. 그리고 각각의 툴을 자유롭게 사용하면서 생기는 데이터를 바탕으로 사용자마다의 선호도와 맞는 경험을 제공해주고자 합니다.

다양한 툴들을 적절하게 연결해주기 위해서는 수많은 비즈니스적/기술적 챌린지를 해결해야 했는데요. 지금부터 프로덕트별로 풀어나갔던 챌린지에 관해 이야기해 보고자 합니다.


뤼튼 플러그인(확장앱)
뤼튼 앱에는 총 13개 제휴사의 확장앱(이하 플러그인)이 탑재되어 있습니다. (2023년 12월 기준)

쇼핑, 정보 검색 등을 비롯한 수많은 usecase에 대하여 기존 제휴사들이 앱을 통해 제공하고 있던 기능들을 대화형 인터페이스를 통해 직간접적으로 사용할 수 있습니다.

뤼튼 확장앱

위 그림과 같이 뤼튼 플러그인은 기존 LLM의 대표적인 단점으로 지적되는 External Knowledge 부족의 문제를 해결하기 위한 시도로 다양한 앱의 연결을 통해 이루어졌습니다. 그와 동시에 AI Agent가 가져야 하는 Tool Use 측면에서도 실제 사용자에게 필요한 툴들을 뤼튼 내에 탑재하며 사용자들의 니즈에 맞는 답을 찾는 경험을 할 수 있었습니다. 

뤼튼의 플러그인은 계속해서 늘어나고 있습니다. 현재 사용자에게 제공하고 있는 13개의 플러그인은 실제 내부에선 훨씬 많은 외부 API가 조합되어 있는데요.  많은 외부 툴에 대한 정보를 LLM에 그대로 넘길 경우, Context Length 측면에서 경제적인 비용과 레이턴시에 대한 문제가 있으며 정확도 측면에서도 불리한 점이 있습니다.

실제로 2023년 4월 발표된 Gorilla: Large Language Model Connected with Massive APIs 논문에서는 retriever의 성능에 따라 외부 API를 호출해 답변을 생성하는 성능이 크게 달라지는 것을 확인할 수 있습니다.

이를 해결하기 위해 뤼튼 AI Team에서는 사용자와의 대화 속에서 맥락을 파악하고 적합한 툴을 선택할 수 있도록 검색 엔진, 임베딩 모델, LLM API로 연결되는 AI 파이프라인을 구축하여 retriever의 성능을 고도화할 수 있도록 하였습니다.

플러그인에서 마주한 또다른 챌린지는 뤼튼이 실제 사용하고 있는 API가 정말 raw 단계의 API였다는 것입니다. 각 외부 API마다 사용하는 방식과 제공되는 문서가 다양한 형태를 띠고 있어 API 문서를 LLM이 사용할 수 있는 형태로 바꾸는 전처리 과정이 필요합니다.

문제는 이 전처리 과정이 생각보다 만만치 않습니다. API 문서에는 정말 다양한 정보를 담고 있고, 문맥에 따라 요구되는 설명도 다르기 때문입니다.  또한, 설명이 LLM에 잘 전달되기 위해선 prompting 과정도 고려되어야 하는데요. 뤼튼 AI Team에서는 이를 위한 추가 연구를 활발하게 진행하고 있습니다.

마지막으로 “나”에 대한 정보입니다. 아직 뤼튼 플러그인은 사용자의 채팅방 내 대화만을 활용하여 적합한 툴을 선택하고 있지만 향후엔 보다 사용자향 플러그인이 될 수 있도록 개발 중입니다.

가령 우리가 친구와 메신저를 통해 대화할 때, 이미 친구에 대한 맥락을 어느 정도 알기 때문에 구체적으로 말하지 않더라도 맥락을 파악할 수 있듯 뤼튼 플러그인 역시 사용자로부터 얻을 수 있는 정보를 탐지하고 사용자 향 데이터를 축적 및 제공하는 데 Data Team과 긴밀한 협업을 진행하고 있습니다.


뤼튼 검색 모드
또 다른 챌린지를 마주한 프로덕트로는 검색 모드가 있습니다. 뤼튼 서비스 내 검색 모드는 두 가지 모습으로 만나볼 수 있는데요.

채팅을 통해 등장하는 연관 링크와 채팅에서 토글 형태로 활성화되는 실시간 검색 모드 입니다.

뤼튼 연관 링크

뤼튼 실시간 검색 모드

뤼튼의 두 AI 검색은 서로 다른 목적이 있습니다. 연관 링크의 경우, 정보 검색을 시도할 때 가장 적합한 링크를 그대로 받아보고 싶다는 점에서 착안하여 링크 값을 그대로 전달해 주는 방식입니다. 반면, 검색 모드는 사용자가 explicit 하게 정보 검색의 의도를 나타낸 상황을 간주하여, 검색된 정보를 바탕으로 답변을 생성해 주는 것을 목표로 하고 있습니다.

뤼튼 팀은 실제 사용자가 검색하고자 하는 의도에 따라 제공되는 인터페이스가 달라야 한다는 점을 중요하게 생각하고 있기에 AI Team은 Product Manager, Product Designer 간 AI Agent가 가져다줄 수 있는 인터페이스에 대해 지속해서 협업해 오고 있습니다.

또한 뤼튼 AI 검색에서 사용자의 의도를 더 잘 파악하기 위해 여러 가지 시도를 하고 있습니다. 연관 링크를 제공해야 할 때를 완벽하게 구분하는 것과 검색 모드에 있어서 쿼리에 대한 결정 및 구체적인 검색 알고리즘 고도화 등 아직 해결해야 할 문제가 존재하기 때문입니다.


뤼튼 스튜디오/스토어
뤼튼 스튜디오/스토어는 사용자가 직접 툴 또는 챗봇을 만들고 공유할 수 있으며, 다른 사용자들이 만든 툴 또는 챗봇 역시 누구나 자유롭게 사용할 수 있는데요, 이 역시 AI Agent에 대한 고민이 녹아있는 제품입니다.

뤼튼 AI 스토어

뤼튼 AI 스튜디오

AI Team 관점에서 뤼튼 스튜디오는 사용자가 최소한의 노력으로 원하는 툴을 만들 수 있게끔 하는 요소를, 뤼튼 스토어는 만들어진 툴에 대한 사용자 선호도 및 사용 기록을 확인하는 요소로 바라보고 있습니다.

뤼튼은 수많은 Usecase를 User-centric하게 발굴하기 위한 플라이휠로서 스튜디오를 활용하고 있습니다. (이미 28,000개 이상의 툴과 챗봇들이 사용자를 통해 만들어졌습니다.) 뤼튼의 AI Agent가 여러 개의 플러그인을 사용할 수 있듯이, AI 스토어에 등록되어 있는 툴 역시 접근할 수 있도록 할 계획입니다.

Conclusion


GPT-4 Turbo가 나온 지 일주일도 안 되었을 때, 빌 게이츠는 Agent에 대해 이렇게 코멘트를 남겼습니다.


 

“기존 대부분의 AI 툴은 Bot입니다. 단일 웹사이트나 앱에서 연관된 정보를 추출하여 그대로 내뱉어 질문에 답변합니다. 하지만, 내가 말한 것의 맥락을 파악하고, 선호도를 기억하고, 다양한 앱을 사용해 업무를 수행할 수 있다면? 그것이 바로 Agent입니다.”
 

실제로 현재 뤼튼 AI Team은 AI Agent를 다음과 같이 보고 있습니다.

1. 나를 잘 알고 잘 이해하는 AI Agent
2. 사용자와 함께 만들어가는 AI Agent
3. 항상 자율적인 것이 아닌 사용자와의 상호작용을 중시하는 AI Agent


지금까지 뤼튼이 만들어온 AI Agent의 모습은 아직 3가지를 완벽하게 소화하고 있다고 말하기는 어렵습니다. 하지만, 뤼튼 플러그인과 AI 검색을 만드는 경험을 통해 “나”를 잘 알고 이해하는 것이 무엇보다 중요하다는 것을 깨달을 수 있었습니다. 뤼튼 스튜디오와 스토어를 통해 사용자와 함께 AI Agent를 만들어갈 수 있는 환경을 만들고 있기도 합니다.

그러고 보니, 앞서 AI Autonomous Agent에 대한 설명과 달리 뤼튼의 경험을 소개할 때는 AI Agent로 소개하고 있던 점 눈치채셨나요?

저희는 인공지능 모델이 정말 궁극적인 성능을 보이는 순간, AI Agent가 자율적으로 행동하는 것을 맡길 수 있다고 기대하고 있습니다. 다만, 지금은 AI Agent가 자율적인 행동을 하기 위해서 행동을 결정할 수 있는 지식과 행동 범위를 잡아줄 준비를 하고 있습니다. 그 과정을 밟아가는 와중, 최적의 사용자 경험을 제공하기 위한 영역 역시 함께 가져가야 하는 영역이라고 생각합니다.

다시 말해, 저희는 아직은 Agent에 end-to-end로 자율성을 부여하기보다 대체할 수 있는 영역부터 주는 것을 목표로 하는 동시에, 그 간극을 사용자와의 상호작용을 중시하여 해결하고자 합니다. 본 블로그 글에서는 소개하지 못했지만, 플러그인에서의 AI 파이프라인 내에서의 사용자 경험에 대한 회고 역시 뤼튼 AI Team이 AI Agent를 바라보는 시각 중 하나입니다.

AI 기반의 툴에서 AI Agent로 넘어가고 있는 이 시기에 뤼튼과 달려 나갈 멋진 분들을 찾고 있습니다. 읽으시면서 깊은 고민을 해보셨다면 저희와 함께 고민을 해결해 보시는 것은 어떨까요? 앞으로의 뤼튼 AI Agent에 대한 응원과 관심 부탁드리며, 다음 블로그에도 좋은 소식을 전달해 드리고자 노력하겠습니다. 


저작권은 뤼튼테크놀로지스에 있으며, 무단 배포를 금지합니다.