brunch

AI 에이전트의 아키텍처(3) - 오케스트레이션

LLM 간의 상호작용으로 더욱 강력해지는 AI 에이전트

by 알바트로스

저는 알쓸신잡이나 지대넓얕과 같은 패널 토크를 좋아합니다. 서로 각기 다른 분야의 전문가들이 한자리에 모여 대화를 나누면서 과학과 철학 그리고 역사 등 얼핏 봐서는 접점이 없어 보이는 분야에서 생각지도 못한 인사이트를 도출해 내는 과정을 통해 식견이 넓어지는 경험을 할 수 있기 때문입니다.


알쓸신잡

이처럼 인간의 집단지성은 개개인의 상상력을 넘어서는 강력한 힘을 발휘합니다. 집단이 모여 한 가지 목표를 향해 노력하고 협력할 때, 그들이 얻는 시너지 효과는 각 개인이 도달하기 힘든 수준으로 향상됩니다. 집단의 다양성과 경험이 모여 문제를 다양한 시각에서 바라보고 해결하는 능력을 강화하지요.


이번 시간에 살펴볼 오케스트레이션(Orchestration)이라는 개념은 인간뿐 아니라 LLM도 마찬가지로 집단지성의 힘을 활용할 수 있는 가능성을 시사합니다. 서로 각기 다른 분야의 전문지식으로 파인튜닝(fine-tuning) 된 LLM들이 서로 토론하며 하나의 공통된 결론을 도출해 낼 수 있게 된다면, 우리가 챗GPT만을 통해서 얻는 답변보다 훨씬 더 깊은 통찰력 있는 의견을 얻을 수 있지 않을까요?


얼마 전 구글에서 LLM 개발자들을 대상으로 개최한 Cloud Technical Series 웨비나에서는 서로 상호작용하는 LLM 오케스트레이션을 활용한 아키텍처를 제시했습니다. 이들은 순차적으로 작동하기도 하고, 여러 개의 독립적인 LLM으로 작동하기도 합니다. 예를 들어 A의 답변을 받아 B가 새로운 답변을 생성해 내고, 그것을 바탕으로 또다시 C를 생성해 내는가 하면, A, B, C가 서로 각기 다른 분야의 의견을 바탕으로 토론을 하여 하나의 결론을 도출해내기도 하지요.


Multi LLM Agents (출처 : Autogen)


지난 시간까지 우리는 최첨단 LLM이 AI 에이전트의 두뇌 역할을, 그리고 다양한 함수와 API를 활용한 도구들이 손과 발의 역할을 하면서 점차 인간의 개입 없이 스스로 판단을 내리고 완전히 자동화된 시스템으로 진화하고 있다는 사실을 배웠습니다. 그런데 여기까지는 사실 그다지 새로울 것이 없다고 느끼시는 분들도 많을 것이라고 생각합니다. 개인적으로 AI 에이전트의 진가는 이번 시간에 살펴볼 오케스트레이션 계층에 있다고 생각합니다.


오케스트레이션(Orchestration)이란?


오케스트레이션의 사전적 의미를 살펴보면 IT 프로젝트에서 여러 개의 시스템, 애플리케이션 혹은 서비스를 보다 작은 단위로 관리하고, 연결 및 조율하여 최종적으로 크기가 큰 프로세스를 실행하는 방법론을 뜻합니다.


구글의 Agent 백서에 등장하는 오케스트레이션 계층은 AI 에이전트의 두뇌와도 같은 최첨단 LLM이 사용자의 요청을 이해하고, 이를 기반으로 어떤 작업을 해야 할지 계획을 세우고 실행하는 중요한 역할을 합니다. 사용자가 요청하는 작업을 하나하나 처리하며, 그 결과를 분석하고 후속 작업을 결정하는 방식으로, 오케스트레이션 계층은 에이전트가 자율적으로 그리고 효율적으로 작동할 수 있게 합니다.


출처 : Agents by Google


오케스트레이션 계층이 작동하는 과정은 매우 체계적입니다. 우선, 사용자가 입력한 정보를 받아들인 후 이를 분석하여 핵심적인 작업을 추출합니다. 예를 들어, 사용자가 "다음 주 여행을 계획하는데, 출발지는 어디가 좋고, 숙소는 어디에 예약해야 하나요?"라고 질문하면, 이 질문에서 두 가지 주요 작업, 즉 '출발지 선택'과 '숙소 예약'을 분리해 냅니다. 이를 바탕으로 에이전트는 각 작업을 순차적으로 처리할 계획을 세웁니다.


다음 단계에서는, 오케스트레이션 계층이 추론과 계획을 수립합니다. 이때, Chain-of-Thought(CoT)이나 Tree-of-Thought(ToT) 같은 프레임워크가 활용됩니다. 이러한 프레임워크는 여러 단계를 거쳐 논리적인 결정을 내리고, 작업의 우선순위를 정하며 필요한 도구를 선택하는 데 도움을 줍니다. 계획이 수립되면, 이제 외부 도구를 활용해 실제로 작업을 실행합니다. 예를 들어, 출발지와 여행지에 대한 정보를 찾기 위해 Google Search API를 호출하고, 숙소 예약을 위해 Booking API를 사용할 수 있습니다. 이 과정에서 오케스트레이션 계층은 각 도구를 적절히 조율하며 결과를 얻습니다.


작업이 완료된 후에는 결과를 평가하고, 그 결과를 바탕으로 후속 작업을 조정합니다. 이때 중요한 것은 "인지 루프(Cognitive Loop)"라는 반복적 과정입니다. 오케스트레이션 계층은 매번 상태를 업데이트하고, 이전 작업의 결과를 반영하여 지속적으로 작업 계획을 수정합니다. 이를 통해 에이전트는 대화의 흐름을 일관되게 유지할 수 있습니다.


인지 아키텍처는 이러한 과정을 더욱 효과적으로 이끌어내는 구조를 제공합니다. ReAct 프레임워크는 추론과 행동을 결합해 최적의 결정을 내리고, CoT와 ToT 프레임워크는 복잡한 문제를 해결하는 데 도움을 줍니다. 예를 들어, ReAct 프레임워크를 사용하면, 에이전트는 사용자가 "다음 주 여행을 어디로 가야 할까요?"라는 질문을 받았을 때, 먼저 질문을 분석하고, 그에 맞는 작업을 설정한 뒤, Google Search API를 통해 인기 있는 여행지를 확인하고, 후속 작업으로 숙소 예약을 진행하는 방식으로 완벽한 답변을 도출할 수 있습니다.



결론


이처럼 오케스트레이션 계층은 AI 에이전트가 단순히 주어진 작업을 수행하는 것에 그치지 않고, 다양한 지식과 도구를 활용해 더욱 깊이 있는 결과를 이끌어낼 수 있게 하는 핵심적인 역할을 합니다. 이는 마치 여러 전문가들이 각자의 영역에서 지식을 모아 서로 의견을 교환하고, 그 결과로 최적의 결론을 도출하는 과정과 매우 유사합니다.


이렇게 집단 지성의 힘을 AI와 결합시키는 오케스트레이션 기술은, 우리가 앞으로 AI와 함께 일하는 방식에 혁신적인 변화를 가져올 것입니다. AI는 이제 단순히 도구를 넘어서, 우리가 해결해야 할 문제에 대해 더욱 전략적이고 심층적인 해결책을 제시할 수 있는 파트너가 될 것입니다. 이는 우리가 상상할 수 있는 미래를 넘어, 더욱 풍부한 인사이트와 창의적 솔루션을 제공하는 중요한 열쇠가 될 것입니다. 다음시간에는 Google Technical Series 웨비나를 리뷰하며 구체적으로 멀티 LLM Agent를 구현하기 위한 개발 프레임워크에 대해 소개하는 시간을 가져보도록 하겠습니다.





















keyword
이전 17화AI 에이전트의 아키텍처(2) - 도구(Tools)