Vestmark의 AI 전략 및 Advisor Assistant
Vestmark은 에이전트 개념이 대중화되기 전부터 에이전트 기반 시스템을 구축해왔습니다. 대규모 언어 모델(LLM) 기술에 접근하게 되면서, “이 기술로 이전에는 할 수 없었던 무엇을 할 수 있는가?”라는 질문에 집중했습니다. 단순한 챗봇이나 요약 애플리케이션을 넘어, 고객의 일상적인 업무 중 비핵심적이지만 시간이 많이 소요되는 작업을 자동화하여 생산성을 극대화하는 것을 목표로 삼았습니다.
최근 출시된 Vestmark의 첫 AI 제품인 ‘Advisor Assistant’는 금융 자문가를 위한 도구입니다. 이 어시스턴트는 다음과 같은 에이전트 기능을 제공합니다.
-
제안서 자동 생성: 과거에는 많은 시간이 소요되었던 고객 제안서 작성을 자동화합니다.
-
고객 정보 업데이트 및 관리: 고객의 세부 정보와 정보를 자동으로 업데이트하고 관리합니다.
사용자 인터랙션 및 UX
Advisor Assistant는 초기에는 챗봇 형태로 제공되지만, 단순한 질의응답을 넘어 실제 작업을 수행하는 데 중점을 둡니다. 예를 들어, 금융 자문가는 어시스턴트에게 “스미스 가족을 위한 제안서를 작성해달라”고 요청할 수 있으며, 어시스턴트는 수백 개의 제안서를 생성하고 특정 기준에 따라 최적의 10개를 선택하여 제공할 수 있습니다. 이를 통해 자문가는 수동으로 제안서를 작성하는 데 드는 시간을 크게 절약할 수 있습니다.
멀티 에이전트 아키텍처
Vestmark은 에이전트 시스템을 구축하면서 다음과 같은 문제에 직면했습니다.
-
도구 과부하(Pollution): 단일 에이전트에 너무 많은 도구가 주어질 경우, 올바른 도구를 선택하는 데 어려움을 겪습니다.
-
컨텍스트 로트(Context Rot): 컨텍스트 윈도우가 커지더라도 특정 시점 이후에는 컨텍스트가 부패하여 정확도가 떨어집니다.
이러한 문제를 해결하기 위해 Vestmark은 A2A(Agent-to-Agent) 통신 기반의 멀티 에이전트 아키텍처를 구축했습니다. 이는 주 에이전트가 특정 태스크를 식별한 후, 해당 태스크에 필요한 도구만 갖춘 서브 에이전트에게 작업을 위임하는 방식입니다. 이는 과거 Alexa의 인텐트 엔진이 요청의 의도를 파악하여 적절한 스킬 세트로 전달했던 방식과 유사하게, 에이전트 간의 효율적인 협업을 가능하게 합니다.
Ruby AI 개발 생태계
AI 개발 분야에서 Python(Langchain, Langraph)이 선두를 달리고 있지만, Ruby 또한 강력한 AI 생태계를 구축하고 있습니다. 초기에는 Langraph와 같은 다른 언어 기반 도구를 사용하면서 Ruby 코드와의 연동 및 자격 증명 관리의 복잡성을 경험했습니다. 그러나 Ruby 커뮤니티 내에서 다음과 같은 주요 Gem들이 등장하며 Ruby 개발자들에게 AI 솔루션 구축의 길을 열어주었습니다.
-
Ruby LLM: Carmine Palino 등이 기여한 이 Gem은 다양한 LLM 제공자(OpenAI spec, Heroku AI, Bedrock 등)를 지원하며, Ruby 메서드를 도구로 쉽게 플러그인할 수 있습니다. Rails 앱에 통합하여 채팅 인터페이스를 빠르게 생성하는 기능도 제공합니다.
-
Active Agents: Justin Bowen 등이 개발한 이 Gem은 Rails 앱 개발 방식과 유사하게 에이전트를 정의할 수 있어 Rails 개발자에게 매우 친숙합니다.
Ruby는 상태 머신 및 오케스트레이션 시스템에 매우 강력한 언어이며, 유연하고 가독성이 높아 AI 애플리케이션 개발에 적합합니다. Ruby AI 생태계는 빠르게 성장하고 있으며, 오픈 소스 기여가 활발하게 이루어지고 있습니다.
코드 생성 AI 활용
Vestmark은 Cloud Code, Cursor, Codex, ChatGPT 등 다양한 AI 코딩 어시스턴트를 활용하여 개발 생산성을 높이고 있습니다. Ruby 코드 생성 능력은 뛰어나지만, Rails의 빠른 업데이트 주기(예: Rails 8의 내장 인증 기능)로 인해 학습 데이터가 구식인 경우 Devise와 같은 이전 방식을 제안하는 경향이 있습니다. 이를 해결하기 위해 개발자들은 다음과 같은 방법을 사용합니다.
-
명확한 컨텍스트 제공: Cloud MD 파일이나 에이전트용 문서를 통해 필요한 컨텍스트와 스펙을 명확히 제공합니다.
-
계획 단계의 중요성: 코딩 시작 전 AI 어시스턴트와 함께 계획을 세우는 것이 ‘환각(hallucination)’ 현상을 줄이고 원하는 결과를 얻는 데 중요합니다.
Ruby는 가독성이 뛰어나기 때문에 AI가 생성한 방대한 코드라도 개발자가 쉽게 이해하고 수정할 수 있다는 장점이 있습니다. 또한, AI 어시스턴트는 Vestmark의 20년 이상 된 복잡한 Java 레거시 코드베이스를 이해하고 새로운 개발자의 온보딩 시간을 단축하는 데 큰 도움을 줍니다. 이는 주니어 개발자들이 팀에 빠르게 적응하고 생산적인 기여를 할 수 있는 기회를 제공합니다.